Correct Hreflang & Canonical Implementation for Multilingual Site
-
OK, 2 primary questions for a multilingual site. This specific site has 2 language so I'll use that for the examples.
1 - Self-Referencing Hreflang Tag Necessary?
The first is regarding the correct implementation of hreflang, and whether or not I should have a self-referencing hreflang tag.
In other words, if I am looking at the source code for http://www.example.com/es/ (our Spanish subfolder), I am uncertain whether the source code should contain the second line below:
Obviously the Spanish version should reference the English version, but does it need to reference itself? I have seen both versions implemented, with seemingly good results, but I want to know the best practice if it exists.
2 - Canonical of Current Language or Default Language?
The second questions is regarding which canonical to use on the secondary language pages. I am aware of the update to the Google Webmaster Guidelines recently that state not to use canonical, but they say not to do it because everyone was messing it up, not because it shouldn't be done.
So, in other words, if I am looking at the source code for http://www.example.com/es/ (our Spanish subfolder), which of the two following canonicals is correct?
- OR
For this question, you can assume that (A) the English version of the site is our default and (B) the content is identical.
Thanks guys, feel free to ask any qualifiers you think are relevant.
-
As a 2014 follow up to anyone reading this thread, Google later released a tag labeled "x-default" that should make the self-referencing canonical question moot.
Read more at http://googlewebmastercentral.blogspot.com/2013/04/x-default-hreflang-for-international-pages.html
-
Thanks John - as mentioned on Twitter I appreciate you sharing tested results. Haven't had time to test on my own sites and certainly don't want to be testing on a client's live production site.
I did notice that one of your posts (http://www.johnfdoherty.com/canonical-tag-delays-googlebot-web-vs-mobile-index/) does have the self-referencing hreflang but the Spanish version does not. Based on recreating your SERP screenshots myself, it looks like it's working fine.
Also, I think my opinion on the Au/En version where you're geotargeting with the same language is that is should be set up the way you indicated, so I'm glad to see more testing that has confirmed that.
Thanks for taking the time to answer - Thanks to Dave as well!
-
Thanks Mike.
Regarding your comment on canonicals - I agree that separate languages should be treated with different canonicals - I think John's response above has confirmed my hunch with testing, however.
Regarding hreflangs - I don't think there's any penalty either. The trouble is that Google, as many of us have experienced, often makes mistakes on code that should function fine. Google Authorship is a good example. So, just trying to work out the best practices for this before I make a client recommendation.
Regarding feedback outside Moz - @IanHowells weighed in on Twitter. His opinion was (A) self-referencing is not necessary and (B) canonicals should be for each language, not pointed to the default language.
-
Hey Kane -
Jumping in here because I told you I would. I've seen it work two different ways.
As you saw in my posts, I have the following configuration:
- Self-referencing canonicals (/es/ canonicalizes to /es/, regular canonicalizes to itself)
- HREFLANG point to each other as the alternate.
When you search "canonical delays with Googlebot" in google.es, the English ranks first and then the Spanish. Of course, with the Spanish search "etiquetta canonical retrasa con googlebot" the Spanish one ranks. This is, of course, a test with two different languages.
I've seen it work with two English-language URLs (Australia and English) where the following is what worked:
- Canonical referencing the primary (English)
- HREFLANG pointing to each other
The title/meta description of the /au/ version disappeared because of the canonical but the /au/ version ranked in google.com/au instead of the regular URL.
The self-referencing HREFLANG seems to not be necessary, but I've never had an issue using it. However, your mileage may vary.
BTW, all of this testing was done by my coworker Dave Sottimano, not me. But these were the findings.
-
I was so excited that I'd found something for you that I didn't read the first part of the article carefully enough. Here's what I think based on the principles of canonicals and hreflangs as I understand them:
Since canonicals are meant to reduce confusion and duplicates, what could you do that would support that goal? If I saw multiple different versions of a product page that were essentially identical (perhaps they had different filtering options or search terms but resolved to the same content), then consolidating them all would make perfect sense. If, however, I saw two pages that had the exact same meaning but were in different languages, I would consider them as separate--you wouldn't accidentally mistake one for the other.
As for hreflangs, the second article mentioned 4 versions of the content and listed all 4 hreflangs. The idea is that the search engine could discover all the versions of the content quickly and select the right one for the searcher's language and location. I can't imagine there being a penalty for listing every one, either.
Have you had any other feedback (from outside SEOmoz)?
-
Thanks for your response Mike.
Re: Canonicals:
The first Google blog post you linked to is applicable when some of the content is translated. For example, if your English Facebook profile showed up on the Spanish section of the site, but they only translated buttons, nav menus, etc.
"We’re trying to specifically improve the situation where the template is localized but the main content of a page remains duplicate/identical across language/country variants."
So, this isn't a perfect match for my situation, which is a 100% translated page, which changes the reasoning behind the proposed canonical solution in that post - so that question is still in the air for me.
Re: Self-Referential hreflang Tags:
The second article is definitely relevant and is the primary announcement of hreflang, but doesn't clearly indicate whether the self-referential hreflang tag for the page you're on is necessary. Now, I've seen it used both ways successfully, so my first question is somewhat moot. John Doherty's testing from January 2012 and the homepage of WPML.org each use a different method, but Google.com and Google.es seem to be able to sort out each domain correctly.
-
Google shared this post to define how to handle both issues: http://googlewebmastercentral.blogspot.com/2010/09/unifying-content-under-multilingual.html
The idea presented there is to pick the default language of the page--for most sites in the U.S. it would be English.
Then all the foreign language versions of the page should set their canonical to point to the page using the default language.
Finally, each page is to list the alternative languages with hreflang link tags.
An updated post says that ALL the languages should be listed: http://googlewebmastercentral.blogspot.com/2011/12/new-markup-for-multilingual-content.html
So I would set the canonicals to:
for all variants (in English or any other language)
and list all of the hreflang links on every page:
This would put you in compliance with Google's main post on the subject and their more recent update.
--Mike
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
.fr Site Not Indexed in Search Console
Hey everyone, I am just now learning international SEO, and so appreciate any and all help! 1. I added supershuttle.fr to Search Console about a week ago and it still has 0 indexed pages. It is showing that pages were indexed in the sitemap, and when I check, there are 75 results in Google. Is this something I should be concerned with? Is there a setting that I'm not aware of in Search Console that I need to change? 2. Also, I read the below regarding the automatically translated pages. Would https://en.supershuttle.fr/ be considered an "automatically translated" page? Use robots.txt to block search engines from crawling automatically translated pages on your site. Automated translations don’t always make sense and could be viewed as spam. More importantly, a poor or artificial-sounding translation can harm your site’s perception
International SEO | | SuperShuttle0 -
Moving my site to one domain name .com from 3
Hi Guys, I'm ranking really well for my domains in my local geo - im wondering if it will be more effective if i moved the co.nz and com.au over to the .com - the only thing is will i still see my com.au and co.nz results on the .com?
International SEO | | edward-may0 -
Optimizing for 3 international sites, how to avoid getting into trouble
Hi Guys As a newbie, I want to avoid any penalties or mistakes as possible that will be due to unknown and have taken some steps to educate myself around international sites and multiple domains. our aim was to target new zealand first and then branch out. Whilst we are pondering the NZ site and writing fresh unique articles for the site and the blog. And besides making the currency, language more relevant to these domains, is there anything else I could work on? I thought about making the meta tags different for the home page and adding Australia etc If we are going to spend time growing the site organically I thought I would make the most of spending the time growing all three together.... Any recommendations on how to get started and optimize the 3 alot better? Thanks
International SEO | | edward-may1 -
External URLs in hreflang sitemap questions
I'm currently putting together an international sitemap for a website that has an set up like the following: example.com/us
International SEO | | Guyboz
example.com/au
example.com/ca
example.co.uk
example.se I'm planning on including the hreflang tags within sitemaps for each domain, to make sure google serves up the right version. However, I'm a bit sceptical about including the non .com domains within the .com sitemap - and the other way round for .co.uk and .se sitemaps. The way I've been doing it follows the following example: <url><loc>http://www.example.com/us/</loc></url> Putting in the .co.uk and .se domains within the .com sitemap just doesn't feel right - is this actually the right way to do it? Thanks in advance 🙂0 -
"Hreflang=x" tag and multinational websites
Hello, We have multiple websites targeted at multiple countries and languages, each with the correct country extension. We have a corporate blog for each of these websites, where the blogs are subdomains of the main website. Currently we have a process of rewriting our blog posts completely – while keeping the same subjects – in order to have original content on each of our blogs, although we have up to 3 blogs in the same language. These are the languages we target: French – FRANCE French – SWITZERLAND French – BELGIUM Italian – ITALY Italian – SWITZERLAND German – GERMANY German – SWITZERLAND German – AUSTRIA Spanish – SPAIN Spanish – COLOMBIA Spanish – PANAMA Czech – CZECH REPUBLIC Swedish – SWEDEN Dutch – BELGIUM / NETHERLANDS English – UK English – INTERNATIONAL The process is obviously very tedious, and not always applied rigorously – i.e. some of the texts are posted on 2-3 different blogs, creating duplicate content.
International SEO | | ESL_Education
The questions : Would there be any reason for us to privilege the use the rel="canonical" tag over the "hreflang=x" tag, thus giving privilege to a "master" version for each language? Are there any risks in using the "hreflang="x" tag for our blogs considering that the posts would be very similar, except for references to additional content? Could there be any risk that Google would consider our sites as duplicate content after all? Should we specify on each blog that we have all the above versions, or should we only specify the other markets versions in each language? For example, should we specify on our French, Swiss and Belgium blog that we have 3 different French versions, on our UK blog that we also have an international version, and so on, or should we list all versions on each of the blogs? Does the "hreflang="x" tag facilitate the indexation of each of the versions in the SERPs of their targeted market? Lastly, are there any precautions we should take in order to put this in place? Looking forward to your feedback. Best wishes, Maëlle0 -
Changing server location for a global targetted site
Hi, I am just in the process of purchasing a site from someone. The site has a global target audience (well global English speaking anyway). The site is on a .info domain and is currently hosted in Germany. Checking on SemRush it looks like 70% of traffic comes from English speaking countries (US, Australia, Canada, UK). Now I need to move the hosting to one of my own when I change ownership of the site. Now does it overly matter where I choose my hosting as currently it is hosted in Germany (around 4% of visitors from Germany) but I want to do my best not to knock any rankings but I was thinking of moving it to a UK or US based host but still want to keep a general worldwide userbase. As the US accounts for the largest part of traffic (39%) would I be best choosing hosting based over in the US or does it not overly matter too much (I am in the UK so most hosting I use is UK based). I have read a number of posts on server location but most seem to be for site which have a country specific target audience. Thanks for your help! 🙂
International SEO | | Wardy0 -
My site is not showing on google.com ?
My website is not showing at all on google.com searches under search terms. It is showing if i search for my domain (xyz.com) but not by keywords. Searching by keywords and search terms shows my website on yahoo , bing and non US oogle as google.co.uk or google.com.pk on first page. Would appreciate any help in trying to understand why this is happening? The website is medicare.md. if you search for term "medicare doctors PG county maryland" it is #1 in bing and yahoo but not even showing on google.com first TEN pages, although not banned. Interestingly if you do that search on google.co.pk it is #4. Quite Puzzuling !! Would appreciate any help or advice . Sherif Hassan
International SEO | | sherohass0 -
Multiple domains for one site / satellite domains
Hi, I know this has been asked a few times before but I want to clarify everything my own head. We've recently relaunched a website for a client that combined three existing sites into one. The new site is http://www.gowerpensions.com/ I've added 301 rewrite rules to the three old domains to to point to the correct page on the new website, i.e the old contact page goes to the new one, the about page to the new about page etc, etc. The old domains are thehorizonplan.com, horizonqrops.com and horizonqnups.com. I've informed Google Webmaster Tools of the change. The client also has several other domains such as horizonpensions.com and qnupscheme.com. Am I correct in thinking I should not park these domains on top of the gowerpensions.com website as this will be seen as duplicate content? I don't think there is anything linking to these domains. They might not even be listed in Google. With the thehorizonplan.com, horizonqrops.com and horizonqnups.com domains there are existing links to them, but will parking these on top of gowerpensions.com cause a problem, or should I keep my 301 redirects forever? Would a better strategy be to make microsites on all of the satellite domains that link to the main one to create more relevant links? If this is the case then I'd need to fix any third party links to the old horizon domains. I hope that makes sense. Thanks Ric
International SEO | | BWIRic0