from the book "Art of SEO":

301s carry cross-domain functionality, meaning you can redirect a page at Domain1.com to Domain2.com and carry over those search engine metrics. This is not the case with the canonical URL tag, which operates exclusively on a single root domain (it will carry over across subfolders and subdomains).

What does the 1st line mean? Say if I move domains, I can 301 the old domain to the new and have the same search engine ranking?

I don't really get how the canonical tag fits into the picture. Can someone explain?

  • Short background to the second part: Originally, the rel=canonical link element was not valid cross-domain, which is probably why the book says "exclusively on a single root domain"). This is no longer the case ( googlewebmastercentral.blogspot.com/2009/12/… ). Commented Sep 20, 2010 at 9:14

2 Answers 2


301 redirects and canonical links are two very different things.

A 301 redirect tells the search engine that the page has permanently moved to a new URL and to forward all links, etc, to the new URL. Basically it's a change of address card for web pages. If you change the URL of a page, including the domain name, you would need to do a 301 redirect so the search engines, and users, would find the new page and associate it with the old one.

A canonical link is when you have one page that can be pulled up using more then one URL. For example http://www.example.com/index.php and http://www.example.com/index.php?ref=jc pull up the exact same content. To the search engines these are two different pages and thus have duplicate content. This usually results in one of the pages being dropped from the search engine's index. Unfortunately you cannot control which one they drop unless you use canonical links. They tell the search engines which page is the "main page" and to use that one in the case of duplication.


The canonical tag is most useful when it's technically easier to display content instead of redirecting. Take this site as an example. The question number (3091) is the only part which determines which question to display.

When the page loads the page content is fetched based on that ID. If it turns out the "slug" (seo-301...) is wrong, you already have the content so may as well display it, instead of delaying the user by redirecting and fetching content all over again. A canonical tag is used to give the correct URL for search engines.

A 301 redirect is mainly used when the URL has changed significantly, for example a page has moved to a different domain or completely different URL structure (best avoided if possible).

301s do carry PageRank through to the destination*, so if A links to B and B redirects to C, the link on A is essentially treated as a link to C.

* I do believe there is some "leakage" of PageRank, but in general it won't affect search results.

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.