Here’s how to make a bilingual site look and feel like two separate, complete sites each with their own proper permalink structure showing a distinct domain per language.

We want natural, intuitive permalinks that make sense to visitors. But to understand what I mean, let’s consider the alternative.

You start off with your basic site, then decide to make it bilingual, but the URL’s of the translated pages are the same as the English pages, but with something like ?lang=cy at the end.

That’s just ugly.

We can do better than that, right?

I’ve created quite a few Welsh bilingual websites. I don’t speak Welsh as a first language but many of my friends do. I think it’s a little disrespectful to my Welsh readers to present their content in a way that makes it appear like it was an afterthought, or an add-on.
I want the content in both languages to stand side by side. Neither takes second place.

So what we really need is to have a separate domain per language, with all the permalinks fully translated. Each language version of the site will feel like a standalone site.

Here’s an example of the BAD WAY TO DO IT.

Let’s pretend for a second that this site was bilingual (it isn’t).
The address to my about page is

The poor way to permalink to a Welsh language version of this page (or any additional language) would be something like: (or something similar, you get the idea)

What’s wrong with that? Firstly, the address is still all in English.
Plus, my view is that it sends a signal that the second language is indeed that, secondary. An afterthought. Not as important.


What if, when you translate the page, you saw not only the main page text translated, but the whole of the permalink too? A complete translation of the domain name and page name? Essentially, one domain per language.

It would look something like this:

The advantages are obvious, especially if you have a genuinely bilingual audience. Equal weight to both. Each version is equally intuitive and feels like it belongs, rather than feeling like it’s some sort of Frankensteinian web afterthought.

Use WPML to have a separate domain per language

To achieve this professional level of multilingual site management, I use [bl id=”663″]WPML[/bl].

WPML makes it incredibly easy to use a separate domain per language, and it just works!

Step by step guide to setting a different domain per language in WPML

  1. Firstly you need to have already registered the domain name for your second language. If you registered both domain names with the same company you use for hosting, you probably won’t need to do anything else with DNS settings. But if for example, you had registered your domain names with a different provider, you will need to point the second domain at the same server that hosts the default language site. For more guidance on this, follow this post.
  2. Go to the settings page in WPML
  3. In Site Languages, make sure you have defined your default language, and added your additional language(s). (See top section of the image below)
  4. In the section below, called Language URL format, choose “a different domain per language“, and then type in the URL of the domain name for your second language. Tick the “validate on save” box.
  5. That’s it, it should now work. To test it, make sure you’ve created some translated posts, and have included the language switcher somewhere on the page, so you can toggle between each language.
WPML domain per language
Setting a different domain per language using WPML

Find out more about WPML

Other WPML related posts:

Best WordPress multilingual plugin for a bilingual (Welsh) site.

How to show a different header image depending on language, in a Genesis theme using WPML.