Skip to content

Multilingual SEO Across Two Domains: hreflang, x-default and Canonicals

Date: September 26, 2026
Author: TecnoNest
Categories: AI & Automation
Multilingual SEO

Multilingual SEO is the work of making every language version of a site rank in the searches made in that language. Across two domains the job gains a second layer: the sites have to recognise each other as versions of the same pages while each keeps its own canonical URLs. We run exactly that setup for Vaden, a commercial vehicle parts manufacturer that has exported to more than 110 countries to date: 9 languages, 2 domains, 1 hreflang set. The full project is written up in our Vaden international SEO case study.

Multilingual SEO starts with one URL per language

Google's guide to managing multi-regional and multilingual sites is direct on 2 points. First, use a different URL for each language version instead of switching the language with cookies or browser settings. Second, Google determines the language of a page from its visible content; it does not use the lang attribute or the URL for that.

On Vaden, every language has its own path: the product listing lives at /tr/urunler in Turkish, /en/products in English, /de/produkte in German and /ru/produkty in Russian.

Two domains or one: where Vaden drew the line

We built vaden.com.tr for the Turkish market first. When Vaden needed a global site, we launched Vaden Original alongside it. Turkish stays on the .com.tr country-code domain. The other 8 languages (English, German, Spanish, French, Portuguese, Russian, Polish and Italian) run on vadenoriginal.com.

Google treats a country-code top-level domain as a strong locale signal, which suits a site aimed at 1 market. A .com carries no country signal, which suits a site that sells into dozens of them. The price of the split is that every link between the 2 sites has to be explicit. hreflang crosses the domain boundary. Canonical tags do not. A URL requested on the wrong domain has to move to the right one.

How hreflang connects pages across two domains

hreflang is a set of link annotations that tells search engines which URL serves which language. Google's documentation on localized versions of a page sets 3 rules that matter most in a two-domain setup:

  • Every version lists every version, itself included. A page available in 9 languages carries 9 hreflang annotations, not 8.
  • Links are reciprocal. If page A names page B and page B does not name page A, Google may ignore those annotations.
  • Codes follow the standards. Language codes come from ISO 639-1 and optional region codes from ISO 3166-1 alpha-2. The tag syntax follows BCP 47 (see RFC 5646).

The annotations can sit in the HTML head, in HTTP headers or in an XML sitemap; Google accepts all 3. Vaden uses the HTML head and language-only codes (tr, en, de, es, fr, pt, ru, pl, it), because the site is split by language, not by country. A Spanish-speaking buyer in Mexico and one in Spain reach the same Spanish page. This is the set printed on the product listing, identical on both domains:

<link rel="alternate" hreflang="tr" href="https://www.vaden.com.tr/tr/urunler" />
<link rel="alternate" hreflang="x-default" href="https://www.vadenoriginal.com/en/products" />
<link rel="alternate" hreflang="en" href="https://www.vadenoriginal.com/en/products" />
<link rel="alternate" hreflang="de" href="https://www.vadenoriginal.com/de/produkte" />
<link rel="alternate" hreflang="es" href="https://www.vadenoriginal.com/es/productos" />
<link rel="alternate" hreflang="fr" href="https://www.vadenoriginal.com/fr/produits" />
<link rel="alternate" hreflang="pt" href="https://www.vadenoriginal.com/pt/produtos" />
<link rel="alternate" hreflang="ru" href="https://www.vadenoriginal.com/ru/produkty" />
<link rel="alternate" hreflang="pl" href="https://www.vadenoriginal.com/pl/produkty" />
<link rel="alternate" hreflang="it" href="https://www.vadenoriginal.com/it/prodotti" />

One of the 10 URLs sits on a different host, and the markup does not need to say so: hreflang cares that every URL in the set carries the same set and names itself, not which domain it is on.

x-default: the fallback for every other language

x-default names the page for visitors whose language matches none of the listed versions. Google notes that the value was designed for language selector pages; on Vaden it points to the English version, so searchers using Chinese or Japanese are shown the English pages.

Unsupported languages need a rule in the URL space as well. A request with a 2-letter prefix the site does not serve, such as /zh/ or /ja/, must not fall through to a page with a 200 status and no content of its own, which Google classifies as a soft 404. A 404, or a permanent redirect to the closest real page, avoids that.

Canonical tags stay on their own domain

A canonical tag names the preferred URL among duplicates, as Google explains in its guide to consolidating duplicate URLs. Language versions are not duplicates of each other. If the German page on vadenoriginal.com named the Turkish page on vaden.com.tr as its canonical, it would ask Google to drop the German page in favour of the Turkish one, which contradicts the hreflang set printed on the same page.

Each language version names itself as canonical on its own domain and reaches the other languages only through hreflang. A language version should also live on exactly 1 domain: a language prefix requested on the wrong domain should move permanently to the right one.

Missing translations leave the hreflang set

Not every page exists in all 9 languages on launch day. An untranslated language belongs outside the hreflang set, not pointed at its section root. Pointing an untranslated language at its section root fails the reciprocity check, because the section root does not link back. Listing an untranslated language risks Google ignoring the annotations or misreading them.

Redirect by location only at the front door

Google advises against redirecting users from one language version to another based on a guess about their language. Its note on locale-adaptive pages explains the risk: Googlebot sends requests without an Accept-Language header, so a site that picks the language from that header shows the crawler a single version.

The safe version touches only entry addresses, never content pages. It is a temporary 302, because the answer depends on who is asking, and search engine crawlers are kept out of it. Every page should also carry a language switcher, so a wrong guess costs the visitor one click.

Programmatic SEO: about 112,500 product pages, 1 hreflang set each

Hand-written hreflang does not survive a catalog. Vaden publishes about 12,500 products in each language. Across 9 languages that is about 112,500 product pages, and each prints 10 alternate links (9 hreflang plus x-default): more than 1.1 million annotations that must stay reciprocal every time a product changes.

At catalog scale, hreflang has to be generated together with the pages, not written by hand.

OEM cross-references on product pages are a separate search problem; we covered it in the Eker Bijon case study.

Structured data and llms.txt belong in every language

Structured data has to follow the language versions. Product and category pages should print the same schema.org Product and listing markup in every language, with the text of that language. Markup for data that does not exist on the page, such as prices on a catalog that shows none, should not be added.

A two-domain brand also runs the risk of being read as two companies. An /llms.txt file, the format proposed at llmstxt.org for summarising a site for language models, should sit on both domains and state that the sites belong to one company and which languages live where. We explain why that matters for AI search in our post on generative engine optimization.

Faceted navigation multiplies every mistake by 9

Without limits, every filter combination becomes a new URL, and on a multilingual site each one repeats in every language, so 1 crawl trap becomes 9. Google's guide to managing faceted navigation URLs covers how to keep those combinations out of the crawl.

Vaden's multilingual SEO results in 57 countries

According to Ahrefs data (September 2026), vadenoriginal.com ranks for organic keywords in 57 countries. Keyword counts in selected markets:

  • United States: 203 keywords, 54 of them in the top 3
  • Brazil: 56 keywords
  • Mexico: 55 keywords
  • Peru: 38 keywords
  • Russia: 34 keywords
  • Poland: 29 keywords
  • Spain: 24 keywords

Across all countries, vadenoriginal.com ranks for 573 keywords, 195 of them in the top 3. The Turkish site, vaden.com.tr, ranks for 762 keywords, 193 of them in the top 3, and Ahrefs Rank Tracker measured its visibility share at 5.5% across the tracked keywords in the week of 24 February to 2 March 2025, against at most 0.3% for each of 10 tracked competitors. These are Ahrefs figures, not Search Console data, so we report keyword, country and visibility counts only.

Questions to answer before you build a multilingual site

  • One domain or two? Two domains work when hreflang crosses between them and canonical tags do not.
  • Which languages go live first? A language without real pages stays out of the hreflang set until its translations exist.
  • Where does product data come from? Decide the single source before translation starts.
  • Who gets redirected? Keep location-based routing off deep URLs and away from crawlers.
  • How will you check reciprocity? On 10 pages a manual check works. On 100,000 pages, reciprocity has to be generated and checked automatically.

Planning a site in several languages? We can map the URL structure, the hreflang set and the data flow with you before a single page is translated. Request a quote or reach us through our contact page.

Frequently Asked Questions

What is multilingual SEO?

Multilingual SEO is the set of technical and content practices that make each language version of a site rank in searches made in that language. Its core parts are a separate URL for each language, hreflang annotations linking the versions, an x-default fallback, and canonical tags that stay within each language.

Does hreflang work across different domains?

Yes. hreflang annotations can point to URLs on any domain, as long as the links are reciprocal: each page lists every version, itself included, and every listed page lists it back. Vaden's 9 language versions are split across vaden.com.tr and vadenoriginal.com and share 1 hreflang set.

What should x-default point to?

x-default points to the version shown when a visitor's language matches none of your versions. Google designed it for language selector pages; Vaden points it to its English pages.

Should the canonical tag point to another language version?

No. A canonical tag marks the preferred URL among duplicates, and language versions are not duplicates. Each language version names itself as canonical, on its own domain, and reaches the other languages through hreflang.

The sites in this example: Global → vadenoriginal.com · Türkiye → vaden.com.tr

Tags: multilingual SEO hreflang x-default canonical tags international SEO programmatic SEO structured data

Categories

  • AI Agents (4)
  • Generative AI (4)
  • AI & Automation (4)

Tags

multilingual SEO hreflang x-default canonical tags international SEO programmatic SEO structured data

Subscribe to our newsletter

×