In Joomla 6.2.0, the Robots metadata setting of a Contact Category (com_contact) is ignored when displaying that category through a List Contacts in a Category menu item.
However, setting Robots to noindex, follow on the menu item affects both the category page and individual contact pages reached through that menu item, unless overridden by contact-specific metadata.
This makes it difficult to exclude a contact category listing from search engine indexing while keeping individual contacts indexable.
Robots setting at Use Global.Robots to noindex, follow.noindex, follow directive is not applied.Robots setting to noindex, follow.Both pages now receive noindex, follow, unless the individual contact explicitly overrides the inherited setting.
6.2
The Robots metadata configured directly on a Contact Category should apply to that category's frontend page.
It should be possible to set noindex, follow for the category listing without unintentionally affecting individual contact pages.
Ideally, metadata precedence should be consistent with the existing behavior of com_content/category, where category-specific metadata is applied to the category document.
Robots = noindex, follow configured directly on the Contact Category is ignored.Robots = noindex, follow configured on the category menu item affects both the category page and individual contact pages unless explicitly overridden.com_content) but not contact categories (com_contact).No response
The behavior appears to originate in the Joomla core view implementations.
1. Shared CategoryView
libraries/src/MVC/View/CategoryView.php
[Source, lines 295–318](https://github.com/joomla/joomla-cms/blob/6.2.0/libraries/src/MVC/View/CategoryView.php#L295-L318)
The prepareDocument() method reads robots from $this->params but does not apply the category's own metadata.
2. Contact Category view
components/com_contact/src/View/Category/HtmlView.php
[Source, lines 96–104](https://github.com/joomla/joomla-cms/blob/6.2.0/components/com_contact/src/View/Category/HtmlView.php#L96-L104)
The Contact Category view calls the parent prepareDocument() method without adding equivalent category metadata handling.
3. Article Category view
components/com_content/src/View/Category/HtmlView.php
[Source, lines 182–202](https://github.com/joomla/joomla-cms/blob/6.2.0/components/com_content/src/View/Category/HtmlView.php#L182-L202)
Unlike com_contact, the Article Category view explicitly reads $this->category->metadata and applies its values to the document.
4. Individual Contact view
components/com_contact/src/View/Contact/HtmlView.php
[Source, lines 465–481](https://github.com/joomla/joomla-cms/blob/6.2.0/components/com_contact/src/View/Contact/HtmlView.php#L465-L481)
The individual Contact view applies the inherited robots parameter before applying contact-specific metadata. This explains why contacts without an explicit override can inherit the menu item's noindex.
The issue was observed in a multilingual Joomla 6.2.0 installation. The relevant metadata behavior appears to originate in Joomla core rather than the site's template.
This inconsistency can have unintended SEO consequences for websites using com_contact for public author profiles, staff directories, or other indexable contact pages.
An administrator may reasonably expect the Contact Category's Robots setting to control the category listing, as it does for Article Categories.
The current behavior is not obvious from the Joomla administration interface.
It would be useful to make category metadata handling consistent between com_contact/category and com_content/category, while preserving the ability for individual contacts to specify their own metadata.
| Labels |
Added:
No Code Attached Yet
bug
|
||
Thanks @Devansh-dvd for investigating the root cause and preparing a more general fix, along with the before-and-after screenshots!
I appreciate your time and contribution. It's good to see this issue being addressed across different Joomla versions.
Thanks again!
I have investigated the root cause and submitted a pull request with a central fix in
CategoryView.php:#48729
Summary of Fix
CategoryView::prepareDocument()only read metadata from$this->params(menu item) and never inspected$this->category->metadataor$this->category->metadesc.By updating the base
CategoryView.phpclass,com_contact,com_newsfeeds, and all third-party components extending it will now properly respect category metadata without duplicated code.Verification Screenshots
Before Fix (Category set to
noindex, followis ignored):After Fix (Category
noindex, followtag is rendered):