John Mueller of Google posted a super detailed response to an hreflang implementation question on Reddit. The response is so detailed, I am afraid that if I try to dumb it down, I will get it wrong.
And honestly, hreflang is not my thing, that is something that I don’t have much of any experience with on the technical SEO front. But the response looks super interesting that I wanted to highlight it for those who do a lot of hreflang and multilingual SEO work.
The question was “Hreflang for language subdirectories already nested within a region subdirectory: terrible idea?” Click to the Reddit thread to see the full question.
Here is John’s response, the points I find interesting is that he said (1) only do this for the home page because it can be super complex, (2) redirect the / home page for US users to /us for US users. Here is the full response:
My recommendation would be not to shift /de & /fr into /eu/de or /eu/fr. There’s no SEO advantage you’d get from that, and site-moves like this are a lot of work. If anything, I might consider moving “/*” (en-us) into a “/us” folder. That way you have clearer separation of the parts (“/us/*” is all US, “/fr/*” is all French, etc). It would make tracking a bit easier, and make it easier for search engines to understand the sections (vs moving /fr into /eu/fr, which would make it even harder to understand sections).
Also, hreflang is on a per-page basis, so you would do it on all pages. You mentioned it as being sections, and perhaps you’re already doing it properly, so this is just for completeness. If you’re not doing it on all pages, I’d consider checking your stats for pages that get confused the most (wrong country visitors), and at least add it there. Chances are this is mostly your homepage, so if you’re only doing it there, you’re probably getting a lot of the value of hreflang already.
And … if you do any of this and automatically redirect “/” (just the root homepage) to the appropriate version, you must make sure that it’s specified as the x-default for the set of homepages. Without doing that, to Google it can look like “/” is a separate page from the others.
(edit to elaborate only on that last part… — this is specifically if you have /us for US, and do geo-IP redirects, which I generally don’t recommend)
If for US users, “/” (just that page) redirects to “/us”, AND you have hreflang across /us, /fr with x-default assigned to /us, what can happen is that Google sees “/” as being an English page, also recognizes /us, /fr as separate pages, and then shows both “/” and “/(one of the others” in the search results. You can avoid this by setting “/” as the x-default (even if it redirects). Then Google will see “/” as the default “/us” for US, “/fr” for France.
This also means that you can’t have “/eu” as x-default (there can only be one #highlander #xdefault), but you can still use that by specifying it as hreflang for a bunch of your common countries (you can specify multiple countries per URL). So in the end you’d have “/” = x-default, “/us” for US, “/fr” for France, “/eu” for a bunch of countries, and redirect from “/” to the best version.
All of this is only for the homepage, I wouldn’t do it for any of the other pages of the site because it’s so complex & hard to manage, and because the homepage is probably the page that gets the most search impressions.
What do you find interesting about this response?
Forum discussion at Reddit.