Should I use a Rel=Canonical or 301 Redirect?

There seems to be a lot of confusion in the world of SEO today, especially in clients minds and with their technical teams, about when to use a 301 redirect and when to use the rel=canonical tag. My goal with today’s post is to explain the differences and talk through some of the nuances to help you think through which one pertains to your situation. Every situation is different, so take the time to read and figure out which is better for you.

Rel=Canonical Tag

The rel=canonical tag goes in the <head> section of your webpage. It can be used in any of the following ways:

  1. To refer back to itself to deal with duplicate content issues;
  2. To reference a page on another domain that is the original source of the content.

For example, if you have a website that can have comments (such as this one) and people may use comment permalinks (such as, then you want to use the canonical tag to make sure all of the link equity is passed to the main URL (in this case, and not split between the main and the comment URL.

This graphic from SEOmoz illustrates it well:

Or, say you syndicate content amongst your websites. Maybe you’re a big media agency and different articles would benefit people on both domains, but you do not want them to be flipping back and forth between domains. This is a great case where a cross-domain canonical can be used to specify the original URL. If you do not use a canonical here, your rankings on both sites could suffer because of duplicate content.

If is the original source, then put a canonical tag on to point back. <link rel="canonical" href="" />

*Remember* The rel=canonical is a “suggestion” to the search engines. Google says:

This new option lets site owners suggest the version of a page that Google should treat as canonical. Google will take this into account, in conjunction with other signals, when determining which URL sets contain identical content, and calculating the most relevant of these pages to display in search results. source

They also said:

While the rel=”canonical” link element is seen as a hint and not an absolute directive, we do try to follow it where possible. source

301 Redirect

301 redirects are implemented when the move of content is permanent. This can occur when you:

  1. Move domains.
  2. Update content to a new URL on your same domain, which is a better optimized page.

When you move domains, for SEO or branding reasons, you want to redirect pages on the old domain to RELEVANT pages on the new domain. Do NOT redirect all pages on the old domain to the homepage of the new domain.

Redirecting "" to ""

Secondarily, if you are updating content in an article on your same domain, and the article is going to be different enough from the old, I would recommend a 301 redirect. The reasons I say this are:

  1. You will confuse your users less by not having 2 articles that are close to the same on the same domain;
  2. In a post-Panda world, less is more. A cleaner site is safer; and
  3. You now have the chance to better optimize your new page.

To 301 or use a rel=canonical?

Dilemmas, dilemmas.

Some people would say to use a rel=canonical in the above case, and sometimes I am inclined to agree for the following reasons:
  1. Especially in WordPress, if you 301 redirect your old article, you lose any comments that were on the original; and
  2. If you 301 redirect, you lose the social share counts on your article. This social proof can mean a lot to users.
If you do not have the above 2 considerations, or do not care about them, use a 301 redirect. Otherwise you can use a rel=canonical to the new article. If you are looking for a great step-by-step for updating content without a 301 redirect, here are Joost’s wise words:


For Google’s official directives regarding rel=canonical, check out this page on their Webmaster Support area.

What edge cases have you come across where a 301 or rel=canonical was not straight forward? I’d love to discuss through these with people.

7 thoughts on “Should I use a Rel=Canonical or 301 Redirect?

  1. Pingback: SEO Recap: Found on Twitter 12/2/11 | Search Engine Journal

  2. Hi,
    You article is quite interesting but I think there is a mistake in the way you consider 301 and rel canonical consequences on the crawl of search engines robots.

    In the case of canonical, the page that refers to the original page will be crawled and the links contained in it as well, so that search engines can discover other new pages.

    In the case of 301 redirect, the page that redirect to the landing page won’t be analyzed at all. So the links inside this page won’t be crawled.

    Am I wrong?

    1. Hey Mike –

      You’re correct, I think. Did I say otherwise? If I did it was in error, but I cannot find it in the article.

      If an article is 301 redirected, the page will not be crawled other than to redirect to the new page. If a canonical exists, I *think* the page will still be crawled, and especially will be if Google ignores the canonical.

  3. Hi John, thanks for this post.

    I’ve been having issues with this; not getting a straight answer from any programmer. Can you shed some light?

    I started a personal blog ( few years ago, including my new car review posts. Several reviews now rank well, good keywords, comments, Facebook ‘likes,’ etc.

    Now I’ve started a new site devoted strictly to automobiles ( including all the car content from my blog.

    A programmer basically duplicated my entire blog into Traction (new site with new identiy, permalinks, etc.). I deleted all the personal blog content from Traction, keeping only the car stuff.

    So, content is all copied over but I’ve lost all comments, ‘likes,’ etc. Plus, I have duplicate content…I’d like those ppl landing on blog to land on Traction instead. (less concerned with blog; it’s just personal posts now).

    What is the best approach here? I use Yoast SEO Plugin.

    Pls help! Thx

  4. Pingback: How to Noindex and Organize Categories and Tags in Wordpress | John Doherty

  5. Do NOT redirect all pages on the old domain to the homepage of the new domain.

    Is there any problem with this? Our site does not exist anymore and we want to redirect (301) all links to our site to the site of another company. Because the content there is very different, there is no mapping of old to new URLs possible. So we just redirect to their hompage. Will there be any penalty to the new site (because many links forward to the same page?)

Comments are closed.