Universally Documentation

Step-by-step guides, multilingual SEO tips, and best practices to help you translate and scale your WordPress website.

Indexing and canonical URLs

Each translated page is a page in its own right: its own URL, its own metadata, its own entry in the index. This page covers what that means for canonical tags and for getting the translations crawled, which are the two parts that behave differently from the source site.

Canonical tags are carried, not created

If a page already has a <link rel="canonical">, the translated version points it at the translated URL. So /fr/pricing/ is canonical to itself, not to /pricing/, which is what you want: a page that names the English version as canonical is asking not to be indexed.

If a page has no canonical tag, none is added. Universally does not introduce canonical tags to a site that was not using them.

What this means if your SEO plugin sets canonicals. It keeps working, and the translated copies follow whatever it emits. An absolute canonical is handled too: https://example.com/pricing/ becomes https://example.com/fr/pricing/ on the French page, with or without www..

Two canonicals are left exactly as they are, and both point every language at one page:

  • A canonical on a different hostname than the project's domain. Nothing outside your own domain is rewritten.
  • A canonical matching one of your Exclude Link Localization patterns. That setting is what tells Universally to leave a path alone, so it applies here too. See Exclude link localization.

Both are worth spot-checking on one translated URL after launch.

Getting them crawled

The prerequisite is met for you: translated text is in the HTML, each language has a distinct URL, and the pages declare each other with hreflang, so they read as one page in several languages rather than duplicates.

What is still yours:

A sitemap that lists translated URLs. Universally does not build or submit one. If your sitemap plugin only knows about source URLs, search engines find the translations by following links instead, which is slower and less complete.

Internal links. Links on a translated page are localised, so a visitor and a crawler stay inside the language they started in. Paths you have excluded from localisation stay pointed at the source. See Exclude link localization.

What not to worry about

Duplicate content. Translations of a page are not duplicates of it, and hreflang states the relationship explicitly.

Thin pages. A translated page has the same substance as its source, because it is the same content.

Crawl budget on a small site. Six languages multiply your URL count, which matters on very large sites and rarely on ordinary ones.

Was this helpful?