Skip Navigation

When you set up a multilingual WordPress site using WPML you can choose to have different languages in different domains, in sub-domains or in language folders. This article will explain where each of these options should be used. This isn’t a technical question, but rather depends on what you’re trying to achieve.

To answer this, we need to think about your site’s contents and what appears in each language.

Translated contents or unique contents per language

What’s the difference between translated contents and and unique contents per language?

Translated contents means different language version of the same page say the same thing, just in different language. If you’re writing in your language and then having it translated to other languages, you have translated contents. Of course, the text itself is different, but it has the same meaning.

Unique contents per language means your site conveys a different message in different languages. This is the case where different languages reflect different service or product offerings. For example, the global websites of Dell have different contents in each language. Dell sells different equipment in different regions and has different pricing. The Spanish pages aren’t just a translation of the English pages. They are different. And, in fact, Dell has different Spanish contents for Argentina and for Mexico.

Arranging language URLs to match your type of contents

Your site’s URLs, in different languages, tell people what to expect when they visit.

If your site has translated contents, you should use either language folders or language sub-domains. For example:

Language Language folders Language sub-domains

Visitors who would see these, would understand that the difference between the different URLs is the language, not the actual contents.

Sites that feature real unique contents per language, should clearly convey this to their visitors. It’s important so that people know that your offering is different for different places.

In this case, you can use completely different URLs or URLs with different top level domains. For example:

Language Completely different domains Different top level domains
Spanish (Spain)
German (Germany)

The country specific top level domains tell both people and search engines that the contents of that site are specific to that country.

Optimizing for search engines

Just like regular contents, the URL strategy should be developed with human visitors in mind. If you arrange contents in a way that’s clear to your visitors, you will discover that search engines are kept happy as well.

Search engines (a.k.a. Google) assume that sites with country specific top level domains (ccTLD) are built for people living in those countries. If your site features English and German, with basically the same contents (translated from one language to the other) you might think that selecting a top level .de domain would help your Google search position.

This might be the case, for a short while. However, what you’re doing is actually tricking Google. If your contents aren’t written especially for German people, Google will figure it out. The results would be less trust from the Google algorithm (which is later difficult to reconcile) and much lower (if any) positions in search results.

So, people who run independent language sites, each built for visitors from a different country, should register country specific top level domains. The rest of us, who run translated contents, should stick to language folders or language sub domains.

Language arrangement setting in WPML

WPML lets you choose your language arrangement in the Languages admin section.

Language Negotiation in WPML
Language Negotiation in WPML

The different domain per language option, as it name suggests, will let you enter a different domain per language. You can enter a completely independent domain or a sub-domain (WPML default value).

You can see more information on language setup in the Languages section of the Getting Started Guide.

Tell us what you’re doing. How did you choose to arrange multilingual contents?

23 Responses to “Domain per language, subdomains or language folders?”

  1. Great post. Does each of these country specific domains behave like a new url as far as Google is concerned?

    For example, if you have in the UK and its doing well, has lots of links and has some Google mojo and you decide to start in Germany, is there any way to give your a better start by associating it with the version?

    • Different top level domains (.uk / .de) will most certainly be treated as completely independent sites by Google. They would each be placed in Google’s sandbox for a while and only then begin being indexed.

      If you have a .uk site and need German translation, there’s nothing wrong with putting it under the .uk domain (in a different folder, for example). This would be clear enough to both your visitors and Google.

      If your .de site is targeted for German readers, has unique contents for them and isn’t a mere translation of the .uk site, it would make more sense registering it under a .de domain and letting Google get used to it.

  2. After installing the latest version of WPML I click on the languages link and the save default language / cancel / add remove languages buttons all do absolutely nothing.

    Any ideas? Would like to use this plugin.

  3. Hi Amir. I think WPML is a fantastic plugin and I have been doing a lot of experimentation on WPMU and WPML lately to work out the best configuraiton for mult-lingual sites. Since WPML does not allow (yet) a separate domain option on WPMU, I have decided to use standard WordPress…. however….

    I need to have English on, .com, sites. In the setup when you choose “Use a different domain per language” option it only has one option for English. How do you get around this? The reaons is that although all these 3 sites will use English, not all posts will go live in each country. Is there a workaround?

    • We’re not adding new functionality for WPMU right now, because it’s being merged into WP and will likely look differently when that’s done (in WP 3). Then, we’ll see what we can do.

      For now, the only work-around I can suggest is to use different languages and manually edit the languages table. We’ve been meaning to allow editing the languages table via a GUI, but it constantly gets pushed out due to other things. I would like to give you an estimated schedule for that, but I can’t.

      However, if this is an urgent thing and you’re willing to chip in, we can do this addition right now in the context of paid work. As paid work, we can assign more programmers to WPML and get things done ahead of schedule.

  4. I want to have translated contents not unique in two different domains, what do i have to do? put .htaccess to the new domain or do i only need the new domain without hosting. My page is and the new domain will be both have same content but different language. So what do i have to do please.

  5. Hi!
    How do I get the English menus to display when German is the default language of the original website?

    My default language is German and the German website is . I started translating this stuff into English and there the different domain name is

    Even though I have set up the different domain per language option, how do I get the English menus to display with in the url.

    Currently it displays the German contents of

    Would appreciate your help!

  6. Nice post!

    What if I make subdomains for country specific content, on country specific language, ad country specific title, description, keywords…will search engines (read google) index my subdomains at all? I repeat, I will have unique content per subdomain.

    • WPML builds a separate page/post per language. Each of (language) can have a different title, meta description and body.

  7. I setuped a site on localhost use /en/ slug for english version. Now site is online and I want to change it to but I got error. Could you please help me with this?


  8. Hello! A quick question.

    User “Richard” asked January 28, 2010 at 2:58 pm about the possibility to add several subdomains to english language.

    (I am also in need to know this as i have a total of 3 english subdomains)

    You answered that it was possible to add this directly in the language table.

    Could you please provide some info on where?

    Would be very aprichiated!

    Best regards Victor

  9. my company tries to use the wpml for “languages per country”,
    for instance, germen user will get to the “”
    and it will be in germen with option to choose for examlple french. how do i do that? told my company that it can be done before we bought it.

    thanks ahead

  10. If I start out using language folders/subdomains, it is easy enough to convert over to having different domains for different languages at a later date?

    Or do I need to pick one of the three options from the start?

    If its okay to convert, is it better to start with and later convert that to, or better to start with and convert from there? Or does it not make any difference?

    Many thanks,


    • You can change between the different URL options at any time. Just remember that incoming links will be broken, as your content’s URLs will change.

      For our sites, I prefer using languages in directories. It’s easier to manage and less fuss to set up.

  11. Hi Amir,
    Thanks for the post!

    A question: I can’t find how to edit the default language directory name that would be used by WPML… For instance, since my translated content is in Simplified Chinese, WPML wants to name the translation directory “…/zh-hans/”.

    How can I change this to a simpler “…/zh/”?


  12. Hello, I have an English site and I want to have the spanish version as subdomain of the english. I did start the translation and I choose different language per directories but now I will rather preffer subdomains.

    So I created a subdomain through cpannel, and I choose on the WPML setting to have a different subdomain but when validating I got an error. I tried redirecting the subdomain to the folder which I started translating (in my case and I could save and validate the subdomain but when typing the url, it come out with a message url not found. If I switch off the redirection to this folder and I type I can see my already translated website.

    Could yo please help me to choose different languages per subdomain?