Skip to primary navigation Skip to content Skip to footer

SEO Best Practices for Multi-Language Websites

Last updated on June 24, 2021
13 minute read
Key Takeaways

  • Multi-language sites need a clearly segmented URL structure.
  • Tags help Google understand the languages and regions targeted.

Skill Level

All Skill Levels

In the tourism industry, it’s common for businesses to have websites in more than one language. For example, if you run a sightseeing tour business in England, you may have English, French, and Spanish versions of your website to target visitors from neighboring countries. When a user searches for keywords related to your company, search engines try to find pages that match the user’s language. This can be a deciding factor when choosing which company to book with — according to a Google blog, a majority of users feel that having information in their own language is more important than a low price.

This guide will cover SEO best practices for multi-language sites to ensure that search engines can easily find your website in each language that you offer. 

Domain & URL Structure

A multi-language site tends to be larger and more complex than a site in one language. It’s a lot of work for Google to figure out the geo targeting for each and every one of your pages, but a clear URL structure will make Google bots’ job easier, which in turn gives you a better chance in the rankings. By geo targeting your URL structure — segmenting different language sections of your website to target users in certain regions — Google can quickly understand which version of your site to serve up to which users.

There are three different ways to segment your URL structure.

Country Code Top Level Domain

A top-level domain (TLD) is what follows the base of the domain, such as .com, .net, and .org. A country code top-level domain (ccTLD) corresponds to a specific country, such as .fr for France and .uk for the United Kingdom. 


  • It’s easy to segment each language of your site using the corresponding ccTLD.
  • The geo targeting is clear — the .fr version of your website is targeting users in France. 
  • The location of your server doesn’t determine geo targeting — Google gets that information from your ccTLD.


  • It can be expensive to purchase multiple ccTLD domains for your website, and you might not be able to find the same domain available for each country. 
  • It creates a more complicated infrastructure with constantly changing requirements. Governments often set the policies for their country’s ccTLD, so if you use a variety of them, there are more rules and regulations to be aware of, and these can have consequences for you as well as your users. These regulations can change quickly, and it’s a lot of work to stay up to date on these and make any necessary changes to your website. 


A subdomain is a subsection of your domain that is used to create a separate segment of your website. For example, if your domain is, the subdomain for the French version of your website would be 


  • Subdomains are easy to set up using your domain hosting service.
  • You can easily geo target your subdomains using Google Search Console.
  • It’s easy to keep your different languages separate using different subdomains for each one. 
  • You can host your subdomain on a different server than your main domain. Subdomains can use up a lot of bandwidth and resources, and hosting on separate servers can give you a little more leg room. 


  • Users might not always recognize the geo targeting just from looking at the URL — is the English version of the site or is it only for people in the UK?


Subdirectories or subfolders are part of the domain hierarchy and are used to nest parts of your site — for example, for the English version and for the Spanish version.


  • It’s easy to set up using your existing CMS. 
  • You can easily geo target your subdomains using Google Search Console.
  • It’s low maintenance because all the parts of your site are hosted and managed in the same place. 


  • Users may not immediately recognize the geo targeting from the URL alone. (However, Google will as long as you geo target using Google Search Console.)
  • Your subdirectories will be hosted in the same server as your domain, which can use up a lot of your server’s bandwidth. 
  • It can make the separation of your different languages a little more complicated.  

FareHarbor recommends using a subdirectory for your multi-language website because it’s the easiest to set up and maintain while still giving Google the important information it needs to understand your pages’ languages and geo targeting. 

Hreflang Tags

Multi-language sites typically use hreflang tags, an HTML snippet of code you can add to a specific webpage to tell Google what language that page is in and what geographical area it’s targeting. Hreflang tags also help Google understand the relationship between the same page in multiple different languages. Hreflang tags have many SEO benefits:

  • Better User Experience: Imagine you’re an English-speaking searcher looking for a tour in Denmark. If Google serves you up a website in Danish, you would leave that site pretty quickly to look for a website in English. Using hreflang tags makes it easier for Google to serve the right version of a website for a particular user, resulting in a lower bounce rate and a longer time on the page for that website, which has a positive impact on rankings. 
  • Avoid Duplicate Content Issues: Say you have two versions of a page — one targeting users in the UK with British English spellings, and one targeting US users with American English spellings. The content on these pages is almost identical, as very few words have different spellings, so Google might see them as duplicate content and choose only one version of the page to index. Using hreflang tags to tell Google that these pages have different geographical targets, you make it easier for the search engine to understand how each page should be indexed and when they should be served up to searchers. 

Hreflang supports any two-letter ISO 639-1 code. Don’t worry if you don’t know what that means — ISO 639-1 is simply a standardized way of naming and classifying languages using two lowercase letters, such as “en” for English, “es” for Spanish, and “fr” for French. You can see a full list of the supported languages here

Let’s take a look at an example of what an hreflang tag looks like: 

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

If you’re not familiar with hreflang tags, this can look confusing, but once you break it down, you’ll see it’s simple:

  • link rel=“alternate”: This means that the link in this tag is an alternate version of this page.
  • hreflang=“fr”: This part specifies that this version is alternate because it’s in a different language, and that language is French.
  • href=“”: This indicates that the alternate page can be found at this URL.

Self-Referential Tags

According to Google, when working with a multi-language site, “each language version must list itself as well as all other language versions.” Hreflang tags are bidirectional and work by showing the relationship between the pages. This means that if you add a hreflang tag to an English page pointing to the French version, then the French version must also have a hreflang tag pointing to the English page. 

Let’s take a look at an example of how you would correctly tag the English and French versions of the same webpage: 

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

In this example, the first tag specifies the URL of the alternate French version of the page, and the second is a self-referencing tag that points back to the English page. By making sure the English and French versions are pointing toward each other, Google can easily choose which one to serve up to a user searching in either language.

X-Default Hreflang Attribute Value

Of course, you’re not expected to have a version of your website for every language out there. There are some steps you can take to guide users to languages they’re comfortable with when you don’t have a version of your site in their language. You can use an x-default tag to specify the page where the user can select the country or language that will best suit their needs.

For example, if a user in Italy navigates to your site and you don’t have an Italian version, they will be taken to the page that has the x-default tag. From there, they can decide if they want to view your site in the English, French, or Spanish version. 

Let’s look at an example of what the tags would look like when your site is available in French, Spanish, German.

  • <link rel=“alternate” href=“” hreflang=”fr” />
  • <link rel=“alternate” href=“” hreflang=”es” />
  • <link rel=“alternate” href=“” hreflang=“de” />
  • <link rel=“alternate” href=“” hreflang=”x-default” />

In this example, would be the default page for users who are not in France, Spain, or Germany, and they would be prompted to select one of the available languages to browse your website. 

Targeting a Locale 

This step is optional, but hreflang tags also allow you to target a specific region or country in addition to a language. This is only necessary when you wish to target speakers of a particular language in a particular locale. To designate the country, you would use the ISO 3166–1 alpha‑2 format, which is similar to the ISO 639-1 format we discussed earlier, using a lower-case two-letter code for each country. 

  • English speakers in the UK: <link rel=”alternate” hreflang=”en-gb” href=”” />
  • English speakers in the US: <link rel=”alternate” hreflang=”en-us” href=”” />

Translate Your Metadata

Once you’ve done all this segmentation work, it’s important to make sure that each page on your website has metadata in the correct language. Don’t forget to check that the title tag, header tags, and meta description have all been translated. This makes for a better user experience and increases the chances of a user clicking on your page from the SERP. Make sure that all the content, image alt text, internal links, and everything else on the page is in the corresponding language as well. 

Stick to One Language per Page

Although hreflang tags help signal to Google what language a page is in, Google uses the content on the page itself to determine the language. Make sure you’re using one consistent language on each page to make Google’s job easier. In addition to translating all the elements mentioned in the point above, it’s best to avoid side-by-side translations, meaning don’t have the English and French versions of the content on the same page. This will create confusion for the user as well as search engines. 

Give the User the Option to Switch the Page Language

It’s a best practice to allow users to easily choose the language they would like to see. This is commonly done by adding a dropdown menu in the menu bar that allows the user to toggle to whichever language they prefer. Do not automatically redirect a page based on the user’s perceived language. Adding these kinds of redirections could prevent both users and search engines from easily accessing the different versions of your website. 

International SEO best practices are always changing and evolving to better suit the needs of users. By following these steps to create a better user experience for your customers and help Google to better understand your site, you are one step closer to achieving success in the SERPs. Ready to branch out into new languages? Read our guide on translating your website. 

Related Guides