What is this?

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.

Options

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.

Supported entities

Version Supported entities
8.x-1.x (stable, security fixes only) Nodes, Taxonomy terms, Users, Media entities, Commerce products, Groups, Files, Paragraph Library items
2.0.x (alpha, future version) All content entities 🥳

Additions

There is support for tokens when you are using the redirect option. However, it's recommended to install the Token module, which will provide you with a table of the available tokens.

Initial module development was sponsored by Odd Hill.

Rabbit Hole 2.0.0 development was sponsored by Evolving Web and DevBranch.

Additional modules

  • Rabbit hole href link alter, that rewrites the canonical link href directly to the redirect target instead of the entity to avoid the redirect.
Supporting organizations: 
8.x-1.x maintenance and 2.0.x development
Sponsoring 8.x-1.x maintenance and 2.0.x development

Project information

Releases