How to hide all nodes of a particular content type? I have a site that used to run polls, but has stopped doing so.  I'd like to keep the poll nodes in the database, just in case things change in the future, but otherwise hide the nodes.  I guess this means returning a 403 or 404 if someone or a search bot requests the page, so that local users will be unable to see them and bots will eventually remove them from their indices.
I've disabled the poll module and disabled all the user permissions having to do with polls, so no new polls will get created.  However, if someone requests the page via its URL, they get a normally-themed page with the poll's title (but no other content).  I tried marking one of the polls as &quot;not published&quot;, which comes pretty close to what I want: a normally-themed 403/access denied page.  This would require my hacking the &quot;published&quot; state of all the poll nodes to &quot;false&quot;, which I guess is better than nothing, but I was hoping for a hook function that would produce the same result, but without messing around in the database.  Any advice out there?  Thanks!
Try the Rabbit Hole module:

Rabbit Hole is a module that adds the ability to control what should happen when an entity is being viewed at its own page.
Perhaps you have a content type that never should be displayed on its own page, like an image content type that's displayed in a carousel. Rabbit Hole can prevent this node from being accessible on its own page, through node/xxx.