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 linkhttp://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?