Introduction

When implementing an international website, the first decisions to make is whether it is going to be a multilingual website or a multiregional website or both. Next, one must chose an architecture for the website.

What Is The Best Architecture?

There are four main options: ccTLDs (country code top level domains), subdomains, subfolders and query parameters. Say your main domain name is mydomain.com:

  mydomain.us and mydomain.jp are examples of ccTLDs
  us.mydomain.com and jp.mydomain.com are examples of subdomains
  mydomain.com/us and mydomain.com/jp are examples of subfolders
  mydomain.com/mypage.html?lang=en is an example of URL parameter usage

From an SEO perspective, the most efficient architecture is using subfolders, but it is not always possible. Domain authority, indexing and ranking is established faster. Overall, it requires less maintenance efforts too.

If separate metrics are required per language or region, or if content must be hosted on separated servers, using ccTLDs or subdomains is a better option. These will allow you to configure geotargeting in Google Search Console by setting a target country for each domain name (or subname).

If you decide to use URL parameters, which is the hardest to implement and maintain, don't forget to configure the parameters in Google Search Console and Bing Webmaster to eliminate risks of improper indexing.

How To Set The Language Of A Website?

For HTML document, a meta tag can be used:

  <head>
    <meta http-equiv="content-language" content="jp">
    ...
  </head>

However, the lang attribute is more common nowadays and lets one define language for different parts of the document:

  <html lang="jp">
    ...
    <p lang="fr">...</p>
    ...
  </html>

The language can also be set in HTTP headers. This is necessary when returning non-HTML documents such as mp3 and PDFs for example.

How To Use The hreflang Meta Link To Avoid Duplicates?

Say you have a page written in English, and you have translated it into Japanese, Italian, Canadian French and Belgian French. In order to let search engine know translations of your page are available, you can use the hreflang meta link. This will help them index and serve the proper page according to the user's language in search results.

For the English page, you should set the following:

  <head>
    <link rel="alternate" href="site.en/p.html" hreflang="x-default" />
    <link rel="alternate" href="site.jp/p.html" hreflang="jp" />
    <link rel="alternate" href="site.it/p.html" hreflang="it" />
    <link rel="alternate" href="site.ca/p.html" hreflang="fr-CA" />
    <link rel="alternate" href="site.be/p.html" hreflang="fr-BE" />
    ...
  </head>

The x-default value tells search engines this is the default page to be served if no other page suits the user's language and/or location/region.

For the Japanese page, you should set the same to confirm alternate links:

  <head>
    <link rel="alternate" href="site.en/p.html" hreflang="x-default" />
    <link rel="alternate" href="site.jp/p.html" hreflang="jp" />
    <link rel="alternate" href="site.it/p.html" hreflang="it" />
    <link rel="alternate" href="site.ca/p.html" hreflang="fr-CA" />
    <link rel="alternate" href="site.be/p.html" hreflang="fr-BE" />
    ...
  </head>

Proceed similarly with remaining pages. Keep in mind you need to use either a language code in hreflang or a combination of language code and country code.

You can use a site's sitemap.xml to specify alternative language version of a page:

  <?xml version="1.0" encoding="UTF-8"?>
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:xhtml="http://www.w3.org/1999/xhtml">
    <url>
      <loc>http://site.en/p.html</loc>
        <xhtml:link rel="alternate" hreflang="jp"
          href="http://site.jp/p.html" />
        <xhtml:link rel="alternate" hreflang="it"
          href="http://site.it/p.html" />
        <xhtml:link rel="alternate" hreflang="fr-CA"
          href="http://site.ca/p.html" />
        <xhtml:link rel="alternate" hreflang="fr-BE"
          href="http://site.be/p.html" />
    </url>
  </urlset>

Regarding SEO, there is no difference between using meta links or sitemaps to specify alternative pages.

SEO Mistakes & Best Practices

• Using separate ccTLDs for each language makes sense if there is substantial content for each language.
• ccTLDs are used as a strong signal for geolocation.
• Google algorithms don't use the geo.region meta tag.
• If no geographical or language information is available, Google will use the server's location.
hreflang has no impact on ranking.
• There is no limit to the number of sites and pages one can connect to with hreflang.
• If a hreflang is wrong, Google can override it.
• Multiregional is not to be confused with geo targeting.
• It is not necessary to have a server in Germany to target German users.
• If an English page points to a German page, the German page will benefit from content of the English page.