I just renewed my license and updated WPML, but Romanian translations on my site return 404 intermittently. The pages work briefly after a Quick Edit + Update in WP Admin, then revert to 404 after a few minutes without any action from me.
Setup:
WordPress 6.9.4
WPML Multilingual CMS 4.9.2.1
WPML String Translation 3.5.1
Default language: English (no prefix)
Secondary language: Romanian (with /ro/ prefix)
URL format: "Different languages in directories"
Server: LiteSpeed (Datahost.ro)
Page builder: Elementor Pro 3.25.5
Site: hidden link
Issue: All Romanian pages return 404 when accessed via /ro/* URLs. They briefly work after a Quick Edit + Update cycle in WP Admin, then revert to 404.
Example URLs returning 404:
hidden link hidden link hidden link hidden link
Diagnostic done:
Database checked: pages exist with correct slugs, post_status=publish, language_code=ro in icl_translations
trid is correctly shared between EN original and RO translation
Permalinks flushed multiple times (Plain → Save → Post name → Save)
LiteSpeed Cache fully purged and disabled
After Quick Edit + Update, pages return HTTP 200 briefly, then revert to 404
curl -I confirms 404 is server-side, not browser cache
Suspected cause: Something appears to be re-flushing rewrite rules or invalidating the translation routes in the background, possibly a cron job or a WPML internal sync.
Could you please help diagnose? I can provide debug logs, admin access, or any data needed.
Second curl test 9 minutes later, no action taken in between:
All 7 URLs → 404 (including cine-suntem and ce-facem which were 200 in the first test)
This confirms two things:
The fix is not stable in time. Pages revert to 404 within minutes without any user action.
The 4.9.3 update + Synchronize posts taxonomies + permalinks flush did NOT resolve the issue.
The pattern strongly suggests:
A scheduled WP-Cron task that flushes or invalidates rewrite rules
Or an interaction between WPML and another plugin/setting (LiteSpeed, Multisite, Elementor)
Site environment:
WordPress 6.9.4
WPML Multilingual CMS 4.9.3
WPML String Translation 3.5.2
Theme: Hello Elementor + Elementor Pro 3.25.5
LiteSpeed Cache 7.7
Server: LiteSpeed (Datahost.ro)
WP_ALLOW_MULTISITE = true in wp-config.php (could this be related?)
Could you escalate to a developer? I can provide:
WP_DEBUG logs
Admin access to the site
Database dumps
Whatever is needed
Welcome to WPML support. Would you please check the pages on a minimal installation?
- IMPORTANT STEP! Create a backup of your website. Or better approach will be to test this on a copy/staging version of the website to avoid any disruption of a live website.
- Switch to the default theme such as "TwentyTwenty" by going to "WordPress Dashboard > Appearance > themes".
- Go to "WordPress Dashboard > Plugins" and deactivate all plugins except:
. WPML Multilingual CMS
. WPML String translation
- Check if you can still recreate the issue.
- If not, re-activate your plugins one by one and check the issue each time to find out the plugin that causes the problem.
We have an FAQ entry for scenarios that a plugin or theme overuses the rerwite function in WordPress, which might help:
One last thing is also to check if the parameter mode works ok, to know if there is a language rewrite issue or not:
- Go to "WordPress Dashboard > WPML > Languages > Language URL Format".
- Check the "Language name added as a parameter" checkbox.
- Click the "Save" button.
- Go to "WordPress Dashboard > Settings > Permalinks".
- Click the "Save" button to flush the permalinks cache.