WPML prend en charge différentes langues de différents domaines ou sous-domaines. Pour que cela fonctionne, il est nécessaire de configurer légèrement votre serveur Web. Nous allons commencer par le côté théorique, la façon dont cela fonctionne, afin que vous compreniez comment le configurer sur votre propre serveur.

Étapes à suivre pour traiter les demandes de différents domaines

Quand une requête arrive, voici ce qui arrive :

  1. Le DNS indique au navigateur où le site est hébergé.
  2. Le serveur Web reçoit la requête et décide quel hôte virtuel répond.
  3. L’hôte virtuel exécute WordPress et WPML. WPML indique à WordPress quelle page doit être affichée pour chaque langue.

Pour que les langues dans différents domaines fonctionnent, toutes les langues doivent pointer vers la même installation de WordPress. Vous devez paramétrer les configurations DNS et Apache pour le faire.

Si vous vous trouvez en train de modifier .htaccess, en essayant de rediriger les requêtes d’un domaine à l’autre, alors quelque chose ne va pas. Il n’existe qu’une installation de WordPress, donc aucune redirection n’est nécessaire.

1) Configurer le DNS

Vous devez enregistrer tous les domaines ou sous-domaines pour différentes langues. Comment vous le faites dépend grandement de votre panneau de contrôle d’hébergement, mais le résultat final est toujours le même. Tous les domaines doivent pointer vers le même serveur Web.

Si vous utilisez un site local (localhost) et que vous souhaitez tester cette configuration, vous devrez modifier le fichier « hosts » et ajoutez les entrées pour les différents domaines.

Normalement, l’adresse du serveur local est 127.0.0.1, donc si vous voulez tester des domaines comme es.local et de.local, ajoutez ceci à votre fichier hosts existant :

127.0.0.1  es.local
127.0.0.1  de.local

Sur les PC sous Linux, le fichier hosts se trouve dans /etc/hosts. Sous Windows, il est normalement dans C:WINDOWSsystem32driversetchosts.

2) Configurer le serveur Web

Dans notre exemple, nous allons utiliser Apache et expliquer à quoi ressemblent les fichiers de configuration. Votre serveur peut être doté d’un panneau de commande au-dessus d’Apache qui ajoute une sympathique commande graphique aux fichiers de configuration d’Apache. Si vous ne pouvez pas déterminer la façon d’implémenter ce qui suit à l’aide du panneau de commande, vous pouvez copier l’exemple proposé et demandez à votre fournisseur d’hébergement.

Le plus simple est d’avoir une unique entrée VirtualHost pour tous les domaines et d’utiliser ​​les instructions de ServerAlias pour indiquer à Apache de répondre aux différents domaines avec la même hôte virtuel.

Par exemple :

<VirtualHost *>
  DocumentRoot /your_wp_install_directory/wordpress
  ServerName www.english-domain.com
  ServerAlias www.french-domain.fr

  ... your other stuff here ...
</VirtualHost>

Elle indique à Apache qu’il n’existe qu’une seule installation de WordPress qui répond aux demandes de www.english-domain.com et www.french-domain.fr. Ce n’est pas grave si ceux-ci sont des domaines ou sous-domaines complètement différents.

Si vous ne savez pas comment configurer ServerAlias ​​dans le fichier hosts (peut-être parce que vous n’y avez pas accès directement), vous pouvez configurer deux sections VirtualHost, les deux pointant vers le même DocumentRoot (le chemin vers lequel WordPress est installé), mais avec des valeurs ServerName différentes.

Vous pouvez tester cette configuration, même sans WPML (recommandé). Rendez-vous sur les deux domaines et assurez-vous de pouvoir y voir votre site WordPress.

Remarque : De nombreux fournisseurs d’hébergement partagés ne vous permettront pas de modifier directement le fichier de configuration d’Apache . Au lieu de cela, vous pouvez essayer de créer des domaines cPanel-addon qui dirigent vers la même installation physique de WordPress.

3) Indiquer à WPML que vous utilisez différentes langues dans les domaines

Une fois que cette configuration fonctionne, vous pouvez indiquer à WPML de l’utiliser pour déterminer les langues.

Rendez-vous sur WPML-> Langues. Là, choisissez « Un domaine différent pour chaque langue« . WPML vous demandera les domaines de chaque langue. Saisissez-les, validez-les et enregistrez-les.

Langues par domaine dans WPML

Les valeurs par défaut que WPML configure dans les champs de langue sont des sous-domaines avec les noms des paramètres régionaux. Vous pouvez les remplacer par vos noms de domaine actuels.


Assistance multisite

Cette FAQ décrit les différentes étapes de configuration des langues dans les domaines pour l’installation d’un seul site WordPress.

Vous pouvez utiliser les domaines en mode multisite, après avoir procédé à une configuration complémentaire. Pour ce faire, suivez les étapes du guide de configuration des langues dans les domaines en mode multisite.