Joomla Hierarchy

In the Joomla CMS, there are two types of URL hierarchy: menu hierarchy and component hierarchy.

Menu hierarchy is created when you set parent and child menu items.

Component hierarchy is created when a component item is assigned child items. The most obvious example of this is the Joomla core content component's categories and articles. In the frontend, articles are displayed as child items of the category.

Canonical Passed to Child

In this plugin, you have the option of creating canonical tags on menu items. This was created for the purpose of serving canonical tags on static pages. The growth of drag and drop page builders like SP Page Builder, Quix, Gridbox, etc. is one of the main motivators for menu item canonicals.

If you set the custom canonical tag for a menu item that canonical link will be placed everywhere that menu item is displayed. This means that the setting the canonical for a Category Blog menu item view will cause the canonical to be placed not only on the blog page but also on the articles in that category!

Example

Let's pretend your Joomla website has the following menu items, content category, and articles.

Menu

  • Home - canonical URL: /home
  • About - canonical URL: /about
    • Team - No canonical URL
    • History - canonical URL: /about/history
  • Blog (Category: Blog) - canonical URL: /blog
  • Contact - canonical URL: /contact

Other than the Blog page all pages will be considered static and component childless.

Content

  • Blog (Category) - canonical URL: /blog
    • Our Summer Projects (Article) - canonical URL: /blog/our-summer-projects
    • Understanding Canonical Tags (Article) - canonical URL: /blog/understanding-canonical-tags
    • SEO for Joomla (Article) - No canonical URL

Given the above menu and content items, the following statements will be true.

  1. The Home canonical tag will be /home
  2. Team will not have a canonical tag served. Parent menu item canonical tags are not passed to child menu items.
  3. The History canonical tag will be /home
  4. The Blog canonical tag will be /blog
  5. The blog article Our Summer Projects canonical tag will be /blog/our-summer-projects
  6. The blog article SEO for Joomla canonical tag will be /blog

Why is the SEO for Joomla canonical tag wrong? The reason is that it is displayed under the Blog menu item. Because no other canonical tag is found the menu item canonical tag is used.

Conclusion

Because, of this I recommend you never use the menu item canonical tag unless the menu item is for a static childless item. Unless, of course, you don't want any of the child items to be indexed. In that case please use the menu item canonical tag!