Google and the Canonical Link Rel

By  on  

Google has introduced a link tag rel value of canonical which is used for defining the value of the page that Google should use. Why? Lets say you have an eCommerce site and one of the product URLs is:

http://yoursite.com/product.php?p=david+walsh+blog+book

Imagine now that you can make a slight customization to the product that changes the URL to:

http://yoursite.com/product.php?p=david+walsh+blog+book&color=red

Uh oh -- Google sees duplicate content! The code shows essentially the same page so Google thinks you're pulling gangsta stuff. Now you can tell Google what URL to use for the current page to avoid duplicate content penalization.

The XHTML

<link rel="canonical" href="http://yoursite.com/product.php?p=david+walsh+blog+book" />

Don't let your website get penalized by Google; use this link/rel tag combination for your highly variable pages.

Recent Features

  • By
    5 HTML5 APIs You Didn&#8217;t Know Existed

    When you say or read "HTML5", you half expect exotic dancers and unicorns to walk into the room to the tune of "I'm Sexy and I Know It."  Can you blame us though?  We watched the fundamental APIs stagnate for so long that a basic feature...

  • By
    fetch API

    One of the worst kept secrets about AJAX on the web is that the underlying API for it, XMLHttpRequest, wasn't really made for what we've been using it for.  We've done well to create elegant APIs around XHR but we know we can do better.  Our effort to...

Incredible Demos

  • By
    Multiple Background CSS Animations

    CSS background animation has been a hot topic for a long time, mostly because they look pretty sweet and don't require additional elements.  I was recently asked if it was possible to have multiple background animations on a given element and the answer is yes...with...

  • By
    MooTools onLoad SmoothScrolling

    SmoothScroll is a fantastic MooTools plugin but smooth scrolling only occurs when the anchor is on the same page. Making SmoothScroll work across pages is as easy as a few extra line of MooTools and a querystring variable. The MooTools / PHP Of course, this is a...

Discussion

  1. Note that the All-in-one SEO WP plugin does this for you. Good to know should you bloggers be worried.

  2. I think the article could have given a bit more info on canonical urls…

  3. @Adriaan: Thank you for your comment. I could have but my fear is spending a ton of time on an explanation when 99% of people would prefer a brief explanation with a sample problem and solution like I provided. I appreciate your honesty!

  4. OK, I had to go to Google to find out where in the document this LINK goes… But this is good info, thanks for the the tip. Google implies that some other search engines look at this too.

  5. emceha

    time to google for more about canonical ;)

  6. Cool information!
    Liked the posts about firefox extensions too, really useful for beginners on that world.

    ps: you forgot to close the link tag.

  7. Add this code to the section of the page.

    < head >
    < title > Davidd Walsh Blog Book< /title >
    < link rel=”canonical” href=”http://yoursite.com/product.php?p=david+walsh+blog+book” />
    < /head >

    @Fabio, No missing < /a > tag as its a < link .. >

  8. Good I want to implement it first and have post this tips. Thanks

  9. great post is there any problem if i use rel tag for all of my links

  10. David,
    Thanks for the tip about rel canonical.

    Peter

  11. You can find more info here: http://support.google.com/webmasters/bin/answer.py?hl=en&answer=139394
    Thanks for the article.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!