On Feb. 12 2009 Google announced the support of the new Canonical-Tag. Basically you can now specify the preferred URL you want Google to associate with a specific webpage.
<link rel=”canonical” href=”http://www.example.com/url/here” />
So cool.
After implementing it on various properties and checking the use of it on other websites there are a few findings:
- It’s immense powerful!
- For Google it’s basically a HTTP 301 permanent redirect.
- Without the actual redirect.
- It’s easy to implement.
- No design or function change for human users.
After implementation you see first effects about 10 to 14 days later, depending on your indexing speed. If you have a grown, messy site it will give you a big plus SEO wise.
Now the downside:
powerful + easy + lack of feedback = source of possible devastating errors
The minor errors i have seen:
Wrong markup
- <link rel=”canonical” content=”http://www.example.org/url/here”>
As SEOs are used to deal with meta tags, we write a lot of stuff in meta-tags (robots, description, …). The canonical element is not an meta-tag, it’s a link-tag (like external CSS or RSS referrers).
The consequence is quite harmless: you implemented something without effect. It only becomes an issue if your implement logic on top of it, or look for a reaction and see none. A popular wordpress theme made this mistake, and i got caught up in a serious twitterfigth by pointing it - impolite (sorry) - out.
Typo that leads to an HTTP 404
- <link rel=”canonical” href=”http://www.example.com/urlh/ere” />
The typo (/urlh/ere instead of /url/here) leads to an error (most common HTTP 404 file not found) page.
Google follows this lead, sees that something is wrong, keeps on continuing his work without any consequences. Again not a biggy until you implement something on top of it or wait for a reaction.
Major errors
Typo that leads to an HTTP 200 or HTTP 301 / HTTP 302
- <link rel=”canonical” href=”http://www.example.com/url/hier” />
If /url/hier exists (HTTP 200) or instead of an HTTP 404 triggers a redirect to somewhere else (i.e. the startpage) you communicated to Google that the page the canonical tag is on placed on is not valid, and another page is the right one. Google does not hesitate to kick the original URL out of the index, and goes to the ‘canonical’ one instead.
If the error is systematically (on a lot of pages) you will butcher your search engine traffic in no time (10 days). The shit thing is: mistakes happen, and especially if you don’t see any real time feedback.
Also if you update your URL structure or your redirect logic, but forget to update your canonical you will run into major issues.
Conclusion: The canonical tag is a present from god Google. Due to the lack of direct feedback also a source of possible devasting errors.
Help: A simple JS Greasemonkey script which shows the canonical tag in the upper right corner (if it is sepcified).