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.
This works by providing multiple options to control what should happen when the entity is being viewed at its own page. You have the ability to
Deliver an access denied page.
Deliver a page not found page.
Issue a page redirect to any path or external url.
Or simply display the entity (regular behavior).
This is configurable per bundle and per entity. There is also a permission that lets certain roles override Rabbit Hole completely.