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
    9 Mind-Blowing Canvas Demos

    The <canvas> element has been a revelation for the visual experts among our ranks.  Canvas provides the means for incredible and efficient animations with the added bonus of no Flash; these developers can flash their awesome JavaScript skills instead.  Here are nine unbelievable canvas demos that...

  • By
    LightFace:  Facebook Lightbox for MooTools

    One of the web components I've always loved has been Facebook's modal dialog.  This "lightbox" isn't like others:  no dark overlay, no obnoxious animating to size, and it doesn't try to do "too much."  With Facebook's dialog in mind, I've created LightFace:  a Facebook lightbox...

Incredible Demos

  • By
    Scroll IFRAMEs on iOS

    For the longest time, developers were frustrated by elements with overflow not being scrollable within the page of iOS Safari.  For my blog it was particularly frustrating because I display my demos in sandboxed IFRAMEs on top of the article itself, so as to not affect my site's...

  • By
    HTML5&#8217;s window.postMessage API

    One of the little known HTML5 APIs is the window.postMessage API.  window.postMessage allows for sending data messages between two windows/frames across domains.  Essentially window.postMessage acts as cross-domain AJAX without the server shims. Let's take a look at how window.postMessage works and how you...

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!