Shared publicly  - 
Question for +John Mueller and/or +Pierre Far regarding hreflang alt.

In the following blog post ( the author comments:

Actually when rel canonical and hreflang are both present, URLs w/ rel canonical ARE pulled from the index. hreflang simply allows the display URL to fire at search time. The title and snippet text are taken from the rel canonical target.

You need to be very careful here and understand the functions of these annotations, both separately and in tandem. I’ve spoken in detail about this w/ Google’s team. This is how it works and why it’s so important to watch rel canonical carefully, because it can and will yank an international site from the correct regional index. No one wants their US title and snippet text showing for their UK site. The URL is only 1 element of a successful search presentation, and in the case of hreflang, the URL is simply a display element fired at search time.
I'd ove to get confirmation that this is the behaviour that will occur (as the author also states this hasn't been tested)? If rel="canonical" is used in conjunction with hreflang alt will the "dupe" page be removed from index, and is the hreflang attribute only going to affect the display URL?
Tom Anthony's profile photoMike Neal's profile photoKamal Gir's profile photoChristopher Semturs's profile photo
We've dropped the mention of the rel=canonical in the help center since we've found that it tends to confuse people and with that, they may end up implementing it incorrectly.

If the URLs are really fully equivalent, then using a rel=canonical like that is fine (eg if you have an informational page on a site, which doesn't mention local currencies or local addresses). On the other hand, if the pages are not fully equivalent (eg different titles, currencies, addresses, etc), then I would not use a rel=canonical. The difference is very subtle and because of that, hard to implement at scale.
Hoping to raise this again and get an answer from +John Mueller or +Pierre Far . Regarding +Seth Nickerson 's question above.

Should you be using rel=canonical in Seth's product example? You are quite likely using different currencies. I can't get my head around how the currency on a page, or the 'contact our local office' construct, should or shouldn't imply the use of rel=canonical?

There doesn't seem to be any clear guidance from Google on this, and people are left to run tests to try and find out what works. A few examples would be awesome. Thanks!
Hi +Tom Anthony. We've given guidance multiple times about this and it's worth repeating: If the pages have small, but significant, differences in the content (like currencies, shipping info, etc), then don't use rel="canonical". Simply use the rel-alternate-hreflang annotations on their own.

I've given a relevant example here (although it doesn't mention rel="canonical" as it dealt with a slightly different topic):
Thanks +Pierre Far  for the swift answer. I remain a bit confused.

Google on the Google Authenticator for Android app page:

This uses rel-alternate-hreflang across all the languages, with each having a self-referencing rel=canonical.

However, if I search on in German, the English page shows up:


1) Is the self referencing rel=canonical correct?
2) Why does the English language URL show up in the Google Play example? That isn't what rel-alternate-hreflang should do, in my understanding?

I really appreciate you chiming in and giving answers, thanks.
+Tom Anthony The Google Play Store is using a sophisticated approach. It works, but I would not recommend to try to mirror their setup without understanding in detail what it does.
What they do:
- They provide hreflang for all languages they support on the UI.
- Each language-specific version has a rel-canonical back to the main page if the content itself (the app description) is NOT translated. Otherwise they use a self-rel-canonical.

So that explains why has a self-rel-canonical for instance (because the app description itself is available in German as well). It is correct in this context, and the golden rule (if you don't understand exactly what it does, don't use it) applies as well.

As for not showing the German App page on - that is unfortunate, yes, but a result of the fact that algorithms are not 100% perfect. From an annotation point of view everything is correct.

Just to repeat the main message: If you don't know exactly what you want to do with rel-canonical, don't use it. You are very likely to hurt yourself.
Hey +Christopher Semturs - ok thanks a lot. The fact that it wasn't working as it should was just adding to the confusion! The rel canonical handling in that instance makes sense.

I will give it a go, and see what happens. Thanks a lot for chiming in.

If you do get a chance to chime in on the PressKing implementation (which looks to me to be correct - albeit lacking a self-referencing hreflang), and explain why both are ranking and whether that is also just a bug, that would be fantastic. Thanks again.
+Tom Anthony I scanned it briefly.
If my understanding is correct the webmaster expects filtering to take place ('show ONLY the german version'). That's up to the algorithms though, nothing the webmaster can influence directly via hreflang (he/she can provide supportive data, but it's not a 100% followed instruction).
The annotation itself looks correct. Given the annotations and the search results, I'd simply watch if the webmaster expectations are now fulfilled (means: German-speaking users coming from now clicking mainly on the de.*-results I assume) and don't worry about the other details.
Hello, there. We've been using canonical successfully  for a while to stop duplicate pages (in the form of affiliate URL suffixes) being a problem, but now want to use hreflang to get our geotargeted sites appearing in the correct indexes. We've tried the XML sitemap; approach which didn't seem to work and have just implemented on-page hreflag alternates but we're still using the self-reffing canonical for reasons above. Our domains are: (no geotargeting set in webmaster tools) ,

At the moment we have rich snippets and meta descriptions with local currency so we'll have to get rid of those if the only thing to change will be the URL in the SERP's. Can I gather from above that if we DIDN'T use the canonical, the whole of the SERP listing will be the localised hreflang alternate i.e. page title/description or have I got that wrong?!  I'm not totally sure what "pulled from the index" means n this context. in summary, ideally I'd like to carry on using canonical to avoid duplicate issues, but I also want to stop our Canadian, Australian and .com pages appearing/ranking above .us in US search results if at all possible! We could make the pages identical in every way except for currency and occasional spelling, at the moment they have different levels of parity with their foreign alternates. 
Please provide a concrete query which is regionally wrong (e.g. a search on google australia showing a non-australian result on top, or the other way round), including the full search URL and the expected result, so that I can investigate if this is a natural ranking topic or a bug which needs investigation.
Thanks for reply, Christopher.  There does seem to be a bit of change now with the .us ranking above the .com for some queries.(would the on-page hreflang directive have a gradual effect across SERP's/keywords?)   Here's an example of where it's not:,or.r_gc.r_pw.r_cp.r_qf.&fp=dc3ab67f8cfe3a0a&bpcl=35277026&biw=1680&bih=949&gl=us   

And here's the source for the .com page that ranks top in the above query, showing the hreflang alternate pointing to .us page:  view-source:

Here's same query on New Zealand Google. The top result (for my sites) is, the second is .com (I guess the .com is showing because it's a Web Search not Pages from __ Only and also branded query :,or.r_gc.r_pw.r_qf.&fp=357540f1f4ccccca&bpcl=35277026&biw=1680&bih=949

Thank you for your time.
Hi Christopher, have you had a chance to look at this at all yet? I'm sure you're busy so no problem if not. Thanks.
hreflang is just one of many input signals.
Having said that, there are two things you might want to fix:
- you are missing the self-hreflang annotation (e.g. on the .com you point to, and others, but not to itself as mentioned in the help center)
- your hreflang and rel-canonical is inconsistent. For an example, compare the hreflang for on with the rel-canonical on that You will spot a difference (which seems to be there quite consistent, uppercase/lowercase mix-up).
This is sending a mixed signal to algorithms.
I have not checked if any of those changes would be beneficial for your desired search-result behavior, but I'm pretty sure that those fixes will not hurt.
Great, I shall get these fixed. Thank you. So should I use self-canonicals as well as self-hreflang ?

We've got no visibility for 'Pages From the UK' search for our .com at the moment (we used to have as much as for Web Search), so after looking at the page source of some sites who have a .com site ranking for 'Pages From the UK' I was thinking about trying the following (notice how the canonical is set to .com/restofworld/ subfolder, but there's then a separate hreflang alternate for en-GB pointing to the same subfolder URL. Perhaps this is a good way of getting visibility for Pages From UK without affectring rest-of-the-world traffic?):

<link rel="canonical" href="" />
<link rel="alternate" hreflang="en-gb" href="">
<link rel="alternate" hreflang="en-au" href="">
<link rel="alternate" hreflang="en-us" href="">
<link rel="alternate" hreflang="en-ca" href="">
<link rel="alternate" hreflang="en-nz" href="">

Okay, apologies. Thanks for your help.
All the sites that implemented hreflang has used absolute URLs. Does it not work with relative URL or we can use relative URL instead of absolute URLs. It is not mentioned anywhere in the help articles by Google
if you use the link-html-tag you can use relative or absolute urls.
http-header, or sitemap, needs to be absolute. That is not related to hreflang, that is generic standard.
Add a comment...