WPML Translation Sync: Staging → Production
A small WordPress plugin that exports WPML translations from staging as a ready-to-import SQL file — no more redoing translations on production.
- PHP
- WPML
- MySQL
- WordPress
The problem
On a multilingual marketing site, translators work on staging — it’s the only safe place to touch dozens of pages at once. But WPML stores translations across several interlinked tables with environment-specific IDs and URLs, so “just copy it to production” isn’t a thing. The team’s old workflow was to re-do translations manually on production. Twice the work, guaranteed drift.
The solution
A focused admin tool: paste the IDs of the translated pages, click export, get a
single .sql file that imports cleanly on production.
Under the hood it:
- collects the WPML translation rows and related content for exactly the selected posts — nothing else leaves staging;
- rewrites staging URLs to production URLs inside the dump, so links and media references survive the move;
- generates idempotent SQL that the team imports through any standard tool, with a results table in the admin UI showing what was exported per post;
- guards everything behind capability checks and nonces, and streams the file before any output so downloads never corrupt.
Why it’s worth showing
It’s ~300 lines and took a fraction of the time the manual process burned every release. Not every useful plugin is a platform — sometimes the best engineering is noticing that a recurring 3-hour chore is actually a one-click export.