Canonical for Multilingual Sites

Proper use of canonical on multilingual sites: each language version should point to itself, not to another language.

In brief

On multilingual sites, each language version of a page should have a self‑referencing canonical (pointing to itself). This preserves indexing of all language variants, while the relationship between them is handled by hreflang. Pointing the canonical to another language version is a mistake that can lead to de‑indexing.

Self-referencing Canonical for Language Versions

When using hreflang to indicate language and regional alternatives, it is crucial that each page version has a canonical pointing to itself. This means that on https://example.com/en/page you must have <link rel="canonical" href="https://example.com/en/page" />, and on the Russian version the same principle. This approach tells Google that each language version is the canonical (main) version for its language.

Never point the canonical from a Russian page to an English one (or vice versa) just because 'English is the original'. This will cause the Russian version to drop out of the index.

Correct Implementation Example

HTML
<!-- On https://example.com/en/page -->
<link rel="canonical" href="https://example.com/en/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<link rel="alternate" hreflang="ru" href="https://example.com/ru/page" />

<!-- On https://example.com/ru/page -->
<link rel="canonical" href="https://example.com/ru/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<link rel="alternate" hreflang="ru" href="https://example.com/ru/page" />

Notice: the canonical points to the same page it resides on. hreflang links the two versions together.

What NOT to Do

HTML
<!-- ERROR: Russian version points to English -->
<!-- On https://example.com/ru/page -->
<link rel="canonical" href="https://example.com/en/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<link rel="alternate" hreflang="ru" href="https://example.com/ru/page" />

This configuration will make Google treat the Russian page as just a duplicate of the English one. As a result, the Russian version will be de‑indexed, and you will lose all traffic from the Russian-speaking segment.

Exceptions

There are only a few situations where pointing the canonical to another language version is acceptable:

  • Content is completely identical (not translated) — for example, your site has two language versions, but some pages have no translation and they show the same English article. As a temporary measure, you can set the canonical to the main language.
  • Temporary version before translation — you created a Russian page but it is not yet populated. While translation is in progress, you may point the canonical to English. But as soon as the translation is ready, the canonical must become self‑referencing.
In all other cases (when content is translated and unique) always use self‑referencing canonicals.

How to Verify

You can verify the canonical using curl or browser tools. For a Russian page:

BASH
curl -I https://example.com/ru/page | grep -i canonical

Expected output: Link: <https://example.com/ru/page>; rel="canonical". If you see a different URL (especially in another language) — that’s an error that needs to be fixed.

Common questions

Because each language version is independent content designed for its own audience. They have different titles, meta tags, and text. hreflang already indicates the relationship, so the canonical should not conflate them.
Google may de‑index pages with the 'wrong' language version. After fixing the canonical, it will take time for the search engine to re‑include them in the index.
If you use separate domains per country, the canonical on those domains must still be self‑referencing. For example, on example.ru the canonical points to example.ru/page, and on example.de to example.de/seite. hreflang then points to the other domains.
Yes. If the canonical points to another language version, Google may ignore hreflang or treat the version as a duplicate. Always follow the rule: hreflang links, canonical stays self‑referencing within each version.
The same principle applies: on the /en/ page canonical = example.com/en/page, on /ru/ = example.com/ru/page. hreflang points to the respective paths.
Direct contacts

Discuss your project?

Share your goals and website context — I will suggest a practical next step.