Multilingual SEO: WPML, Polylang, TranslatePress

RankKit SEO works with WPML, Polylang and TranslatePress: SEO fields per translation, hreflang links, og:locale tags and language-aware sitemaps.

Updated 3 min read
On this page

On a multilingual site, every language version of a page needs its own title and description, search engines need to know which version to show to whom, and your sitemap should list the translations. RankKit SEO handles this with Polylang, WPML and TranslatePress.

It switches on by itself when one of those plugins runs with two or more languages. There's nothing to install.

Check that it's on

Go to RankKit SEO → Settings → Languages. The tab only appears when Polylang, WPML or TranslatePress is active.

You see "Detected plugin. RankKit SEO follows its languages for titles, social tags, canonicals, sitemaps and llms.txt." The Languages table lists each language with its Locale (og:locale) and the hreflang code used in RankKit SEO's hreflang links and sitemap alternates, and a badge: Active, or One language if you have only one so far ("Add a second language to turn multilingual SEO on.").

Settings

Setting Default What it does
hreflang links in the page head Add them (when your multilingual plugin isn't printing any) Tells Google which page to show to which language. Choose Do not add them to leave hreflang to another tool.
Point x-default at the default language On Adds an x-default hreflang link pointing at your default language, for visitors whose language you don't have.
List translations in XML sitemaps On "Adds an xhtml:link alternate for every language version of each URL."

If your multilingual plugin already prints hreflang links, you see "plugin already prints hreflang links on your pages, so RankKit SEO does not add a second set." Two sets of hreflang tags can conflict, so RankKit SEO steps back.

Translating SEO fields

"Titles, descriptions, keywords and social texts are edited on each translation, in its own RankKit SEO panel." Open the translated post in the editor and fill in its RankKit SEO panel (the RankKit SEO button in the editor toolbar) as you would for any post.

When you create a new translation, some settings are copied from the original because they rarely differ between languages:

Copied to new translations Never copied
Noindex, schema type, share image, and also nofollow, cornerstone, location and product identifiers (GTIN, MPN, ISBN) Canonical URLs: each translation keeps its own

Site-wide texts

The homepage title, title templates, business name and llms.txt introduction are site-wide settings. To translate them:

  • WPML and Polylang: they are registered as translatable strings. Translate them in the plugin's string translation screen.
  • TranslatePress: "TranslatePress translates title templates and meta descriptions on the page itself." Use its visual translation editor.

What RankKit SEO does per language

  • Titles and descriptions: each translation uses its own fields, and templates in the right language.
  • Social tags: og:locale for the page's language, plus og:locale:alternate for each other language.
  • Canonicals: stay per language. A translation never points its canonical at the original.
  • XML sitemaps: each URL lists its translations as hreflang alternates. See XML sitemaps.
  • llms.txt: with Polylang, each language has its own /<lang>/llms.txt. See llms.txt and Markdown pages.
  • News and video sitemaps (Pro): with Polylang or WPML, one per language.

Plugin notes

Plugin Notes
Polylang The most tested setup.
WPML Supported through WPML's documented hooks and wpml-config.xml.
TranslatePress Translates the same post on output, so a post has one set of RankKit SEO fields that TranslatePress translates on the page.

FAQ

Do I need to add hreflang tags myself?

No. RankKit SEO adds them unless your multilingual plugin already does. Don't add them with a third tool as well.

Either your multilingual plugin already prints them (the Languages tab tells you so), hreflang links in the page head is set to Do not add them, or the site has only one language so far.

Should a translation's canonical point to the original?

No. Each language version is its own page and should be canonical to itself. RankKit SEO never copies canonicals between translations for this reason.

Was this page helpful?

Still need help?

Email us with your WordPress and RankKit SEO versions and what you tried. Pro customers get priority replies.

Contact support