I'm looking to publish a multi-domains/multi-langages website, based on wordpress.

I'm setting up multiple domain to publish oriented content for visitor, like this i can offer French, English, German, Spanish, Japanese contents websites. Each main language i have is associated to a main domain (.fr, .com, .de, .es, .jp), so far, WP multisite work well.

My problem :

I got secondary level domains, Belgium, Switzerland, United Kingdom (.be, .ch, .co.uk). This three secondary level domains are attached to a main domain : .be and .ch are linked to .fr & .co.uk is linked to .com.

I want to find a way to use the same content than main domains for secondary level domains (if it's possible, without content duplication) and be able to set correctly hreflang for each domains (fr_FR, fr_BE, fr_CH, en_US, en_GB, es_ES, de_DE, ja_JP)

  • Is the best practice to use multisite to do this ?
  • Any recommendation to choose plugin to duplicate content between main domains and secondary level domains ?
  • How could i manage hreflang ?

Thank you for suggestions, Antoine.

  • I don't understand what you do you mean with ".be and .ch are linked to .fr" . can you edit the question to give an example ?
    – mmm
    Feb 27, 2018 at 15:45
  • "I want to find a way to use the same content than main domains for secondary level domains (if it's possible, without content duplication) and be able to set correctly hreflang for each domains", in other words when i write a post or a page on .fr site, i want that .be and .ch domains are able to distribute this same content with the appropriate hreflang (.fr -> fr_FR ; .be -> fr_BE ; .ch -> fr_CH). The content distributed on this three domains is the same, in french, but it is also "custom" (or localized) by domain with the hreflang
    – abenevaut
    Feb 27, 2018 at 15:56
  • I found a plugin that allows to manually add hreflang for a page, that need some effort but that really the way i need to work with (fr.wordpress.org/plugins/hreflang-tags-by-dcgws). Is that possible to have multiple domain for one WP blog instance ?
    – abenevaut
    Feb 27, 2018 at 16:16
  • Have you tried the plugin MultilingualPress, that handle the also the hreflang attribute and give you the possibility to use the WP core for different domains, sub-sites and so on.
    – bueltge
    Jan 22, 2019 at 9:11

1 Answer 1


Struggled for days to solve a similar problem. Tried Polylang, WPML, all sorts of custom codes. Did some research on domaining and languages.

I have started with subdomains. myfancysite.com, then adding de.myfancysite.com, it.myfancysite.com etc. Then I have realized I'm losing some potential.

Came up with some conclusion:

Spreading multilanguage project on ccTLDs is more expensive but WAY better than working with subdomains / folders, because I can host each website in their respective country and I don't have to tie myself up to CDN providers like Cloudflare. However, it isn't only expensive, but also complicated. Most of the plugins available for multilanguage projects (free OR paid) treat the subdomain setup, with scarce info about different domains spread on different TLDs. Tried some custom plugins, paid for some. There was something missing. Always.

So this is what I did.

Generated a custom-named Underscores.me theme. The former _s Wordpress theme is maintained by Automattic, the commercial company behind Wordpress. Reliable. I don't have to pay custom development, I will work with that's WELL known. I won't use paid themes either. They're (again) unreliable, from multiple points of view. Underscores shouldn't be unreliable. I don't have to work with child-themes, I'm also branded somehow.

Installed the first project locally. Started to set it up. I have used some plugins, not so many, and the most installed ones (well maintained) - a SEO plugin, remove category from URL, really simple ssl, contact form 7 together with really simple captcha, easy updates manager, and ACF.

The latter was crucial for my SEO. It renders fields. Like my hreflang fields.

Added a group in ACF, named it Languages. Group made available for both posts and pages. Added a field for each of my corresponding languages. Named the fields german_language, spanish_language, italian_language etc.

Echoed the fields in header.php, somewhere in the <head> area.

<link rel="alternate" hreflang="de" href="<?php echo the_field('german_language'); ?>">

ACF creates the variable for me and saves it in DB.

I have used the same variable to create a widget with flags.

If there's a page or a post who doesn't exist on other domains, I will just add a conditional to my hrelang code echo (isset could work, shouldn't be hard).

Then installed the resulting website everywhere. Backed up and exported using WPRESS (paid plugin for import, but I have it anyway from other projects). You can use anything else to export/import the same project. Changed the language, updated translations.

Wash, rinse, repeat.

Google won't see duplicate content if you use hreflang correctly. This is the key - hreflang.

The future is bright.

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.