Domain names matter. You will gain user trust and better SEO results with a different domain for language.
The Different Domain per Language addon allows you to assign unique domains or subdomains to each language on your multilingual WordPress site. Instead of using URL paths like example.com/de/ or example.com/es/, visitors can access translations through completely separate domains such as example.de or example.es
This approach is particularly useful for:
Regional targeting: Use country-specific domains (.de, .fr, .es) for better local SEO
User experience: Provide cleaner, more memorable URL’s for each language
Requirements for Setting Up Different Domains per Language
Before setting up different domains per language, ensure you have:
Registered Domains: purchase and register domains you want to use for each language
DNS configuration: all domains must point to the same server where your WordPress installation is hosted
SSL certificates: configure SSL/TLS certificates for each domain to enable HTTPS (usually the hosting company admin panel is responsible for this)
TranslatePress Business or Developer: this feature is available for these two version TranslatePress (not available in the Free and Personal versions)
Setting Up DNS
All domains must resolve to the same server IP address. There are two common approaches:
Option 1: Using Subdomains
Subdomains are the easiest to configure since they’re managed within your existing domains:
Log into your domain registrar or hosting control panel
Navigate to DNS settings for your main domain
Create A records or CNAME records for each subdomain
de.example.com -> A Record -> Your Server IP
fr.example.com -> A Record -> Your Server IP
es.example.com -> A Record -> Your Server IP
Or using CNAME records pointing to your main domain:
For country-code domains or different root domains:
Log into the DNS management for each domain
Create an A record pointing to your server’s IP address
example.de -> A Record -> Your Server IP
example.fr -> A Record -> Your Server IP
Adding Domains to Your Server
Just pointing your domain DNS to your server IP is not enough for this to work. Your server also needs to know that it should process requests from those domains as well.
So after configuring DNS, you need to add the domains to your web server.
In general, if unsure, contact your hosting provider to help with this task.
For cPanel/Plesk:
Add each domain as an “Addon Domain” or “Parked Domain” pointing to the same document root as your main WordPress installation.
server {
listen 443 ssl;
server_name example.com example.de example.fr de.example.com fr.example.com;
root /var/www/html/wordpress;
# ... rest of configuration
}
Configuring SSL Certificates
Each domain requires a valid SSL certificate. Options include:
Let’s Encrypt: Free certificates for each individual domain
Wildcard certificates: Cover all subdomains of a domain (e.g. *.example.com)
This is usually setup by your hosting provider unless you manage the server yourself
Configure TranslatePress for Different Domains per Language
Once your domains are properly configured and accessible, setup the domain mapping in Translatepress.
Step 1: Activate the addon
Visit WordPress Admin → Settings → TranslatePress → Addons and enable Different Domains per Language.
Step 2: Configure each language
Visit WordPress Admin → Settings → TranslatePress → General and configure the domain for each language in particular.
toggle the domain column for each language
use the Check DNS to make sure the domain is reachable via the internet and configured correctly
Save Settings by scrolling to the bottom of the page
Step 3: Choose what languages point to a new domain
You do not have to have new domains for all languages. You can chose to continue using the language parameter (e.g. example.com/nn ) for some of them.
Single Sign-On (SSO)
An important feature when using different domains is Single Sign-On, ensureing that logged-in users remain authenticated across all language domains.
TranslatePress implements SSO functionality that works like so:
Login Trigger: when a user logs into WordPress on any domain, SSO is initiated and logs that user in to the rest of the domains
Logout Trigger: when a user logs out WordPress on any domain he is logged out from the other domains
Notes
When Different Domain per Language is active, the “Use a subdirectory for default language” option is automatically disabled, as domain-based language detection takes precedence.
The Advanced setting “Translate only certain paths” does not work 100% correctly with Different Domain for Language. This is a known limitation for the time being.
The WordPress Admin (wp-admin) is only accessible from the main domain. When accessing admin URLs on secondary domains, the request is detected as an admin request and a 302 redirect sends the user to the main domain’s admin. SSO entires the user remains logged in after the redirect.
Single Sign-On (SSO) can have it’s logged in cookies deleted or expired from certain domains while they are still present on others. If this is happening, please logout and login again to regenerate the login cookies across all domains.
Troubleshooting
DNS Check Fails
If the “Check DNS” button shows an error:
Verify the domain’s DNS records are correctly configured
Allow up to 48 hours for DNS propagation
Ensure SSL certificates are properly installed
Check that the domain is added to your web server configuration
Not logged in on secondary domains
If SSO isn’t working:
Ensure all domains have valid SSL certificates
Check that cookies aren’t being blocked by browser privacy settings
Login and logout from the site and try again
Check for Javascript errors that might prevent iframe loading.
Assets Loading from Wrong Domain
If scripts, styles or images show CORS errors:
TranslatePress automatically filters asset URL’s to use the current domain. It’s possible not all edge cases are covered (due to compatibility issues with other plugins or themes) -> In this case reach out to our support.
Clear any caching plugins after enabling domain mapping
Check for hardcoded URL’s in themes or plugins
TranslatePress Multilingual
The best website localization service for WordPress websites. Manage everything from a visual interface.