Browse AjaxPress docs

Multilingual sites: WPML, Polylang and TranslatePress

On this page

AjaxPress works with WPML, Polylang, TranslatePress, Weglot and other multilingual plugins. Translated pages are ordinary pages, so they navigate instantly like any other.

Language switchers

Switching language is a link to the translated page. How it loads depends on how your languages are set up:

Your setupExampleSwitching language
Language in the pathexample.com/de/Instant, like any other link
Language as a parameterexample.com/?lang=deInstant
A subdomain per languagede.example.comA normal page load
A domain per languageexample.deA normal page load

A different domain or subdomain counts as another website, so the switch is a normal page load. That also means a persistent player restarts when the visitor changes language. If an uninterrupted player matters on your site, use language paths.

Titles and SEO tags

On every page change, AjaxPress updates the title, canonical link, meta description and structured data to the new page’s, so each translation keeps its own. hreflang links and translated sitemaps are handled by your multilingual plugin as usual, and crawlers get plain pages. See SEO and SEO plugins.

One set of settings

AjaxPress has one set of settings for the whole site, so the spinner’s Loading Message is the same in every language. On a multilingual site, prefer the Progress Bar, or a spinner with the Icon only layout, which have no text.

If the language doesn’t switch

Clear your page cache first; a cached page from before you set up languages is the usual cause. If the switcher still shows the old language, add its links to Exclude Links, so switching language is always a normal page load, and tell us which plugin you use.