Make your WordPress site multilingual without copying posts
Each translation is stored in the post's own meta under its language code, so the post carries all of its languages itself.

1 post
carries every translation in its own meta
0 outbound requests
from the plugin: no API, no account
7 filters
and that is the whole developer surface
1.8.1
released October 30, 2026


Add your languages
Pick the languages you publish in from the settings screen. Each one gets a URL prefix, which is its language code. The default language keeps WordPress' own prefix-free URLs, so every post has a single canonical address.

Translate the content
Write each translation in the panel below the post: a title, a slug and a visual editor for the content. Give each language its own slug for a post. Nested pages keep their translated parents in the path.

Show the switcher
Use the shortcode in any post or page, or the template tag in a theme file. Both take show_flag and show_name, on by default: pass show_name="false" for flags only. With both off the name stays, so a link is never empty. On a post the links lead to that post in each language, elsewhere to each language's home.
[multilify_switcher] <?php multilify_switcher(); ?>
One post, four addresses
Rewrite rules route the prefixed address, a lookup on the translated slug finds the original post, and the stored translation for that language is what gets rendered.
| /the-harbor-in-october/ | English |
| /de/der-hafen-im-oktober/ | Deutsch |
| /es/el-puerto-en-octubre/ | Español |
| /tr/ekimde-liman/ | Türkçe |
All four addresses resolve to the same post.
<html lang="en"> <link rel="alternate" hreflang="en" href="https://example.com/the-harbor-in-october/"> <link rel="alternate" hreflang="de" href="https://example.com/de/der-hafen-im-oktober/"> <link rel="alternate" hreflang="es" href="https://example.com/es/el-puerto-en-octubre/"> <link rel="alternate" hreflang="tr" href="https://example.com/tr/ekimde-liman/"> <link rel="alternate" hreflang="x-default" href="https://example.com/the-harbor-in-october/">
Install it in one line
Install from the WordPress plugin directory, or with WP-CLI.
wp plugin install multilify --activateOr hand it to an AI agent
Paste one line into Claude Code, Cursor or Codex. The agent reads the setup guide, shows you a plan, adds your languages and checks every address before it reports back.
Read https://multilify.com/agents.md and set up Multilify on this WordPress site. Show me your plan before you change anything.