Joomla adds canonical tag to almost all pages that refers to themselves, so they will not be indexable (I checked URLs by Doctor SEO extension in FF) and they are not shown in google search result (i tried site:Mysite.com in google and i couldn't find that URLs, and Google webmaster tools after 1 months reports: 34 URLs submitted, 15 URLs indexed!)

For example my URL is: http://cactusict.com/ویپ-voip.html

and Joomla adds: <link href="/ویپ-voip.html" rel="canonical"/>

I used UTF-8 characters in my URLs, and for some URLs Joomla converts them to HTML characters in canonical tag.

I'm really confused! I tried SEF404SH component, the result was same!

I should be worry about Doctor SEO extension warning or not? if no, why my pages is not shown in Google result?

I have not multiple articles, so why Canonical tags are shown?

How can i remove canonical tags in Joomla?

4 Answers 4



  • One option is to prevent Joomla from creating canonical URL's, by creating an override for the file /plugins/system/sef/sef.php on line 51 (better no canonical then an incorrect one)

  • If it just concerns one or two pages on the whole site, you could consider using NoNumber's ReReplacer plugin to set the correct tag

  • Install a plugin or extension. The major SEF extensions all set a canonical URL, but recently a really small plugin has been publised which seems to do just what we need here, the Canonical plugin by Styleware

Ref: joomla-seo.net/Blog/joomla-3-and-canonical-url

Note: Right now you can't override a plugin that has no tmpl folder. So for the first option, you need to change the core file which is not recommended. Try second or third option.


This is to clear any misconception about having a self-referenced Canonical Link Element, as using one is not an issue, and how could it be - to say that the page you are viewing at this url is actually the one you mean to display (??)

Google is perfectly fine with this. As far as I know, it only Bing that has a recommendation to avoid using self-referencing canonical urls, but even if it exists it won't make the page not indexable.

Canonical URLs is not the reason that some of your pages have not been indexed by Google. If that was true, then none of your pages should have been indexed.

Google will not guarantee that will index all the pages of a website in a given time period.

This might be of help about Canonical Links:
Matt Cutts of Google introduces the canonical link element.


The solution that worked for me is the same as Robert Went has on his blog. Here it his:

$doc = JFactory::getDocument();
foreach($doc->_links as $k => $array){
  if($array['relation'] == 'canonical'){

For a more recent answer, I recently came across an issue similar to this. I was finding that the canonical links were refering the wrong site URL (because I initially had a development site that I cloned to be a live site on a new URL). The problem is the canonical links are not relative in Joomla, so after cloning the site the domain was incorrect.

After trawling through the MySQL database, I found that the canonical setting is defined within Plugins > System - SEF. Inside that plugin config you'll see a setting for Site Domain. If you leave this blank, it will disable the canonical tag and remove it from your articles. Alternatively, if you complete it with the correct base URL for your site and it should return the correct canonical URLs for search engines.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.