Elie Orgel

International / Multi-Language SEO

international flagsIf 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.

URL Structure

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.

Sub Domain

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.

Sub Directory

Another way to structure your website is to put each language in a sub directory such as http://www.example.com/fr/

URL Parameters

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

Default Website

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.

Head Section

<link rel=”alternate” href=”http://example.com/en” hreflang=”x-default” />

XML Sitemap

<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.

language sitemap in excel example

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.

Geo Targeting in Google Webmaster Tools


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 ­lan­guage tags in the <head> section of each page.

For example:

<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.




Be Sociable, Share!


  1. Very interesting post Elie! Thank you. I favor the language sitemap option as well, but I face a dilemma with GWT. My site has language options in sub-directories. For SEO purposes, the URL parameter for each language appears as such: http://www.mysite.com/language.
    In GWT, I’ve added each language and I managed to submit the English sitemap URL for the main domain only (www.mysite.com). However, for the other languages, I can’t submit their sitemap URLs because of their URL parameter.
    For example, the sitemap URL for French language is: http://www.mysite.com/index.php?route=feed/google_sitemap_extra&language=fr. The “fr” is placed at the end of the URL, and not after “.com” which causes a problem if I want to submit the sitemap URL using the ADD/TEST SITEMAP button in GWT.


    • Laurent,

      You can try creating a fake URL such as mysite.com/french-sitemap and have that 301 redirect to the real location of your sitemap. Then, submit that fake URL in Google Webmaster tools. That might do the trick.

      Let me know if that helps.


  2. Erfan says:

    i created multi language site with php
    but after add multi language My stats drastically reduced

    pls help me ….

Speak Your Mind