If a translated WordPress menu is correctly assigned but sometimes appears in the default language, inspect the cache path as well as the menu settings. The useful question is whether the result changes with language request order, visitor state, or a persistent object cache.
A growing database table is a different cache problem
If the host's concern is a WPML URL resolution cache table growing in the database, do not treat a Redis flush as the diagnosis. That table, persistent object-cache entries and full-page HTML have different roles. Use the WPML URL-cache growth investigation to record table ownership, change over time and the supported update path.
Continue with this menu guide when the evidence is wrong-language navigation that varies by request order or cache state. A large table alone does not prove why the menu is wrong, and a repaired menu alone does not establish that database growth is controlled.
Check the relevant WPML release
WPML 5.2 lists a fix for translated menus being replaced by the default-language menu with persistent object caching such as Redis or Memcached. Check the installed WPML components and supported update path. A matching symptom is a lead to investigate, not proof that your cache server is defective.
Keep the cache service itself separate from the application data placed in it. Disabling Redis permanently can hide a reproduction while creating a performance regression. A controlled staging comparison is more useful than repeatedly flushing production whenever a customer reports a wrong menu.
Prove which menu should be used
Record the public language URLs, the active header template, and the menu object selected for each language. Include mobile navigation if it uses a different widget or template. Copy one visible label and its destination from each intended menu.
Start with the general wrong-menu diagnosis if the source object is unclear. A builder header with an explicitly selected menu can ignore the assignment you edited elsewhere. That is not necessarily an object-cache problem.
Use harmless staging markers such as EN-CHECK and FR-CHECK in menu labels. Keep the underlying destination pages valid. Remove those markers before releasing the corrected configuration, and do not use sensitive internal page names in screenshots.
Run both language orders
On a staging environment with a representative persistent object cache, request the English page and then the French page as a signed-out visitor. Record the menu markers, destinations, and response cache evidence. Repeat in the reverse order using the same authorized test conditions.
| Sequence |
Expected English output |
Expected French output |
| English first, then French |
English menu |
French menu |
| French first, then English |
English menu |
French menu |
| Repeat each URL |
Its intended menu |
Its intended menu |
| Mobile header path |
Correct mobile assignment |
Correct translated mobile assignment |
If resetting cache state is required for the fixture, use the staging environment's supported controls and document exactly which cache was cleared. Do not assume a page-cache purge also clears object-cache entries, or that an object-cache flush invalidates CDN HTML.
Four distinct layers to record when a translated menu appears in the wrong language. Synthetic explanatory visual.
Locate the layer that supplied the wrong menu
Compare the returned HTML with the visible navigation. Wrong-language links already present in HTML point toward server rendering or a cached response. Correct HTML with a wrong mobile drawer suggests a separate client or template path that deserves its own investigation.
Record whether the request reached WordPress or was served by a page cache or CDN. A stale full-page response can preserve an old menu even after the object-cache issue is fixed. Conversely, a fresh page response can still be assembled from incorrectly reused application data.
Do not guess the responsible cache from a single familiar header. Hosts and plugins expose different diagnostics. Ask the host which evidence distinguishes its page cache from object caching, and keep the response path in the test record.
Update narrowly and verify navigation, not just labels
Install compatible WPML components on staging and rerun the same language-order matrix. Keep unrelated header edits out of the update test. If a custom integration caches menu output, its developer should review whether the relevant language and menu context are represented in that cache design.
Check destinations as well as translated labels. A menu can look French while linking to English pages or an old staging hostname. Test submenu expansion, mobile navigation, and the primary conversion link in both languages before approving production deployment.
After the approved change, invalidate only the affected production responses through supported controls and verify the public paths again. HandL WP can trace the wrong-language navigation when assignment, object-cache state, and full-page caching disagree. Preserve the request order and exact URLs; a screenshot without that context often cannot reproduce an intermittent cache fault.
Reference and review date
Primary technical reference. Sources checked October 30, 2026. The proposed procedures and original diagrams are explanatory test aids, not claims of customer testing or measured improvements.
Editorial update November 4, 2026: diagnostic distinctions and related guidance reviewed. Existing publication date and illustrative assets retained.