Global companies must ensure that international customers enjoy the same quality user experience when interacting with their brand as their domestic counterparts. Localization helps create targeted content tailored to the needs of customers in different countries. But how can we ensure that the right content actually reaches those customers? The answer is HREFlang tags.
To help search engines identify URLs to be served to regional users, webmasters can use rel="alternate" hreflang="x" attributes. In this blog, we’ll focus on the technical side of hreflang tags implementation and cover some common mistakes and misconceptions. In a follow up blog, we’ll share a case study of how we implemented hreflang sitemaps for our company, how we tracked rankings and what the results were. Stay tuned!
Which search engines recognize hreflang tags annotations?
At this time, hreflang tags annotations are recognized by Google and Yandex.
- Google: HTML link element in header, HTTP header, or XML sitemap
- Yandex: HTML link element and HTTP header but not XML sitemaps (details here)
Bing does not recognize hreflang tags and recommends using “content-language” meta tags instead.
XML sitemaps vs HTML link element
For sites targeting a large number of geos, XML sitemaps are probably the best option as they are easier to generate, maintain and, importantly, QA as opposed to on-page code that can change without SEOs’ knowledge. Additionally, including hreflang tags in the page code adds to HTML size and slows the page load speed. While Google says that the location of a URL within your sitemap files does not matter and you can structure the sitemaps in any way that makes sense for you, please note the limits for an XML sitemap file: 10MB or 50,000 URLs (<loc> elements). You can choose to include hreflang annotations for a larger set of URLs in individual geo-specific XML sitemaps or create line-of-business sitemaps with a smaller number of URLs but spanning all regions.
5 Common Mistakes and Misconceptions about HREFLang
- Use of wrong country and/or language codes. Values for the hreflang tags attribute should either be a language code in ISO 639-1 format ("en" for English) or a combination of language and country code where the country code is in ISO 3166-1 Alpha 2 format ("en-US" English for US, non-capitalized “en-us” is also acceptable). UK versus Ukraine: “en-uk” would not mean English for UK (correct: “en-gb”, Great Britain) but rather English for Ukraine. Latin America is may also present a challenge for hreflang tags values: many sites create a single site to target these countries – /la/ or /latam/. “es-la” would unfortunately mean that you’re targeting Laos (!). “es-latam” is not an acceptable ISO code. So, to target Latin America, one needs to either include multiple country annotations (“es-ar” for Argentina, “es-cl” for Chile, “es-pe” for Peru, etc.) with the same Latin American URL (www.site.com/latam/), or use “es-es” for the Spanish site while targeting the /latam/ site to global Spanish speakers by using the language “es” annotation only. We’ve also seen sites use “es-br” for their Brazilian sites in Portuguese (correct: “pt-br”), “uk-ua” (Ukrainian for Ukraine) for a site in Russian, and “en-be” (English for Belgium) for a site in French.
- Lack of hreflang tags for the page itself. Hreflang tags annotations should be bi-directional, and each language page must identify all language versions, including itself. For example, if your site provides content in English, French, and German, all three language versions must include the same references to the English, French, and German pages.
- Use of non-canonical or redirecting URLs. An example would be the use of a URL with parameters (www.site.com/page.html?trackingid=123) instead of the canonical URL version (www.site.com/page.html) or use of an old URL that got redirected. John Mueller recently confirmed this in his Google+ post: “Make sure any rel=canonical you specify matches one of the URLs you use for the hreflang pairs. If the specified canonical URL is not a part of the hreflang pairs, then the hreflang markup will be ignored.”
- You have to implement hreflang for the entire site otherwise, it will not work. Wrong. Hreflang tags will work for any set of URLs you choose, as long as you cover all language/country variations. Clearly, you’d want to focus on top traffic and revenue drivers. An interesting observation: after we implemented hreflang for all 60 regional home pages and a small set of priority URLs, we’ve seen a collateral effect that other not-covered, regional URLs started to rank in place of US URLs.
- Using rel=canonical across different language or country versions. Google recommends not using rel=canonical across different language or country versions, and only use it on a per-country/language basis.