| name | multilingual-marketing |
| description | Use when translating WordPress pages to other languages, setting up multilingual marketing sites, or managing WPML translation workflows via Elementor MCP tools. Covers page export, translation, import, hreflang SEO, and batch content updates. |
| metadata | {"author":"appeardev"} |
Multilingual Marketing with WPML + Elementor
Overview
Translate and localize WordPress marketing pages using WPML and Elementor MCP tools. Export a source page, create the translation via WPML, import the structure, then batch-update all text content to the target language. Each translated page gets its own URL (/es/, /pt/, /fr/, etc.) with proper hreflang SEO.
When to Use
- Translating existing marketing pages to new languages
- Setting up a multilingual WordPress site with WPML
- Batch-translating multiple pages to the same language
- Optimizing multilingual SEO (hreflang, translated meta, localized URLs)
Architecture
Source Page (EN) → export-page → JSON structure
↓
WPML creates /es/ page → import-template (paste JSON) → batch-update text → Translated Page (ES)
Each translation is a real WordPress page linked to the source via WPML. Changing the source doesn't auto-change translations — they're independent after creation.
Translation Workflow
Step 1: Export Source Page
1. get-page-structure (source post_id) → note all element IDs and text content
2. export-page (source post_id) → save the full JSON structure
Save the exported JSON — you'll import it into the translated page.
Step 2: Create Translation Page in WPML
This step must be done in WP Admin (not via MCP):
- Go to WP Admin → Pages
- Find the source page — the WPML language column shows flags
- Click the "+" icon under the target language flag (e.g., Spanish)
- WPML creates a blank translated page linked to the source
- Note the new page's post ID (visible in the URL bar)
If WPML is not installed, create a regular page manually with the /es/ slug prefix.
Step 3: Import Structure
1. import-template (new post_id, template_json=exported JSON)
2. get-page-structure (new post_id) → verify all elements imported with proper IDs
The translated page now has the exact same layout and design as the source — but still in the source language.
Step 4: Translate Content
Use find-element and batch-update to translate all text:
1. find-element (post_id, search by widgetType or text) → get element IDs
2. For each text element:
- update-widget (element_id, {title: "Translated text"}) # for headings
- update-widget (element_id, {editor: "Translated HTML"}) # for text-editor widgets
- update-widget (element_id, {text: "Translated text"}) # for buttons
3. Or use batch-update to change multiple elements in one call
Translation order (most visible first):
- H1 heading and hero subtitle
- Navigation-visible text (page title)
- Section headings (H2s)
- Body text and descriptions
- Button text and CTAs
- Image alt text
- FAQ questions and answers
- Footer/legal text
Step 5: Translate SEO Meta
Update the page's SEO metadata for the target language:
- Page title — translate via your SEO plugin (Yoast/RankMath) or
update-page-settings
- Meta description — translate via SEO plugin settings
- Slug — update to translated slug (e.g.,
/es/precios instead of /es/pricing)
- Open Graph — translate OG title and description if set
Step 6: Verify
1. get-page-structure (translated post_id) → confirm all text is translated
2. Check the live page in browser — verify layout matches source
3. Verify hreflang tags in page source (WPML adds these automatically)
4. Test language switcher navigation
Batch Translation (Multiple Pages)
When translating many pages to the same language:
digraph batch {
"List all source pages" -> "For each page";
"For each page" -> "Export JSON";
"Export JSON" -> "Create WPML translation";
"Create WPML translation" -> "Import template";
"Import template" -> "Translate text";
"Translate text" -> "Verify";
"Verify" -> "For each page" [label="next page"];
}
Recommended order:
- Homepage (highest traffic)
- Pricing page (highest conversion intent)
- Product/feature pages
- Legal pages (terms, privacy)
- Blog posts (lowest priority, highest volume)
Multilingual SEO Checklist
Supported Languages
WPML supports 65+ languages. Common marketing translations:
| Code | Language | URL prefix |
|---|
es | Spanish | /es/ |
pt-br | Portuguese (Brazil) | /pt-br/ |
fr | French | /fr/ |
de | German | /de/ |
it | Italian | /it/ |
ja | Japanese | /ja/ |
ar | Arabic (RTL) | /ar/ |
RTL languages (Arabic, Hebrew): Verify that Elementor's RTL support is enabled in the translated page settings.
Common Mistakes
| Mistake | Fix |
|---|
| Translated page has broken layout | Used create-page instead of import-template — re-import the JSON |
| hreflang tags missing | WPML not linking source and translation — check WPML Translation Management |
| Internal links go to English | Update all internal links in translated pages to point to /es/ versions |
| SEO title still in English | Translate via SEO plugin, not just the visible heading |
| Duplicate content warning | Ensure hreflang is set — tells Google these are translations, not duplicates |
| Images have English text | Replace with localized versions or use text overlays instead of baked-in text |
| Language switcher missing | Add WPML Language Switcher widget to header/footer |
Prerequisites
- WordPress with WPML ($39/yr for Blog, $99/yr for CMS)
- Elementor (free or Pro)
- Elementor MCP tools configured
- SEO plugin (Yoast or RankMath) for meta translation
Source: appeardev/marketing-skills-that-build — distributed by TomeVault.