How do I hide nodes that shouldn't be directly accessed from users and search engines?
The Rabbit Hole module provides this feature.


  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.