EffortLess Multisite Auto Translate

EffortLess Multisite Auto Translate

Details
View on WordPress

EffortLess Multisite Auto Translate is a Network-Activated plugin for WordPress Multisite. When a post, page, or custom post type is published or updated on one site in the network (the “source” site), the plugin sends its title, content, categories, and tags to your chosen translation provider (OpenAI or DeepL) and creates or updates a matching translated copy on each of the network’s other sites you’ve selected as a “destination”. Translation runs in the background via WordPress Cron (or Action Scheduler, if another active plugin provides it), not during the page save itself.

Content is translated block by block: each Gutenberg block is sent to the API and reassembled individually, so block structure, attributes, and nested layouts (columns, groups, galleries) survive translation. Shortcodes and core/html blocks are left untouched rather than translated. A Glossary lets you pin specific terms (brand names, proper nouns) to a fixed translation, or to “do not translate,” per destination site if needed.

What gets translated

  • Post titles and content (Gutenberg blocks)
  • Pages and public custom post types you haven’t unticked in “Post Types to Translate”
  • Categories, tags, and other public taxonomies
  • Post metadata you explicitly add to the “Extra translatable meta keys” setting

What is left untouched

  • Shortcodes (preserved exactly, including their attributes)
  • core/html blocks (skipped by default; a elmat_translate_html_block filter exists for developers who want to opt them in)
  • Private post metadata

Settings (Network Admin GPT Translator)

  • Translation Provider — OpenAI (GPT), DeepL, or (WordPress 7.0+ only) the built-in WordPress AI Client, which uses whichever provider your site has configured under Settings Connectors instead of a key entered here. Only the selected provider’s key below is used.
  • OpenAI API Key / DeepL API Key — required for whichever provider is selected. A “Test API Key” button verifies the active one before you save.
  • Enable automatic translations — checkbox. When off, translation only happens if triggered manually from the block editor’s GPT Translator panel.
  • Publish new translations as draft — checkbox, off by default. When on, a translation’s first creation is saved as a draft instead of published, so a human can review it before it goes live. Only affects first creation — updating an already-published translation keeps updating it in place, never unpublishing it automatically.
  • GPT Model — gpt-4o-mini (default) or gpt-4o. OpenAI only.
  • Translation Style — Literal, Natural (default), or Creative — controls how closely the translation sticks to the source wording. Applies to both providers (mapped internally for each).
  • Additional Instructions — free-text instructions appended to every translation request (tone, formality, house style). OpenAI only — DeepL has no prompt/instruction mechanism.
  • Post Types to Translate — untick any post type to stop translating it, both automatically and via Bulk Translate. Lists every public post type registered on the source site.
  • Extra translatable meta keys — a plain-text list (one per line) of additional post-meta keys to translate, for meta fields added by other plugins (e.g. custom SEO title/description fields).
  • Shared Media Library — optionally designate one site’s Media Library as the single source of truth for images; other sites’ translated content then links back to that site’s files instead of duplicating them.
  • Source Site — the one site whose saves trigger translation.
  • Destination Sites — which of the network’s other sites receive translated copies.
  • Glossary — a table of terms with a fixed translation (optionally overridden per destination site), so brand names and specific phrases translate consistently instead of varying between posts.

A running character-usage total (this month + lifetime) is shown above the API key fields once translation has run at least once — a rough usage indicator, not exact billing; check your provider’s own dashboard for that.

A “Translation Status” box also appears in the post editor’s sidebar (source site only) showing each destination’s status for the post you’re editing, without a trip to Network Admin.

Tools (Network Admin GPT Translator Tools)

Bulk Translate All Posts, Force Re-translate All (clears retry/failure counters and re-sends everything), Sync Design & Templates (switches every destination site’s active theme to match the source, network-enabling it first if needed, then copies global styles, site icon, logo, and queues templates/patterns for translation — a confirmation dialog states the theme change before you proceed), Resync Media Links (also runs automatically whenever the Shared Media Library setting changes), Clean Destinations (removes orphaned translations and non-translation content added directly on a destination site), Flush Permalinks, and Emergency Stop (cancels every pending translation). Stuck queue entries clear themselves automatically within about an hour — there’s no separate cleanup button for that.

Notes and limitations

  • Requires WordPress Multisite to do anything. It can be installed and activated on a single-site WordPress (for example before you enable Multisite), but there it only shows a notice on the Plugins screen and has no settings. After converting the site to a network, network-activate it from the Network Admin; the one-time network setup runs automatically.
  • Translated and synced content is saved through WordPress’s normal sanitization. Form tags (<input>, <select>, <textarea>) and scripts inside a translated custom-HTML block are removed on save, as they would be for any non-privileged user.
  • “Sync Design & Templates” does not copy Additional CSS; each site keeps its own.
  • Translation is asynchronous: after publishing, allow a few seconds (or up to a WP-Cron cycle on a low-traffic site) for the destination copies to appear.
  • Trashing, permanently deleting, or restoring a post on the source site does the same on every destination site’s translated copy.
  • Adding a new destination site automatically switches that new site’s theme to match the source site as part of its one-time setup (it also copies the design and starts translating existing content to it) — this only happens for a brand-new site being added, never for a site already in production; running “Sync Design & Templates” manually against an existing destination will switch its theme too, and asks for confirmation first.
  • A translation that fails is retried up to twice with a growing delay; after 10 total failures for a given post/destination pair, the plugin stops retrying it (visible as “abandoned” in the Status tab, with a manual retry button).
  • No custom database tables are created (except a translation-memory cache table, used to skip re-translating a block whose source content hasn’t changed). Uninstalling the plugin removes it along with all elmat_* site options and the translation-linking postmeta.

External services

This plugin sends content to your chosen translation provider’s API in order to translate it — this is the plugin’s core function and cannot be disabled while automatic or manual translation is used. Only the provider you’ve selected in Settings is ever contacted.

OpenAI (api.openai.com) — used when Translation Provider is set to OpenAI. What is sent: the post title, the text content of each Gutenberg block (shortcodes and core/html blocks are excluded), the names of categories/tags/taxonomies, and (if set) your “Additional Instructions” text. Terms of use: https://openai.com/policies/terms-of-use — Privacy policy: https://openai.com/policies/privacy-policy

DeepL (api.deepl.com / api-free.deepl.com) — used when Translation Provider is set to DeepL. What is sent: the same title/content/taxonomy names as above (Additional Instructions does not apply to DeepL). Terms of use: https://www.deepl.com/en/pro-license — Privacy policy: https://www.deepl.com/en/privacy/

WordPress AI Client (WordPress 7.0+ only) — used when Translation Provider is set to “WordPress AI Client”. The same title/content/taxonomy names as above are sent, but to whichever external AI provider your site has configured under Settings Connectors, not to this plugin or its developer — this plugin never sees that provider’s identity, endpoint, or API key, only the result. Check your configured Connectors provider’s own terms of use and privacy policy.

Either way, this happens every time a post is published or updated on the configured source site, and whenever “Bulk Translate All Posts” or a manual per-post translation is triggered. No personal visitor data, and no data from any site other than the post being translated, is sent. Using OpenAI or DeepL requires your own API key for that provider (entered in the plugin’s settings); using the WordPress AI Client instead defers entirely to whatever provider and credentials your site’s Connectors screen has configured. Either way this is billed to your own account directly — the plugin developer has no access to your key, your account, or the content sent.

Details

Plugin code:
effortless-multisite-auto-translate
Plugin version:
3.3.6
Author:
Outdated:
No
WP version:
5.4 or higher
PHP version:
7.4 or higher
Test up to WP version:
7.1.3
Total installations:
0
Last updated:
2026-10-07
Rating:
Times rated:
0
gpt
gutenberg
multisite
openai
translation