Home » Articles » Web Development » How to Manage Multi-Regional and Multilingual Sites

If your site offers different content to users in different languages, countries, or regions, you can optimize Google Search results for your site. This guide will help you understand the difference between multilingual and multi-regional sites and show you how to set them up properly.

What’s the Difference Between Multilingual and Multi-Regional Sites?

A multilingual website is any website that offers content in more than one language. For example, a Canadian business with English and French versions of its site. Google Search tries to find pages that match the language of the searcher.

Example of a multilingual site:

English version: "Welcome to our store"
French version: "Bienvenue dans notre magasin"
German version: "Willkommen in unserem Geschäft"

A multi-regional website is one that explicitly targets users in different countries. For example, a product manufacturer that ships to both Canada and the United States. Google Search tries to find the right locale page for the searcher.

Example of a multi-regional site:

US version: "Free shipping within the United States. Prices in USD."
Canada version: "Free shipping within Canada. Prices in CAD."
UK version: "Free delivery within the UK. Prices in GBP."

Some sites are both multi-regional and multilingual. For example, a site might have different versions for the USA and for Canada, and both French and English versions of the Canadian content.

Example of both multi-regional and multilingual:

US English: example.com/us/en/
US Spanish: example.com/us/es/
Canada English: example.com/ca/en/
Canada French: example.com/ca/fr/

Managing Multilingual Versions of Your Site

If you have identical content in multiple languages on your site, here are some tips for helping users and Google Search find the right page.

Use Different URLs for Different Language Versions

Google recommends using different URLs for each language version of a page rather than using cookies or browser settings to adjust the content language on the page.

Good example:

English: https://example.com/en/products/
French: https://example.com/fr/produits/
German: https://example.com/de/produkte/

Bad example:

Same URL for all languages: https://example.com/products/
Content changes based on browser language or cookies

If you use different URLs for different languages, use hreflang annotations to help Google Search results link to the correct language version of a page.

Example of hreflang tags:

<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/" />

If you prefer to dynamically change content or reroute the user based on language settings, be aware that Google might not find and crawl all your variations. This is because the Googlebot crawler usually originates from the USA. In addition, the crawler sends HTTP requests without setting Accept-Language in the request header.

Tell Google About Your Different Language Versions

Google supports several different methods for labeling language or region variants of a page, including hreflang annotations and sitemaps. Mark your pages appropriately.

Example of hreflang in HTML:

<head>
  <link rel="alternate" hreflang="en-us" href="https://example.com/us/" />
  <link rel="alternate" hreflang="en-gb" href="https://example.com/uk/" />
  <link rel="alternate" hreflang="fr" href="https://example.com/fr/" />
</head>

Example of hreflang in XML sitemap:

<url>
  <loc>https://example.com/en/</loc>
  <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/" />
  <xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/" />
</url>

Make Sure the Page Language Is Obvious

Google uses the visible content of your page to determine its language. We don’t use any code-level language information such as lang attributes, or the URL. You can help Google determine the language correctly by using a single language for content and navigation on each page, and by avoiding side-by-side translations.

Good example (single language):

<!-- French page -->
<nav>
  <a href="/fr/accueil">Accueil</a>
  <a href="/fr/produits">Produits</a>
  <a href="/fr/contact">Contact</a>
</nav>
<h1>Nos Produits</h1>
<p>Découvrez notre gamme de produits...</p>

Bad example (mixed languages):

<!-- Mixed language page -->
<nav>
  <a href="/fr/accueil">Accueil / Home</a>
  <a href="/fr/produits">Produits / Products</a>
</nav>
<h1>Nos Produits / Our Products</h1>

Translating only the boilerplate text of your pages while keeping the bulk of your content in a single language (as often happens on pages featuring user-generated content) can create a bad user experience if the same content appears multiple times in search results with various boilerplate languages.

Example of poor translation:

<!-- Bad: Only navigation translated, content still in English -->
<nav>
  <a href="/fr/accueil">Accueil</a>
  <a href="/fr/produits">Produits</a>
</nav>
<h1>Our Products</h1>
<p>Check out our amazing range of products...</p>

Let the User Switch the Page Language

If you have multiple versions of a page:

Avoid automatically redirecting users from one language version of a site to a different language version of a site. For example, don’t redirect based on what you think the user’s language may be. These redirections could prevent users (and search engines) from viewing all the versions of your site.

Bad example (automatic redirect):

// Don't do this
if (navigator.language.includes('fr')) {
  window.location = '/fr/';
}

Consider adding hyperlinks to other language versions of a page. That way users can click to choose a different language version of the page.

Good example (language switcher):

<div class="language-switcher">
  <a href="/en/">English</a> |
  <a href="/fr/">Français</a> |
  <a href="/de/">Deutsch</a>
</div>

Use Language-Specific URLs

It’s fine to use localized words in the URL, or to use an Internationalized Domain Name (IDN). However, be sure to use UTF-8 encoding in the URL (in fact, we recommend using UTF-8 wherever possible) and remember to escape the URLs properly when linking to them.

Examples of language-specific URLs:

English: https://example.com/en/products/
French: https://example.com/fr/produits/
German: https://example.com/de/produkte/
Spanish: https://example.com/es/productos/

Targeting Site Content to a Specific Country (Geotargeting)

You can target your website or parts of it to users in a single specific country that speaks a specific language. This can improve your page rankings in the target country, but at the expense of results in other locales or languages.

To geotarget your site on Google:

Page or site level: Use locale-specific URLs for your site or page. Page level: Use hreflang or sitemaps to tell Google which pages apply to which locations or languages.

Example of country-specific targeting:

<!-- US English version -->
<link rel="alternate" hreflang="en-us" href="https://example.com/us/" />

<!-- UK English version -->
<link rel="alternate" hreflang="en-gb" href="https://example.com/uk/" />

<!-- Canadian French version -->
<link rel="alternate" hreflang="fr-ca" href="https://example.com/ca/fr/" />

Remember that geotargeting isn’t an exact science, so it’s important to consider users who land on the “wrong” version of your site. One way to do this could be to show links on all pages for users to select their region and/or language of choice.

Example of region/language selector:

<div class="region-selector">
  <h3>Choose your region and language:</h3>
  <ul>
    <li><a href="/us/en/">United States (English)</a></li>
    <li><a href="/ca/en/">Canada (English)</a></li>
    <li><a href="/ca/fr/">Canada (Français)</a></li>
    <li><a href="/uk/en/">United Kingdom (English)</a></li>
  </ul>
</div>

Don’t use IP analysis to adapt your content. IP location analysis is difficult and generally not reliable. Furthermore, Google may not be able to crawl variations of your site properly. Most, but not all, Google crawls originate from the US, and we don’t attempt to vary the location to detect site variations. Use one of the explicit methods shown here (hreflang, alternate URLs, and explicit links).

Using Locale-Specific URLs

Consider using a URL structure that makes it easy to geotarget your site, or parts of it, to different regions. Here are your options:

Country-Specific Domain

Example: example.de

Real-world examples:

amazon.com (US)
amazon.co.uk (UK)
amazon.de (Germany)
amazon.fr (France)

Pros:

  • Clear geotargeting
  • Server location irrelevant
  • Easy separation of sites

Cons:

  • Expensive (can have limited availability)
  • Requires more infrastructure
  • Strict ccTLD requirements (sometimes)
  • Can only target a single country

Subdomains with gTLD

Example: de.example.com

Real-world examples:

en.wikipedia.org (English)
fr.wikipedia.org (French)
de.wikipedia.org (German)

Pros:

  • Easy to set up
  • Allows different server locations
  • Easy separation of sites

Cons:

  • Users might not recognize geotargeting from the URL alone (is “de” the language or country?)

Subdirectories with gTLD

Example: example.com/de/

Real-world examples:

google.com/intl/en/ (English)
google.com/intl/fr/ (French)
google.com/intl/de/ (German)

Pros:

  • Easy to set up
  • Low maintenance (same host)

Cons:

  • Users might not recognize geotargeting from the URL alone
  • Single server location
  • Separation of sites harder

URL Parameters

Example: site.com?loc=de

Not recommended.

Example of what not to do:

site.com?country=us&lang=en
site.com?country=uk&lang=en
site.com?country=fr&lang=fr

Cons:

  • URL-based segmentation difficult
  • Users might not recognize geotargeting from the URL alone

How Does Google Determine a Target Locale?

Google relies on a number of signals to determine the best target audience for a page:

Country-code top-level domain names (ccTLDs). These are tied to a specific country (for example .de for Germany, .cn for China), and therefore provide a strong signal to both users and search engines that your site is explicitly intended for a certain country. Some countries have restrictions on who can use ccTLDs, so be sure to do your research first. We also treat some vanity ccTLDs (such as .tv and .me) as gTLDs, as we’ve found that users and website owners frequently see these as being more generic than country-targeted.

Examples of ccTLDs:

.de for Germany
.fr for France
.co.uk for United Kingdom
.ca for Canada
.au for Australia

hreflang statements, whether in tags, headers, or sitemaps.

Example hreflang implementation:

<link rel="alternate" hreflang="en-us" href="https://example.com/us/" />
<link rel="alternate" hreflang="en-gb" href="https://example.com/uk/" />
<link rel="alternate" hreflang="fr-fr" href="https://example.com/fr/" />

Server location (through the IP address of the server). The server location is often physically near your users and can be a signal about your site’s intended audience. Some websites use distributed content delivery networks (CDNs) or are hosted in a country with better webserver infrastructure, so it is not a definitive signal.

Other signals. Other signals to identify the intended audience of your site can include local addresses and phone numbers on the pages, the use of local language and currency, links from other local sites, or signals from your Business Profile (where available).

Examples of local signals:

<!-- US version -->
<p>Phone: +1 (555) 123-4567</p>
<p>Address: 123 Main St, New York, NY 10001</p>
<p>Price: $99.99</p>

<!-- UK version -->
<p>Phone: +44 20 7946 0958</p>
<p>Address: 123 High Street, London SW1A 1AA</p>
<p>Price: £79.99</p>

What Google Doesn’t Do

Google crawls the web from different locations around the world. We do not attempt to vary the crawler source used for a single site in order to find any possible variations in a page. Therefore, make sure you explicitly tell Google about any locale or language variation that your site exposes, using one of the methods shown here (such as hreflang entries, ccTLDs, or explicit links).

Google ignores locational meta tags (like geo.position or distribution) or geotargeting HTML attributes.

Examples of what Google ignores:

<!-- Google ignores these -->
<meta name="geo.region" content="US" />
<meta name="geo.position" content="37.7749;-122.4194" />
<meta name="distribution" content="global" />

Handling Duplicate Pages with Multilingual/Multi-Regional Sites

If you provide similar or duplicate content on different URLs in the same language as part of a multi-regional site (for instance, if both example.de/ and example.com/de/ show similar German language content), pick a preferred version and use the rel=”canonical” element and hreflang tags to make sure that the correct language or regional URL is served to searchers.

Example of handling duplicate content:

<!-- On example.com/de/ (preferred version) -->
<link rel="canonical" href="https://example.com/de/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/" />
<link rel="alternate" hreflang="de-de" href="https://example.de/" />

<!-- On example.de/ (duplicate version) -->
<link rel="canonical" href="https://example.com/de/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/" />
<link rel="alternate" hreflang="de-de" href="https://example.de/" />

Generic Top-Level Domains

Generic top-level domains (gTLDs) are domains that aren’t associated with specific locations. If your site has a generic top-level domain such as .com, .org, or any of the following domains, and wants to target users in a particular geographic location, explicitly set a country target using one of the methods described previously.

Google treats the following top level domains as gTLDs:

Generic Top Level Domains

Unless ICANN lists a top-level domain as a country code top-level domain (ccTLD), Google will treat any TLD that resolves through the IANA DNS root zone as a gTLD. Examples:

  • .com
  • .org
  • .edu
  • .gov
  • and many more…

Generic Regional Top-Level Domains

Although these domains are associated with a geographical region, they are generally treated as generic top-level domains (much like .com or .org):

  • .eu
  • .asia

Generic Country Code Top Level Domains (ccTLDs)

Google treats some ccTLDs (such as .tv and .me) as gTLDs, as we’ve found that users and website owners frequently see these more generic than country-targeted. Here is a list of those ccTLDs (this list may change):

  • .ad
  • .ai
  • .as
  • .bz
  • .cc
  • .cd
  • .co
  • .dj
  • .fm
  • .io
  • .la
  • .me
  • .ms
  • .nu
  • .sc
  • .sr
  • .su
  • .tv
  • .tk
  • .ws

Example of how these work:

example.tv - Treated as generic (like .com)
example.me - Treated as generic (like .com)
example.io - Treated as generic (like .com)

But:
example.de - Treated as Germany-specific
example.fr - Treated as France-specific
example.co.uk - Treated as UK-specific

Wave

Enjoy our articles? Join our free list and get more.

Sign Up

Book Discovery Call