Anthony
Home Page

Home Page

Hreflang - Localizing for SEO Success

Hreflang - Localizing for SEO Success

Anthony's photo
Anthony

Published on Nov 13, 2021

3 min read

So much time is spent optimizing sites for its primary language that it can be easy to forget that there are many other languages -- and many more customers -- that can be reached with that same content. This is where multi-lingual versions of your content can come in handy.

Strategically, if you use your content as marketing for a business, then most of the cost involved is in the researching, writing, and maintenance of that content (primarily blog articles for most software businesses). So translating writing articles to another language is a very cost-effective way to expand your reach, providing your app is able to support multiple languages and perhaps also multiple markets. But how do you go about this?

If you are starting with an article you'll need to get it translated. Most people opt for computer translation, but Google has told us that computer translation alone is not great for SEO. So the best route is normally computer translation with the aid of a editor fluent that language to correct any issues and clear up any confusion.

That part was obvious, but what then?

Now you'll want to section off part of your site into something specific to that language. Search engines like folders, so something like /articles/es/ would be a good place to put your Spanish articles, provided that ./articles/ is where your English articles live. If you are starting fresh then you might want to put those English articles in /articles/en/. If region is important to you in addition to language, you could extend that to /articles/en-us/ but this might be a bit too much for small businesses.

To make sure search engines understand this, you'll want to then master the use of hreflang. This is how links, and really URLs, are localized. It's a w3c standard that is widely used with near-universal support.

Hreflang will let Google (and other search engines) know that specific content isn't duplicate of other content, it's simply the version that should be displayed to people in certain regions or with their browser set to a specific language, or both.

In practice hreflang is very simple to implement. In the head section of your document's HTML you need to add something like:

<link rel="alternate" hreflang="en-gb" href="/en-gb/page.html" /> <link rel="alternate" hreflang="en-us" href="/en-us/page.html" />

(it's best to use absolute links, but I'll use relative ones here to prevent autolinking)

This tells search engines that if a user has a browser set to British English (en-gb) the should see one page but if they are using American English (en-us) they should see another. This is a very strong hint to search engines, but they may or may not follow it, so it's a less forceful method of directing users than finding out their location via IP (etc.) and forwarding them to a different page.

Keep in mind, each article needs link rel="alternate" entries for all the related articles! So you might have many lines of rel= links.

Also keep in mind that each page should link rel to itself with the correct language.

Localization, Not Translation

Another important thing to know is that each page's contents does not need to be simply a translation! If a situation is fundamentally different in another place, the page should accurately reflect that. For example, if your article is about product recalls in one country, the content in the German article could be significantly different from the one for the US. Other issues, say something explaining a scientific topic, might simply be a translation because the facts don't vary with the locality.

No Language? No Problem

If you don't have full language coverage then you don't have to worry about it, because of [hreflang="x-default"](https://developers.google.com/search/docs/advanced/crawling/localized-versions) which will set an article as being the preference for languages which you don't have explicitly set with your rel="alternate" tags.

 
Share this