Seatext library

How to Set Up a Custom Domain for Each Language on Your WordPress Site

To set up a custom domain per language, you need to register country-code domains (e.g., example.fr, example.de), point their DNS to your server, then use a WordPress multisite network or a multilingual plugin that...

To set up a custom domain for each language, you need to register country-code domains like example.fr and example.de. Then point their DNS records to your server. Next, configure WordPress multisite or a multilingual plugin that supports different domains per language. Finally, add hreflang tags so search engines understand the language targeting.

What You Need Before You Start

Country-code top-level domains (ccTLDs) like .fr, .de, or .es offer strong local SEO signals. They tell search engines and users that your site is built for a specific country. This can improve local rankings and build trust. However, managing multiple domains requires more work than subdirectories or subdomains.

Before you start, gather these essentials:

  • Registered ccTLDs for each language (e.g., example.fr, example.de).
  • A hosting plan that accepts multiple domains pointing to the same server.
  • Access to your DNS management panel (usually at your domain registrar).
  • An SSL certificate for each domain. Most hosts offer free Let's Encrypt certificates.
  • A plan for hreflang tags. Most plugins handle this automatically.

Step 1: Register and Point Your Domains

Register each ccTLD from a domain registrar. Once registered, you need to connect the domain to your server. DNS (Domain Name System) maps domain names to server IP addresses.

The simplest method is to set an A record. An A record points your domain to a specific IP address. Log into your registrar's DNS panel. Create an A record for each domain and set the value to your server's IP address. If your server uses a shared IP, use that. If you use a CDN, point to the CDN's IP.

Alternatively, you can point nameservers to your hosting provider. This gives your host control over DNS settings. This is easier if you have many domains.

After making changes, DNS propagation can take a few minutes to 48 hours. Use a tool like whatsmydns.net to check when the domain resolves.

Step 2: Choose a Domain-per-Language Approach

You have two main options: WordPress Multisite or a multilingual plugin.

WordPress Multisite creates a network of separate sites. Each site can have its own domain. This gives you full control over themes, plugins, and users per language. However, it requires more technical skill. You must also manage content separately for each site.

Multilingual plugins are simpler. They let you manage all languages from one WordPress dashboard. Plugins like WPML, TranslatePress, and Polylang Pro support different domains per language. They handle language switching, URL mapping, and hreflang tags. Most users find this approach easier.

Consider your needs. If you need separate designs or user bases per language, Multisite may be better. If you want a unified admin and shared content, use a plugin.

ApproachBest forSetup EffortControlPricing
WordPress MultisiteAdvanced users who need full site separationHighFull control over each site's theme and pluginsFree (but hosting costs multiply)
WPMLMost WordPress sites with premium multilingual needsMediumHigh – per-domain settings, SEO, and translation managementCheck with vendor
TranslatePressUsers who want a visual translation interfaceLowMedium – visual editing, but domain mapping requires the developer add-onCheck with vendor
Polylang ProBudget-conscious sites with simple contentLowMedium – domain support is in the Pro versionCheck with vendor
SeaText (Translation Agent)Automated translation after domain setupVery lowHigh – edits allowed, but translation is automaticFree up to certain limits

Step 3: Configure the Plugin or Multisite

We'll cover the setup for the three most popular plugins. Refer to their official documentation for the latest steps.

WPML: Install WPML and the 'Different Domains per Language' add-on. Go to WPML → Languages → Language URL format. Select 'Different domains per language.' Enter the domain for each language (e.g., example.fr). Save. The plugin will then serve the correct language based on the domain.

TranslatePress: Install TranslatePress and the Developer add-on. Go to Settings → TranslatePress → General. Enable 'Use a different domain for each language.' Enter the domains for each language. Save. Note: The Developer add-on is required for this feature.

Polylang Pro: Install Polylang Pro. Go to Settings → Languages → Settings. Choose 'The language is set from different domains.' Enter the domains. Save. Polylang Pro is the paid version; the free version does not support domain mapping.

For WordPress Multisite, you need to create a network and add sites. Then assign each site a domain. This requires server-level configuration. Consult your host's documentation for domain mapping in Multisite.

Step 4: Set Up Hreflang Tags

Hreflang tags are essential for multilingual SEO. They tell search engines which language and region a page targets. Without them, Google might show the wrong language version to users. This can hurt your click-through rates.

Most multilingual plugins generate hreflang tags automatically. In WPML, enable hreflang in WPML → Languages → SEO options. In TranslatePress, hreflang tags are added by default. In Polylang Pro, they are also automatic.

To verify, view the page source in your browser. You should see lines like:

<link rel="alternate" hreflang="fr" href="https://example.fr/page/" />

Use Google's hreflang testing tool or a browser extension to check for errors. Ensure each page has a self-referencing hreflang tag and tags for all other language versions.

Step 5: Translate Your Content

Once domains are set up and hreflang tags are in place, you can start translating. Use your plugin's translation editor or an automatic service. For a hands-free approach, consider SeaText's Website Translation Agent. It translates every page, post, and product into up to 125 languages automatically. This is ideal for sites with frequent updates.

Troubleshooting Common Issues

Even with careful setup, problems can arise. Here are common issues and solutions.

DNS propagation delay: If your domain does not load, wait. It can take up to 48 hours. Use a DNS checker to confirm propagation.

SSL certificate errors: Each domain needs its own SSL certificate. Many hosts offer free Let's Encrypt certificates. Install them for each domain. If you see a warning, the certificate may be missing or misconfigured.

Redirect loops: This happens when the plugin or server redirects visitors to the wrong domain. Check your plugin's language redirect settings. Disable browser language detection if it causes loops. Also ensure your server does not force a redirect to a single domain.

Hreflang tags missing: If hreflang tags do not appear, check that your plugin's SEO options are enabled. Also ensure you have translated pages. Hreflang tags only appear for pages that have a translation.

Mixed content warnings: If you use HTTPS, ensure all links (images, scripts) use HTTPS. Browsers block mixed content. Use a plugin to fix mixed content.

Frequently Asked Questions

Do I need separate hosting for each domain?

No. All domains can point to the same server. Your hosting plan must support multiple domains. Most shared hosting plans do.

Can I use subdomains instead of separate domains?

Yes. Subdomains like fr.example.com are easier to set up. They do not require registering new domains. However, ccTLDs offer stronger local SEO signals. Choose based on your goals.

What about SEO when I change domains later?

Changing domains can hurt rankings. Use 301 redirects from old URLs to new ones. Update your Google Search Console property for each new domain. Expect a temporary drop in traffic.

Will this increase my hosting costs?

Domain registration costs per domain (typically $10–$20 per year). Hosting costs do not increase if all domains point to the same server. However, SSL certificates may have costs if you do not use free ones.

Can I use different themes per language?

With Multisite, yes. Each site can have a different theme. With a plugin like WPML, you can only use different themes with custom code. Most plugins use the same theme for all languages.

Further reading and comparison sources

These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.

Further reading and comparison sources

These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.

Learn more

Visit the website for more information.