Back to previous page

Hreflang Tags & International SEO


8 min read

Written by


Argos Multilingual

Published on

17 Feb 2023

 If you’re creating content in multiple languages, you’ve probably heard of hreflang tags by now. But how do they work? And what codes do you need to use to ensure that you’re giving search engines all the right signals? Plus, what about different locales? To answer those questions, let’s look at what hreflang tags are and how to create them, and finish off with a handy list of languages and locales you can use to create your own hreflang tags.

What are hreflang tags?

Simply put, hreflang tags are an HTML attribute that tells Google what language your page is in. They are useful if you have pages on your website that are in multiple languages and you’re looking to specify which page should be served to which users.

Here you can see that this website has its hreflang tags set up, so it will serve the Irish or the English version as needed.

Why do hreflang tags matter?

There’s little worse than being on a website and not being able to find information in your own language. There’s no guarantee that your potential customers have a working knowledge of English, which means that if your content is in English, people simply won’t be clicking on it.

If they click on it, they’re more likely to bounce because the product they’re looking at might not be available where they are, or maybe they couldn’t find how to change the language easily. There are plenty of reasons why they end up bouncing when it comes to language, and it impacts the overall experience customers have with your brand.

How to create hreflang tags

There’s no secret recipe; all you must do is follow the formula below, making sure you add in an ISO 639-1 language code (which we’ve got listed for you below!) and the URL you want to tag.

<link rel=”alternate” hreflang=”x” href= />

So, to show you how that would look using Argos as an example, imagine we had a French version of this blog post:

<link rel=”alternate” hreflang=”fr” href= />

Then we’d put this piece of code in the <head> tag of our English blog post to signal that there is a French version available. We’d need to do the same on the French version to signal that there is an English version available, which would look like this:

<link rel=”alternate” hreflang=”en” href= />

You must make your hreflang tags reciprocal, as they need to be on both the English and French pages to work.

Make sure you’re using locales

Suppose you’re like many of our customers, and you’re targeting different regions that speak the same language, e.g., Australia, South Africa, Ireland, the UK, Canada, and the USA. In that case, you can add locales to your hreflang tags. This is vital if you’re targeting multiple markets, as it’ll ensure that English speakers get the page right for them instead of being served the US page all the time.

Using the same example above, imagine we’re targeting French spoken in Belgium and English spoken in Ireland. We’ve added the country code next to the language to specify which country we’re targeting.

<link rel=”alternate” hreflang=”fr-be” href= />

<link rel=”alternate” hreflang=”en-ie” href= />

This is something that many websites forget to do, and it’s a great way to boost your website visibility in countries like Brazil, Spanish-speaking Latin America, and English-speaking markets outside the US, to name a few.

ISO 639-1 language codes

Here we’ve put together a handy list of ISO 639-1 language codes, including locales, so you can implement your hreflang tags easily.

Afrikaans af
Albanian sq
Arabic ar
Arabic – Algeria ar-dz
Arabic – Bahrain ar-dz
Arabic – Algeria ar-bh
Arabic – Egypt ar-eg
Arabic – Jordan ar-jo
Arabic – Kuwait ar-kw
Arabic – Lebanon ar-lb
Arabic – Libya ar-ly
Arabic – Morocco ar-ma
Arabic – Oman ar-om
Arabic – Qatar ar-qa
Arabic – Saudi Arabia ar-sa
Arabic – Syria ar-sy
Arabic – Tunisia ar-tn
Arabic – U.A.E ar-ae
Arabic – Yemen ar-ye
Basque eu
Belarusian be
Bulgarian bg
Catalan ca
Chinese zh
Chinese (Hong Kong) zh-hk
Chinese (PRC/Mainland China) zh-cn
Chinese (Singapore) zh-sg
Chinese (Taiwan) zh-tw
Croatian hr
Czech cs
Danish da
Dutch (The Netherlands) nl-nl
Dutch (Belgium) nl-be
English en
English (Australia) en-au
English (Canada) en-ca
English (Ireland) en-ie
English (India) en-in
English (Jamaica) en-jm
English (New Zealand) en-nz
English (South Africa) en-za
English (Trinidad) en-tt
English (UK) en-uk
English (USA) en-us
Estonian et
Farsi fa
Finnish fi
French fr
French – Belgium fr-be
French – Canada fr-ca
French (Luxembourg) fr-lu
French (Switzerland) fr-ch
Gaelic (Scots) gd
German de
German (Austria) de-at
German (Luxembourg) de-lu
German (Switzerland) de-ch
Greek el
Hebrew he
Hindi hi
Hungarian hu
Icelandic is
Indonesian id
Irish ga
Italian it
Italian (Switzerland) it-ch
Japanese ja
Korean ko
Kurdish ku
Latvian lv
Lithuanian lt
Macedonian mk
Malayalam ml
Malaysian ms
Maltese mt
Norwegian no
Norwegian (Bokmal) nb
Norwegian (Nynorsk) nn
Polish pl
Portuguese (Portugal) pt
Portuguese (Brazil) pt-br
Punjabi pa
Romanian ro
Romanian (Moldova) ro-md
Russian ru
Serbian sr
Slovak sk
Slovenian sl
Spanish es
Spanish (Argentina) es-ar
Spanish (Bolivia) es-bo
Spanish (Chile) es-cl
Spanish (Columbia) es-co
Spanish (Costa Rica) es-cr
Spanish (Dominican Republic) es-do
Spanish (Ecuador) es-ec
Spanish (El Salvador) es-sv
Spanish (Guatemala) es-gt
Spanish (Honduras) es-hn
Spanish (Mexico) es-mx
Spanish (Nicaragua) es-ni
Spanish (Panama) es-pa
Spanish (Paraguay) es-py
Spanish (Peru) es-pe
Spanish (Puerto Rico) es-pr
Spanish (Uruguay) es-uy
Spanish (Venezuela) es-ve
Swedish sv
Thai th
Turkish tr
Ukrainian uk
Urdu ur
Vietnamese vi
Welsh cy
Xhosa xh
Yiddish ji
Zulu zu


Final Thoughts

As you can see, hreflang tags may sound scary, but if you follow the correct formula, they’re nothing to worry about. So, if you’re looking to take your global content to the next level or need a hand getting your content set up correctly, get in touch.

Share this post

Copy LinkFacebookXLinkedIn

Subscribe to the Argos Newsletter

Stay in the know with all things translation with our ad-free newsletter. Every other week, no spam. We guarantee.

Get in touch

Ready to get started?

We are committed to giving you freedom of choice while providing subject matter expertise and customized strategies to fit your business needs.

Contact us

Join our newsletter

Stay in the know with all things translation with our ad-free newsletter. Every other week, no spam. We guarantee.

Skip to content