NodeSymlinks (Drupal module)

NodeSymlinks allows you to display the same content to users at multiple locations in the Drupal menu system with unique URL path, unique navigation breadcrumb and without the SEO penalty that usually occurs with multiple copies of the same content. This is useful when you want to have the same page reachable though multiple menu items, each with its own URL, menu trail and breadcrumb path.

  • Each NodeSymlink has a unique breadcrumb generated from menu which is currently in use.
  • Each NodeSymlink has a unique menu trail.
  • Each NodeSymlink has an automatically created URL alias.
  • All duplicate content paths are sanitized, meaning that duplicate node pages are marked with "robots noindex" metatags in the head of the node's rendered html to prevent them from being indexed by search engines.

The goal

The goal of the NodeSymlinks module is to be a "proof of concept" that different unique paths to the same content isn't necessarily bad in terms of SEO if properly handled.


  • Better UI, Ajax/Ahah etc Since Beta1
  • Some admin settings (i.e. how to generate breadcrumb, …) Since Beta1
  • Advanced options for each Symlink (custom alias, …)


You can add more than one menu item per node (but with the same URL & same breadcrumb) with this module:

You can hide whole menu settings fieldset for certain node types using this modules:

Experimental support of SubmenuTree

SubmenuTree module allows you to list duplicated content in SubmenuTree pages and blocks. (A patch to SubmenuTree must be applied to get it working together. See Issue #361136.)

Warning for those who use first development versions (prior Dev 2009/09/11) of this module: There are two changes in database structure (module name in menu table changed from "symlinks" to "nodesymlinks" and newly created backup table which store duplicate links). Because of these changes in database, links created with older development versions (prior 2009/09/11) need to be manualy converted. Because of small usage of this module in the development phase (usage < 10) I don't support automated upgrade path.