What is the best way to have multiple languages on a site?

I was thinking of using WP3.0 and then having each language of the site being a seperate blog in a sub directory. I.E.

  • example.com
  • example.com/fr/
  • example.com/de/

And then just being able to have one theme that all the sites share.

Is there a better way to do this? What do you think?


7 Answers 7


Wordpress has no bi/multi-language feature built in by default. Instead, by design it supports the content to be in one language (so not knowing language). Using multiple blogs for multiple languages might be a good adoption of that design.

The other road would be to extend the site with Add-Ons like plugins and themes that have multi-language features built-in.

The Wordpress Documentation offers some information about Multilingual WordPress making assumptions, pro/con comparisons and plugin/theme recommendations there. This scopes alternative approaches like:

  • Manage multilingual posts in one post per language
  • Store all languages alternatives for each post in the same post
  • Manage translations on the generated page instead of using a post context
  • Plugins that direct you to external translation services
  • Plugins that link together separate WordPress installations for each language by pinging back and forth

I've built several multilingual sites in WordPress, and to be honest, WP just doesn't do it very well, even using plugins. Either plugins offer limited solutions that require a lot of work on the end-users' part, or they only offer limited languages. (Note that I'm ignoring plugins that offer automatic machine translations.)

The best solution I've found so far is qTranslate. It allows users to create and edit posts in multiple languages and offers good options for when a particular language isn't available. It's relatively user-friendly and offers a few template tags to help readers switch languages. Its weakness is that it seperates the languages in the database using XML, and clean-up can be rough if you want to switch to another system. This is going to be the case no matter which plugin you use.

WPML isn't bad if you're only using widely spoken languages, but it's weakness is that you can't add languages if you need something different (like Luganda, for instance). It does, however, have some pretty good template tags for customization.

Gengo used to be excellent, but is no longer maintained.


I've used both qTranslate and WPML. They seem to be the 2 best multi-lingual plugins for WordPress. However my opinion is that they are both inadequate.


Seems to be slightly better for advanced users. It works by duplicating all the content tables and linking them together by id. Gross and not ideal, but better than what qTranslate does.


Looks really nice at first, but you will have many problems down the line. It works by inserting special html comments into each post like "--- Japanese starts HERE ---" then it parses and replaces the text with proper language.

The bottom line is that WordPress was never designed to be multi-lingual. So no matter what plugin you use, it will always be inadequate and will always be implemented in a non-ideal hacky way. These plugins basically take over WordPress and try to force it to do something it was never designed to do.

Either solution might be ok for a personal blog, or something with not much data, but I would not recommend them for any site where the data is valuable and/or the site needs to be flexible or frequently changed/updated. Neither of these play nicely with other plugins. If you install either of them you will find that many features of WordPress and other plugins often become un-useable. Upgrading WordPress becomes a burden and you must wait until the plugin makers have updated their plugin to be compatible with the new version. If you decide to use either of these, please proceed with caution as you will be putting your website's fate into the hands of a single plugin maker.

WordPress developers themselves acknowledge that there is currently no single optimal solution for this problem.

The only real solution is to petition the makers of WordPress to change the product to be a real multi-lingual solution out of the box.

That being said, my personal recommendation for a multilingual site would be to use the "Each language in its own WordPress installation" method. Now that WordPress 3.x supports MU installs out of the box, this is not too hard to setup. Maintenance is slightly more cumbersome, but at least your data will be safe and your site can be stable and updated frequently.

  • I quite agree on the multisite approach, it seems the most stable. But the big PITA with this method is that the media library isn't shared. So for your 8-languages multisite install, you will have much fun uploading each attached media 8 times... Or you need to hack the WP media library, in addition to sorting out your multilanguage setup.
    – Manu
    Commented Dec 11, 2013 at 22:54

I think it depends on what kind of multilingual website you have. I am, for example, currently building a 6-language website with slightly different themes for each language (think Arabic).

I tried individual websites per language by sticking them in different directories, but it is quite a bit of a main to maintain and upgrade.

I am currently setting it up as WP Network (MultiSite). This allows you to share plugins, themes and - quite importantly - user IDs.

You do have some restrictions - all mini-sites (except for root) are on the same level down, exactly one level down from the root. So, you would have to have /en, /fr, /de and redirect the default home page, maybe with a custom home.php template.

Additional issues are the same as with multiple blogs, separate taxonomies, media, etc. On the other hand, no messing around with hiding other-language posts in archive, RSS feed, etc. This might be good or bad, depending on your requirements.


It depends on your needs. If you're looking for one multi-lingual website (i.e. same content, different languages) or different sites in different languages os the same domain.

For the first you can use either qtranslate or wpml (I recommend the 1st). For the second wordpress multi-site will be the optimal solution.


WordPress multisite and then "multisite language switcher" plugin is the most likely the simplest and best and cleanest way to do this... It took me a minute to figure out how to do it, but now I couldn't be more pleased personally...

  • Would you mind linking to the plugin and also explaining exactly what it was that too a minute or two to figure out. It would make the answer more helpful.
    – s_ha_dum
    Commented Jan 23, 2013 at 18:27
  • You can find the Multisite Language Switcher in the WordPress Plugin Directory: wordpress.org/extend/plugins/multisite-language-switcher
    – realloc
    Commented Feb 25, 2013 at 8:28

Here's something I wrote a long time ago on the subject (note specifically related to WordPress):

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.