After listening to The Search Engine Journal Show podcast between Brent Csutoras and Bill Hunt where they talked about a number of challenges with hreflang implementation, I thought it might be time to explain how to minimize some of the key challenges and debunk some others.
Hreflang is actually a fairly straightforward concept that enables you to take the ambiguity out of a set of pages, especially in a common language, and attribute them to a specific local.
Very simply, you have a page for the U.S. and then you have the exact same page for multiple other markets.
Hreflang is a method to indicate which specific language markets each of these pages was detonated to target.
This only becomes complex when the specifications are misinterpreted and/or when the web infrastructure is not set up in a uniform manner to make the alternate mapping easy.
In this article, I will review some of these common complexities and misinterpretations of the specification by answering seven simple, yet, repeatedly asked questions about hreflang.
1. I have an English site that is designed for the U.S., UK, and Ireland. Can I use ‘Hreflang=en-us-gb-ie?’
Answer: No, you cannot. I give you that you are being creative, and perhaps trying to be better organized.
If you only have one set of EN pages, you could use below without specifying the countries.
<link rel=”alternate” hreflang=”en” href=”https://www.example.com/en/page.html” />
If you have another set of EN site for other English speaking countries such as Australia and Singapore and need to set the specific target countries, you do need to create a separate line for each of the target countries, even when the page URL is the same for all three locations.
<link rel=”alternate” hreflang=“en-ie” href=”https://www.example.com/en/page.html” />
<link rel=”alternate” hreflang=“en-gb” href=”https://www.example.com/en/page.html” />
<link rel=”alternate” hreflang=“en-us” href=”https://www.example.com/en/page.html” />
2. I have one site for all of EU countries and another for all of the Middle East. Can I use ‘EU’ and ‘ME’ as a country setting in hreflang? For instance:
<link rel=”alternate” hreflang=“en-EU” href=”https://www.example.com/en/page.html” />
<link rel=”alternate” hreflang=“en-ME” href=”https://www.example.com/en/page.html” />
Answer: Hreflang tag can only use actual ISO language and country codes, there are not regional codes such as EU, EMEA, APAC, and ME.
Many sites have regional sites targeting Latin America (LatAm) or European Union (EU) or the Middle East (ME) which represent multiple countries and often languages in a region but try to co-opt one of the ISO country codes to represent the region.
The most commonly incorrectly implemented regional set up is one trying to represent the Spanish Language Latin America site using es-LA.
Unfortunately, this does not work as you are telling Google that this is a Spanish language targeting the country of Laos.
3. Can I combine the canonical tag and hreflang tag in the same line?
<link rel=“canonical, alternate” hreflang=“en-gb” href=”https://example.com/en-uk/page.html” />
Answer: No, you need to separate the Canonical tag from Hreflang tags.
<link rel=“canonical”” href=”https://example.com/en-uk/page.html” />
<link rel=”alternate” hreflang=“en-gb” href=”https://www.example.com/en-uk/page.html” />
<link rel=”alternate” hreflang=“en-us” href=”https://www.example.com/en-us/page.html” />
If your technical SEO or developer wants to get creative, encourage another creative outlet and point them directly to the hreflang specification as hreflang is challenging enough without deviating from the standard syntax.
4. We use CMS to auto-generate XML (hreflang) sitemap files. It includes URLs that don’t exist. Is it OK to keep them on the list? I see them show up on the GSC error reports. Is it bad?
Answer: Yes, this is bad. This is a major problem for a lot of companies.
The problem is caused by the CMS setting allowing it to automatically create a placeholder URL for every language or country on the site when a page is created on one of the sites.
Sometimes, the URL is automatically generated by the global navigation rules even if the page doesn’t exist.
Unfortunately, there’s no easy way to manage or manage this problem. Bottom-line, non-existing page URLs should not be listed on the XML Hreflang sitemap files.
The actual solution varies based on your CMS, but start with looking at the URL alias rules, your parent-child rules, or local page spillover rules. In many cases these have not been set up correctly.
It could be that the rules are being overridden by JavaScript navigation rules or IP detection/redirect protocols.
Most systems have a fallback option to a global page when the page has not been localized or explicitly published in the market.
5. Do I need to use hreflang to manage the same content that exists in different domains each targeting different countries?
Answer: Many companies have a different language or country websites on separate domains and managing hreflang on multiple domains (and subdomains) is not an easy task.
You should use hreflang XML site maps that list all of the URLs for each of the unique domains. Hopefully, the URL paths are the same or at least similar making it easy to map the alternates.
To make your job even easier, I recommend that you take advantage of Google’s Cross Domain Site Map Verification process and use a dedicated site that manages your XML site maps for all of the domains in a central location rather than having to create tickets to upload them to dozens of hundreds of unique domains.
6. Should I use a specific page URL or a homepage as x-default?
Answer: There is still a lot of confusion about the use of x-default.
The x-default is nothing more than a directive to use a specific page for any language or market that does not have a dedicated hreflang set.
Do you want to show up where you don’t have a local version?
For many sites this is the global version of the site, or their English version.
You can only designate one version as x-default.
If you set a homepage as x-default for pages other than the homepage, you are asking Google to show homepage instead of any other pages in language-country that are not specified in your Hreflang tags.
And you cannot dynamically swap it to the local language of the IP of the user.
Yes, it has been tried. No, it does not work.
7. I have English and French content on the same page. Can I assign them to both languages in the hreflang tag?
Answer: Each page should only have content in one language, but multiple languages on a single page happens frequently with user-generated content in a localized template.
Google is pretty specific about this. You should set the language region to the dominant language and/or the language of the template.
To Sum Up
Hopefully, this article has demonstrated that hreflang itself is not complex, but interesting and sometimes challenging website infrastructures increase the complexity.
Start small with a pair of languages or a subset of pages and test it.
Once you show the value, it makes a brilliant business case for management to commit the resources for larger-scale implementation.
More Resources: