I have a multilingual site and I think both, canonical URL and alternate hreflang URL should be defined. The URL structure is very simple: Language, tag and page title.

  • Structure: http://example.com/lang/tag/page
  • Example: http://example.com/en/funny/man-walks-on-banana

The page has multiple tags. While going through pages under one category, the category name should be maintained in the URL like following:

  • http://example.com/en/funny clicks a link
  • http://example.com/en/funny/man-walks-on-banana clicks "next"
  • http://example.com/en/funny/woman-walks-on-banana clicks "next"
  • http://example.com/en/funny/some-other-funny-stuff

When some of these pages is also related to the tag "accidents" and many more tags, it means that the page has multiple URLs, which causes duplicate content:

  • http://example.com/en/funny/man-walks-on-banana
  • http://example.com/en/accidents/man-walks-on-banana
  • (same page, different URL, bad)

This will be handled by defining a canonical URL. We have decided not to create "sub-tags", so we need to decide which tag is the most important one for this content. So under whatever tag the page is being viewed, canonical URL refers to:

<link rel="canonical" href="http://example.com/en/FUNNY/man-walks-on-banana" />

Now the question occurs when the site is multilingual. According to Google's instructions, I should set an alternate link hreflang to the finnish version of the page.

<link rel="alternate" href="http://example.com/en/funny/man-walks-on-banana" hreflang="en" /> (english versison of the page)
<link rel="alternate" href="http://example.com/fi/hauskat/mies-kavelee-banaanin-paalta" hreflang="fi" /> (finnish version of the page)

Alternate hreflang-links are defined in both versions, but in both versions there should still be the canonical link, so that the page is under the main tag, in its own language.

If we assume we're on the english version of the page "/en/sometag/man-walks-on-banana", would it go like this:

<link rel="alternate" href="http://example.com/en/funny/man-walks-on-banana" hreflang="en" />
<link rel="alternate" href="http://example.com/fi/hauskat/mies-kavelee-banaanin-paalta" hreflang="fi" />

<link rel="canonical" href="http://example.com/en/funny/man-walks-on-banana" />

Is this a proper way to do this or not? Does the definition of a canonical link affects the alternate hreflang-links or not? Does Google understand what I'm trying to tell them here? I hope you do. If so, what would be the proper solution?

  • I would think so, don't see a better way to do this.
    – Remy
    Commented Jul 30, 2013 at 7:24

1 Answer 1


What you are proposing sounds correct to me:

  • Each language should have one canonical page with this content on it.
    • Both of the following URL should have a canonical tag of <link rel="canonical" href="http://example.com/en/funny/man-walks-on-banana" />
      • http://example.com/en/funny/man-walks-on-banana
      • http://example.com/en/accidents/man-walks-on-banana
    • http://example.com/fi/hauskat/mies-kavelee-banaanin-paalta should have the canonical tag: <link rel="canonical" href="http://example.com/fi/hauskat/mies-kavelee-banaanin-paalta" />
  • Each page can have alternate hreflang links to the canonical version of the page in other languages.

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.