International SEO: Language and Geo-regional URLs

Using language annotations URLS

Imagine you have an English language page hosted at http://www.example.com/, with a Spanish alternative at http://es.example.com/. You can indicate to Google that the Spanish URL is the Spanish-language equivalent of the English page in one of three ways:

  • HTML link element in header. In the HTML <head> section of http://www.example.com/, add a link element pointing to the Spanish version of that webpage at http://es.example.com/, like this:
    <link rel="alternate" hreflang="es" href="http://es.example.com/" />
  • HTTP header. If you publish non-HTML files (like PDFs), you can use an HTTP header to indicate a different language version of a URL:
    Link: <http://es.example.com/>; rel="alternate"; hreflang="es"

    To specify multiple hreflang values in a Link HTTP header, separate the values with commas like so:

    Link: <http://es.example.com/>; rel="alternate"; hreflang="es",<http://de.example.com/>; rel="alternate"; hreflang="de"
  • Sitemap. Instead of using markup, you can submit language version information in a Sitemap

If you have multiple language versions of a URL, each language page must identify all language versions, including itself.  For example, if your site provides content in French, English, and Spanish, the Spanish version must include a rel="alternate" hreflang="x" link for itself in addition to links to the French and English versions. Similarly, the English and French versions must each include the same references to the French, English, and Spanish versions.

You can specify multi-language URLs in the same domain as a given URL, or use URLs from a different domain.

It’s a good idea to provide a generic URL for geographically unspecified users if you have several alternate URLs targeted at users with the same language, but in different locales. For example, you may have specific URLs for English speakers in Ireland (en-ie), Canada (en-ca), and Australia (en-au), but want all other English speakers to see your generic English (en) page, and everyone else to see the homepage. In this case you should specify the generic English-language (en) page for searchers in, say, the UK. You can annotate this cluster of pages using a Sitemap file or using HTML link tags like this:

<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" />

For language/country selectors or auto-redirecting homepages, you should add an annotation for the hreflang value “x-default” as well:
<link rel="alternate" href="http://example.com/" hreflang="x-default" />

Supported language values

The value of the hreflang attribute identifies the language (in ISO 639-1 format) and optionally the region (in ISO 3166-1 Alpha 2 format) of an alternate URL. For example:

  • de: German content, independent of region
  • en-GB: English content, for GB users
  • de-ES: German content, for users in Spain

Do not specify a country code by itself! Google does not automatically derive the language from the country code. You can specify a language code by itself if you want to simplify your tagging.  Adding the country code after the language to restrict the page to a specific region.  Examples:

  • be: Belarusian language, independent of region (not Belgium French)
  • nl-be: Dutch for Belgium
  • fr-be: French for Belgium

For language script variations, the proper script is derived from the country. For example, when using zh-TW for users zh-TW, the language script is automatically derived (in this example: Chinese-Traditional). You can also specify the script itself explicitly using ISO 15924, like this:

  • zh-Hant: Chinese (Traditional)
  • zh-Hans: Chinese (Simplified)

Alternatively, you can also specify a combination of script and region—for example, use zh-Hans-TW to specify Chinese (Simplified) for Taiwanese users.

Finally, the reserved value “x-default” is used for indicating language selectors/redirectors which are not specific to one language or region, e.g. your homepage showing a clickable map of the world.

Common Mistakes

Important: Make sure that your provided hreflang value is actually valid. Take special care in regard to the two most common mistakes:

  • Missing confirmation links: If page A links to page B, page B must link back to page A. If this is not the case for all pages that use hreflang annotations, those annotations may be ignored or not interpreted correctly.
  • Incorrect language codes: Make sure that all language codes you use identify the language (in ISO 639-1 format) and optionally the region (in ISO 3166-1 Alpha 2 format) of an alternate URL. Specifying the region alone is not valid.

Example hreflang configuration: Annotations in action

Example Widgets, Inc has a website that serves users in the USA, Great Britain, and Germany. The following URLs contain substantially the same content, but with regional variations:

  • http://www.example.com/ Default page that doesn’t target any language or locale; may have selectors to let users pick their language and region.
  • http://en.example.com/page.html English-language homepage. Contains information about fees for shipping internationally from the USA.
  • http://en-gb.example.com/page.html English-language; displays prices in pounds sterling.
  • http://en-us.example.com/page.html English-language; displays prices in US dollars.
  • http://de.example.com/seite.html German-language version of the content

rel="alternate" hreflang="x" is used as a page level, not a site level, and you need to mark up each set of pages, including the home page, as appropriate. You can specify as many content variations and language/regional clusters as you need.

To indicate to Google that you want the German version of the page to be served to searchers using Google in German, the en-us version to searchers using google.com in English, and the en-gb version to searchers using google.co.uk in English, use rel="alternate" hreflang="x" to identify alternate language versions.

Update the HTML of each URL in the set by adding a set of rel="alternate" hreflang="x" link elements. For the default page that doesn’t target any specific language or locale, add rel="alternate" hreflang="x-default":

<link rel="alternate" hreflang="x-default" href="http://www.example.com/" />
<link rel="alternate" hreflang="en-gb" href="http://en-gb.example.com/page.html" />
<link rel="alternate" hreflang="en-us" href="http://en-us.example.com/page.html" />
<link rel="alternate" hreflang="en" href="http://en.example.com/page.html" />
<link rel="alternate" hreflang="de" href="http://de.example.com/seite.html" />

This markup tells Google’s algorithm to consider all of these pages as alternate versions of each other

2216total visits,1visits today

4 thoughts on “International SEO: Language and Geo-regional URLs

  • There is many ways to translate. Of course hiring a native translator in a permanent basics could be cost effective on the long rung oppose to paying for professional translating services, which can be quite costly. I think it depends not he content that needs translation of it is just a a landing page with a handful of pages, then by all means get a professional translation services.

    Look here is a list of professional translators, prices and reviews
    http://furqe.com/hire-writers

    To Hire native speakers translators you can use services like
    http://upwork.com
    htpp://freelancer.com
    or Craigslist, but dont use the USA craigslist. Craigslist has a list of ALL countries and regions.

    In my opinion, International SEO was a lot easier pre-Penguin. Now, unless you have a local speaker/translator, the content development required to really be successful is almost impossible. Also… “Naver” is a big search engine in Korea. Very different from Google or Bing… more of a web portal like Yahoo.

    cl worldwide
    africa
    americas
    asia
    europe
    middle east
    oceania

    Example of posting a job search for translators in craigslist:

    Craigslits americas
    argentina
    bolivia
    brazil
    canada
    caribbean
    chile
    colombia
    costa rica
    dom republic
    ecuador
    el salvador
    guatemala
    mexico
    nicaragua
    panama
    peru
    puerto rico
    united states
    uruguay
    us virgin islands
    venezuela
    asia
    europe
    middle east
    oceania

    Cragslist Europe

    Europe
    austria
    belgium
    bulgaria
    croatia
    czech republic
    denmark
    finland
    france
    germany
    greece
    hungary
    iceland
    ireland
    italy
    luxembourg
    netherlands
    norway
    poland
    portugal
    romania
    russia
    spain
    sweden
    switzerland
    turkey
    ukraine
    united kingdom
    middle east
    oceania

  • Thanks in favor of sharing such a good idea. Geotargeting in internet marketing is a great way to determine the geological way to set up your website to a determine target audience in certain regional area. This way different content is delivered. This way different content is delivered to that visitor based on his or her location, such as country, region/state, city, metro code/zip code, organization, IP address, ISP or other criteria.

  • Pingback: Stephen Lee

Leave a Reply