Tag: multilingual

  • Multi-Language WordPress Publishing: Stop Translating the Same Article Five Times

    I run WordPress sites in English, German, Polish, and Spanish. For a long time, our publishing workflow was: write the English version, send it to translators, paste each translation into the right WordPress install, repeat. Average publish time per article: about 90 minutes — once you account for the translation back-and-forth, format cleanup, and per-locale image swaps.

    That math doesn’t work past two languages. Below is the workflow that does.

    Translation isn’t the bottleneck. Localization is.

    Modern AI translation is good. Not perfect, but good enough for a starting draft on most B2C content. The bottleneck is what comes after the words are in the right language:

    • The slug needs to be locale-specific (not the literal translation)
    • Internal links need to point to the same-locale version of related posts
    • Stock images appropriate for one market may feel off in another
    • Currency, date format, units, and references need to localize
    • Each site has its own SEO plugin config, focus keywords, schema
    • Each site has its own publishing schedule and audience timezone

    These are dozens of micro-decisions per article per locale. Multiply by 5 locales, you’re drowning.

    Step 1: Detect the site’s language automatically

    Manually tagging each connected site with its language is busywork and a source of errors. WordPress exposes language in the /wp-json endpoint. Read it on connect, store it as the site default, never ask again.

    We added explicit URL inference as a fallback (example.de → German, example.pl → Polish, etc.) so even sites without proper locale headers get tagged correctly.

    Step 2: One outline, many drafts

    The expensive part of an article isn’t the words — it’s the outline, the SERP research, the angle. That work is language-agnostic. Run deep research once, in your primary language, and reuse the outline + competitor data for every locale.

    From the same research artifact, you batch-generate per-locale drafts. Each draft inherits the angle and structure but is written from scratch in the target language with locale-aware examples, idioms, and SERP signals.

    Step 3: Locale-aware Reddit and SERP signals

    Most people skip this and it’s where multilingual content usually feels “machine-translated.” If your German draft cites the Reddit thread that was popular on r/personalfinance (US subreddit), the article won’t land in Germany.

    Run the Reddit mining and SERP fetch per locale. The German article cites German subreddits. The Polish article cites Polish forums. This is what moves a translation from “technically accurate” to “sounds local.”

    Step 4: Per-site persona, per-locale tone

    German B2C content trends more direct than US English. Polish has different formality conventions. Australian English differs from US English in vocabulary, idioms, and even humor. Set a persona template per site that captures these, and apply it during generation, not as a post-edit pass.

    We support per-site voice templates that include: target reading level, register (formal/casual), preferred sentence length, locale-specific vocabulary lists, and forbidden phrases. The same outline, run through five different personas, produces five drafts that read like five different writers — not one writer translated five times.

    Step 5: Schedule in the local timezone

    Reading the timezone from each site’s /wp-json and scheduling in local time means your German article publishes at peak Germany time, not 4am German time because your queue thinks in UTC. This is one of those things that costs nothing to get right and bleeds traffic forever when you get it wrong.

    Step 6: Localize images, but cheaply

    You don’t need a different image per locale most of the time. Stock photography is largely culture-neutral. But for anything with text overlays, currency-denominated examples, or country-specific imagery — you need to swap. Built into the publishing flow rather than a post-publish edit.

    The result: one article, five locales, under 10 minutes

    Once these six pieces are wired together, a single article ships across English, German, Polish, Spanish, and Australian English in under 10 minutes of human time per locale — most of it review and final edits, not typing.

    That’s the gap. Manual: 5 articles × 90 min = 7.5 hours. Automated: 5 × ~10 min = under 1 hour. Same output, 8× faster, with locale-appropriate Reddit + SERP signals you wouldn’t have done by hand anyway.

    If you’re running multilingual today

    You don’t need to onboard all your sites at once. Pick one locale you’re currently struggling with — the one that gets the least love because translation is painful — and try it on the Free plan for a week. See if the per-locale draft quality clears your bar.

    See the full multi-language stack on the Features page, or open the workbench.