I'm working on several projects where we use custom node types (because they're easy to add fields to, edit, show in views, etc), but there are certain node types I wouldn't want to expose at all in the form of pages, i.e. purely internal (maybe they can be viewed in blocks, at most).

What's the best way to accomplish this?

I am using Drupal 7.

  • 4
    Rabbit Hole is one method...
    – Clive
    Commented Feb 7, 2013 at 14:29
  • First time I've heard of Rabbit Hole, thanks Clive... Rabbit Hole works perfectly for a lot of my usecases, is there anything else? Commented Feb 7, 2013 at 14:42
  • 1
    If @Clive's suggestion doesn't do what you want, you can always create your own node--TYPE.tpl.php and switch on $type and $page inside it to not display the node contents when/if people surf over to node/# on your site.
    – Jimajamma
    Commented Feb 7, 2013 at 14:42
  • That's also valid I guess, but a bit messier. Commented Feb 7, 2013 at 14:43


Browse other questions tagged or ask your own question.