Skip Navigation

One of WPML’s strongest points is SEO. Let’s see how you can fully optimize your multilingual sites for search engines, in different languages.

Because WPML uses different pages for different languages, these pages get their individual SEO attributes. You can optimize your sites for search engines in different languages, as if you were building completely separate sites. Of course, managing all languages from one database is a lot easier than actually running different websites for different languages.

The more information you provide Google, the better Google can understand what your site is about and drive qualified traffic to it.

If you are new to SEO, I recommend reading the introduction tutorial to multilingual SEO. It starts with the very basics and includes advice on how to do SEO for single-language sites as well as multilingual sites.

Domains and Languages

SEO starts with your site’s domain and permalink structure.

Extreme SEO means that you might want to even create different top-level domains for different languages in your sites. For example, if you sell green bananas, you might want to have your content in:


To do this with WPML, enable languages per domains. You will need to set up your DNS and web server to channel all traffic to the same WordPress install. Have a look at the FAQ on server setup for languages in domains for complete how-to instructions.

A simpler way to set up your languages is to use languages in directories. Although this doesn’t include SEO-optimized domains, it still packs valuable language information for Google in your site’s URLs.

You’ll have:


This tells Google that your Spanish content is under directory ‘es’. Don’t worry. WPML tells Google that your root domain includes English.

Using the WordPress SEO Plugin for Multilingual SEO

Many themes include basic SEO settings. However, we (as well as millions of WordPress users) enjoy the WordPress SEO plugin, by Yoast. WordPress SEO and WPML are fully integrated, providing you a simple and convenient way to optimize your site for Google, in different languages.

In a nutshell, WordPress SEO has some global attributes and some per-page attributes.

For example, the homepage title and meta descriptions are global attributes.

SEO attributes for the homepage
SEO attributes for the homepage

You can translate them using WPML’s String Translation screen:

String Translation for WordPress SEO texts
String Translation for WordPress SEO texts

For posts, pages and custom post types, WordPress SEO adds its own box to the content-editing screens. There, you can enter the focus keywords, SEO title and meta description.

Page in English, with SEO attributes
Page in English, with SEO attributes

As WPML stores translations in different pages, these pages will naturally have their own SEO attributes. When we translate, we enter the page title, body and all SEO attributes.

Page in Spanish
Page in Spanish

For a complete tutorial, have a look at using WordPress SEO with WPML.

WPML Tells Google About Languages and Translations

When it comes to Google, being verbose is best. Yes, Google’s algorithms are very smart, but it’s better to include all language information in the page content, so that Google doesn’t need to guess.

WPML includes two vital pieces of information in every page:

  • The language of the page
  • Links to translations for that page

For this to happen, you don’t need to do anything. WPML does this automatically for you.

If you open the source of any page, you will see the page header with the language information. For example:

English content: xmlns="" lang="en-US">
Spanish content: xmlns="" lang="es-ES">

BTW, you can control the locales that WPML sets. If you want to tell Google that your content is meant for a different country, you can set a different Google Locale for every language. To do this, go to WPML->Languages and click on the Edit languages link.

And, a bit down the page source, you will also see a group of inter-language links. They will look something like:

<link rel="alternate" hreflang="es-ES" href="" />
<link rel="alternate" hreflang="de-DE" href="" />
<link rel="alternate" hreflang="fr-FR" href="" />
<link rel="alternate" hreflang="pt-BR" href="" />
<link rel="alternate" hreflang="ja" href="" />

Armed with this information, Google knows what language every page is written in and where it can find the translations for that content.

When you also provide Google with good and informative titles and meta description, you’re giving Google everything it needs to fully understand your site, in all its languages. Multilingual traffic follows.

What’s your experience with multilingual SEO? Leave your comments and we’ll get back to you.

14 Responses to “How to do Multilingual SEO for WordPress Sites”

    • This string will only appear if you entered any value to the corresponding input in WPSEO.

      First, check that you’re using the most recent version of WPSEO (just to be sure).

      Then, see that you have the ‘blog’ setup for homepage and not a static page. If you set up WordPress to use a static page for the homepage, the meta description comes from that of the page. Then, you translate it when you translate the page, not via the String Translation.

  1. The reason I chose WPML over other WordPress multi-lingual plugins was because it seemed to have great SEO “out of the box”. Crucially, by having separate posts for different languages, the URLs get translated also, which I imagine is good for CTR in SERPs as well as for general on-page optimisation (assuming URLs include important keywords).

    The same goes for displaying multilingual URLs of post type, category and other taxonomy archives, especially where users choose to have these archives to be indexed by search engines.

    Multilingual breadcrumbs are another cool feature included in WPML’s multi-lingual CMS package (?). How does Yoast’s SEO plugin cope with breadcrumbs in different languages? I was too lazy to check.

    Having said all that, multilingual SEO is (should be? must be? will one day be?) all also the quality of your multi-lingual content (media and text). So the question becomes, to what extent do different WordPress translation plugins help you provide a platform for displaying great content to visitors in different languages?

    Seems like WPML makes this as easy as it can be, without actually doing it all for you :-).

    • If the breadcrumb is for a page, it will show the parent pages in the breadcrumbs all the way back in the translated language. WPML translates taxonomy and CPT labels, so these two should appear localized in the breadcrumbs trail.

  2. Great article 🙂

    I need to know which domain strategy is best for SEO.

    Using local domains and local keywords in the url:

    – English: (local keyword: coffee)
    – Spanish: (local keyword: cafe)
    – German: Kaffee-grü (local keyword: Kaffee)

    Or the simpler way:

    – English:
    – Spanish:
    – German:

    I would prefer the simple way but I’m able to go with the more Extreme setup if it has a major impact on my SEO.

    Any advice and recommendations?

    Thanks, Frederik

    • I honestly don’t know what would work the best and if it really matters. We get excellent search engine positioning for our sites using one domain and languages in directories. Some people tell that they get better results in domains per language. Maybe it’s different for different industries.

    • Since the last algo updates, the importance of EMD (Exact Match Domains) has decreased a lot from a SEO point of view. So, as Amir says, it doesn´t matter a lot. I would go with the “branded” one, your second option Frederik.

      Good luck!


  3. Hi,

    The plugin looks great 🙂 What I would like to know is can we use the plugin to target different countries as well as different languages in terms of SEO and Google? I just want to make sure that it is possible as the website I am working on will have different languages but targeting different countries.

    The current plan was to create sub directories all setup on Google webmasters tool for the target country, but maybe this plugin could make things a lot easier?
    And lastly doesn’t having different languages just translated mean duplicate content?

    Thank you,

    • You could, if you set up separate languages for different countries. WPML let’s you do that. For example, you can create en_US and en_GB languages. And yes, you would need to duplicate the content to these languages. However, WPML does that automatically and correctly for you. WPML will indicate to Google about duplicate content and its unique origin. This way, the majority of the content that’s completely identical for the different countries will remain unique and the little content that’s different will be identified to Google as country-specific and unique.

      WPML will manage this for you automatically:

    • Hi Amir,

      Thanks for the rapid response. Just to make sure I get this right, If I use WPML to create my content let’s say in English, French and Spanish (,, and each one is targeting UK, France and Spain (indicating via Google webmaster tools the Geo location for each sub direcotory with the target language and adding the country meta code). Now if all the languages are considered duplicate content and WPML will tell Google that English is the original content (therefore the content targetign UK), will that not make Google devalue the other languges and stop them from ranking for their target country?



  4. Looks a great plugin 🙂
    I’m new to multilingual websites and have been asked to set up a five page website firstly in english and then in 10 other languages of which my client will provide the translated content.
    I’m still not sure which is best – for each to have their own country domain e.g. etc or have one .com url with sub-directories for the other countries.
    I am looking for the easiest way to do this with seo in mind also if you can advise?
    And would me adding the translated content interfere with the plugin?
    If I have one domain with sub-directories, does WP need to be installed on each domain?

    • WPML lets you organize different languages in ‘folders’ or domains or subdomains easily. The only difference is that if you are using different domains/subdomains, you need to register them and add to DNS entries. This is a one-time process, which we describe here:

      Once you do this, content translation is exactly the same and you will not feel any difference. All the translation will be done in the WordPress admin, in the URL of the default language.

      Adding translations never interferes with the WordPress admin or with other content. WPML lets you translate in different ways, including from inside its own translation editor or using desktop CAT programs (if your translators prefer this). You can see more details here:

      You only need to install WordPress once. WPML sets up the virtual language ‘folders’ or the language domains. This is all done using URL rewrite logic and doesn’t require additional WordPress installations or other databases.

      Does this help?

  5. Good Moorning,

    I m using WPML (i bought it) and using uswell Seo yoast (free version), in a single WP installation (in
    I use diferent domains for each diferent language, exemple is spanish. is english.

    It works fine but i have detected that Yoast seo makes only a single sitemap for yachtcharterbcn. I don get a sitemap for content.
    Do you know if i have to do or change something of WPML configuration? or is a issue of Seo Yoast.