Translations Not Showing
| What you’re seeing | Most likely cause |
|---|---|
/fr/about/ loads but shows the original text | Page not translated yet, or language inactive |
| Some strings translated, others not | Those strings aren’t translated yet, or are excluded |
/fr/about/ returns a 404 | Permalink rules need refreshing |
| The page won’t switch even though translations exist | A cache is serving the old copy |
Work through these in order.
1. Confirm the language is active
Section titled “1. Confirm the language is active”Settings → General → Language Settings — the language should be listed and toggled Active. On Free, only one target language can be active at a time.
2. Confirm the page is translated
Section titled “2. Confirm the page is translated”On Translation → Sitemap, check the page’s progress. If it’s not translated, turn on Auto Translate for it (or Enable Auto translate for all), or translate it in the Visual Editor.
3. Fix a 404 on the translated URL
Section titled “3. Fix a 404 on the translated URL”Language-prefixed URLs need WordPress’s rewrite rules to be current. Go to Settings → Permalinks and click Save Changes (nothing to change — saving flushes the rules), then retry the URL.
4. Clear your cache
Section titled “4. Clear your cache”A caching plugin can serve a saved, untranslated copy. Clear it, then hard-reload (Cmd/Ctrl + Shift + R). If it keeps happening, see Caching & optimization plugins.
5. Check the URL
Section titled “5. Check the URL”Translated content lives at the prefixed URL — /fr/about/, not /about/. Make sure
the prefix matches the slug set in Settings → General.
6. Check your exclusions
Section titled “6. Check your exclusions”An over-broad CSS selector in Settings → Advanced → Exclusions (like main or
.content) can suppress most of a page’s text. Narrow or remove it and re-translate. See
Excluding Content.
7. Is the page behind a login?
Section titled “7. Is the page behind a login?”If only part of a page is translated and you see a ⚠ next to its word count on the Sitemap, an HTTP Basic Auth login blocked a full read. Add the credentials so the rest of the page can be counted and translated — see Content Not Translating.