If you have a website that serves content in different languages, then it's absolutely essential to understand and use the hreflang attribute.
"In many ways, hreflang is one of the more complex facets of SEO. Its use can feel relatively simple, but proper implementation, especially at scale, means it can get incredibly challenging, surprisingly quickly.
"That said, once you understand hreflang, and once you've mastered how to automate large parts of the hreflang generation and tagging process, the benefits far outweigh the potential complexities."
For global brands with multi-regional presence and multi-lingual sites, hreflang tags are not only a means to optimise for Google SERPs but also to maximise and distribute authority across all domains and regions.
It’s incredibly powerful, yet there are many examples where sub-optimal implementation can impact negatively on Google SERPs. In this post, we will dive into what hreflang tag attributes are, why we use them, and the best practices for doing so.
What is Hreflang?
Let's start with the absolute basics.
SERPs - this stands for search engine result pages. For example, Google or Bing results pages for a search term
Multilingual Website - a multilingual website is any website that offers content in more than one language
Multi-Regional Website - a multi-regional website is one that explicitly targets users in different countries
Some sites are both multi-regional and multilingual. For multilingual sites with identical content in multiple languages, Google recommends using different URLs for different language versions.
Put simply, you can - and should - use hreflang tags (also known as rel="alternate" hreflang="x") to indicate to Google the language and geographical targeting of a web page.
The benefit of using hreflang is that it enables Google to accurately serve the correct version of a web page to users searching in certain languages and from certain geographic locations.
Where to Put hreflang Tags
There are three ways to indicate multiple language/locale versions of a page to Google. But you should use only one method.
1. HTML tags within HTML head
2. HTTP headers
3. XML sitemaps
What Does the Hreflang Attribute Look Like?
When using the hreflang attribute on each page, it should include a reference to itself in addition to all of its related pages (in other languages).
For instance, if you have a website in French that also serves customers in Spain and Italy, the hreflang attributes you include (across all three pages) might look like the below:
1. Use only one method for hreflang implementation
For instance, if you are implementing the XML sitemap method ensure there are not any ‘hreflang tags’ in HTML tags in the head.
2. Hreflang structure for Sitemaps
You should consider splitting up your large sitemap into smaller child sitemaps. We can also optionally create a sitemap index file (a file that points to a list of sitemaps).
Here are a couple of points to consider when splitting your sitemap:
You do not need to implement hreflang for the parent sitemap index files
All formats limit a single sitemap to 50MB (uncompressed) and 50,000 URLs
Hreflang URLs are excluded from the total number of URLs limit
Implement hreflang only for child sitemaps that you want to include in hreflang 1:1 URL mapping
Examples of child sitemaps based on your site structure or content may include:
Product detail pages
Support product detail pages
Product list pages or category pages
Product group pages
3. Cross-domain validation (1:1 URL mapping)
You can omit hreflang attributes from some sections of the site or a page on a specific market. Google will still process the ones that point to each other.
Here are some examples:
Sections you can omit hreflang from include events pages, press releases, product advisories, as these sections are unique to their market
You can omit certain language regions or markets for some pages if the alternate URL is not available on that specific market. For example, if one PDP page is available on UK and DE market and not on FR, then we only include hreflang for UK and DE and omit FR for that specific page.
You should always validate the alternative versions of each page on the other markets. Here is an example:
Validate the alternative versions of each page on the other markets.
Category 1 page in the UK (en-gb): https://www.example.co.uk/category1/
Category 1 page in Ireland: (en-ie) https://www.example.ie/category1/
Category 1 page in Germany: (de-de) https://www.example.de/category1/
Category 1 page in the US: (en-us) https://www.example.com/us/category1/
4. Hreflang attributes should only point from canonical URLs to canonical URLs
Hreflang should not contain broken links or links to non-canonical URLs - trailing slash, www and non-www, HTTPs, query strings, URL parameters, etc...
5. Hreflang tags should point to a page that is indexable with an HTTP status code of 200
Do not point to no-index pages or redirected pages. You should also not be blocked by robots.txt.
6. Use the correct country and language codes
- Language-region (hreflang="en-gb”) is valid. I.e., hreflang="en-gb”, hreflang="en-us", hreflang="de-de", hreflang="de-at"
- Language (hreflang="en”) is valid. I.e., hreflang="en”, hreflang="de", hreflang="es”.
- Region alone (hreflang="gb”) is invalid. I.e., hreflang="gb”, hreflang="uk".