If your website has many languages you will need to optimize your site to ensure each language ranks in its respective country. This article will go into the details on how to set up the URL structure and how to signal to search engines which language you prefer to rank in which countries. Finally, we will cover how to get your international site to rank in the countries which languages you don’t support.
There are many different ways you can structure your multi-lingual website. Google has a whole list of recommended best practices here. I will summarize your options below:
Country Code Top Level Domains (ccTLD) are the strongest signal to Google on which country your site is relevant to. For example Tory Burch uses http://www.toryburch.com for US and toryburch.co.uk for UK.
The second best way to structure the URL’s on your multi-language site is use a separate sub domain for each language. For example: fr.example.com or us.example.com. There are several benefits of using this approach:
a) You a can have a separate Google Webmaster tools accounts for each sub domain (this will allow you to set geo-targeting)
b) You can change the server location of each sub domains. For example, you can host fr.example.com’s content on a server located in France. Google does not use server location as a ranking factor, but you may want a local server to decrease load time.
Another way to structure your website is to put each language in a sub directory such as http://www.example.com/fr/
The absolutely worse way to handle multi languages is to use URL parameters to change the language for example: http://www.example.com/?lan=fr
Rel=”alternate” and Language Sitemaps
If you are not using a ccTLD you have a two options to signal to Google the different version of each page:
1) Insert rel=”alternate” in the head section of every page
This is done by putting the following code in the <head> section of each page, listing all the alternate versions:
<link rel=”alternate” href=”http://example.com/en-ie” hreflang=”en-ie” />
<link rel=”alternate” href=”http://example.com/en-ca” hreflang=”en-ca” />
<link rel=”alternate” href=”http://example.com/en-au” hreflang=”en-au” />
<link rel=”alternate” href=”http://example.com/en” hreflang=”en” />
You can look up the language codes for each language you have here.
2) Submit a language sitemap in Google Webmaster Tools (we will discuss this more below)
For both options you should set GEO targeting in Google Webmaster Tools. (you should do this no matter if you use rel=”alternate” or a language sitemap)
Should you use a Language sitemap or Rel=”alternate”?
You can signal to Google your language structure by using the rel=”alternate” tag in the head section of every page of your website, or alternatively you can submit a language sitemap. I prefer the latter option because it does not require any coding. But if you are setting up a large scale website you may want to use the rel=”alternate” tag in the head section.
Weather you decided to use an XML sitemap or put rel=”alternate” in the head section, the idea is to list all the various language alternatives for each page.
For example, these might be all the version of your homepage:
- English version – http://us.example.com/en/bras.html
- French version – http://fr.example.com/fr/bras.html
- Spanish version – http://es.example.com/es/bras.html
- Internal site – http://www.example.com/bras.html
So what if your site has 5 languages, and someone searches in a country that is not one of those 5 languages, which site will show up? You can set a fall back language by using the default-x in your sitemap or rel=Alternate tags in head section.
<link rel=”alternate” href=”http://example.com/en” hreflang=”x-default” />
<xhtml:link rel="alternate" hreflang="x-default" href="http://www.example.com/" />
Selecting the Language of your Default Website
It’s important that you make the language of your international site the best for your users. If you have Google analytics history from any of your web properties you may want to perform a gap analysis to see the most popular language that you are missing. To see the languages on your site go to Audience > Geo > Language in Google Analytics.
Language Sitemap (my preferred option)
I prefer using the language sitemap option because it does not require any custom coding. (your dev team will be happy) This language sitemap needs to be in XML format and submitted through Google webmaster tools. Ideally, you should submit a language sitemap for each a language. (if you using a sub domain structure you can set up separate GWT accounts for each sub domain) .
To create the XML file I used This tool which will allow you to convert an excel file with your URL’s into a XML sitemap.
Start off by finding out the language codes for each language you have, you can look up the language codes here. Put the languages you want to use in the row 1. (These will be the headers). Below each language list all the URLs for each language.
The easiest way to find out all your URL’s is to use a tool such as screamingfrog or ahrefs. A problem that I faced when working with my client was that, each page on the US version didn’t necessary exists on the other languages. To solve this problem, I pretended that URLs existed on each language and then I used SEO tools for excel to check the http status of the each page. The pages the resulted in the 404, I simply deleted.
Once you are finished with your excel sheet save it as comma delaminated csv and upload it to here. This website will convert your excel sheet to XML. Next, simply upload your XML file to your server and submit the URL in webmaster tools.
GWT forces you to have the file location on the sub domain for that specific account. If you can’t upload the file to that subdomain you can set up a redirect for the subdomain to the actual location, which can be located where ever you want.
For example , for one of our clients, I was only able to upload a sitemap to the international site (example.com) and I need to submit this sitemap in the webmaster tools account for us.example.com/en/.
So I created a redirect from http://www.example.com/sitemap/us-language-sitemap.xml to http://us.example.com/en/us-language-sitemap.xml and it worked fine.
Setting Geo Targeting in Google Webmaster Tools
Another thing you can you do is set your preferred Geo targeting in Google webmaster tools. You can do this by going to Site Settings section.
If you did everything correctly you should see results in the SERP within a couple days. If you don’t you did something wrong.
If you are having trouble with you international site, I suggest you submit your problem to the Google Webmaster Internationalization help forum, you normally can expect to get an answer within a couple days from either another SEO or a Google employee.
What about Bing?
Unfortunately, Bing does not support language sitemaps. The only way to optimize is to insert meta language tags in the <head> section of each page.
<meta http-equiv=”content-language” content=”en-us”>
You can also set Geo Targeting in Bing webmaster tools. For more info read Bing’s guide to international sites.