Un site institutionnel en quatre langues (français, anglais, allemand, espagnol), construit avec Elementor et traduit avec WPML : sur la version allemande uniquement, le bleu de la marque affiché par la Global Color « Primary » apparaît légèrement plus foncé que sur les trois autres langues, alors qu’aucune modification volontaire n’a été faite sur cette langue précise.
Ce type de désynchronisation, difficile à repérer à l’œil nu tant que les langues ne sont pas comparées côte à côte, provient d’un comportement peu documenté de l’interaction entre WPML et le Kit Elementor (le document qui centralise les réglages globaux de style). Ce diagnostic ne traite pas de Polylang, dont le fonctionnement diffère, ni de la traduction automatique du contenu.
Comprendre où vivent les Global Colors et Global Fonts
Dans Elementor, les Global Colors et Global Fonts ne sont pas des options globales au sens WordPress classique (une seule ligne en base pour tout le site) : elles sont stockées dans le contenu du Kit actif, un type de post Elementor à part entière (elementor_library avec un sous-type kit). Chaque kit possède son propre post, avec ses propres métadonnées _elementor_page_settings.
Ce que fait WPML avec ce post de kit
WPML, configuré en mode traduction de contenu classique, traite chaque post comme un contenu traduisible : selon la configuration retenue au moment de l’activation de WPML sur le site (traduction complète du post type elementor_library plutôt que simple duplication), le kit se retrouve dupliqué en quatre exemplaires distincts, un par langue, au lieu de rester un post unique partagé par toutes les langues.

Une fois ces quatre kits dupliqués, ils cessent d’être synchronisés : toute modification d’une Global Color faite depuis l’éditeur, sur la langue française par exemple, ne se répercute que sur le kit associé au français. Une modification ultérieure, faite en urgence directement sur la version allemande sans repasser par le processus de traduction WPML, crée alors la divergence observée.
Comment confirmer ce diagnostic
- Rechercher les posts de type
elementor_libraryavec le sous-typekitdans la tablewp_posts - Vérifier, via le tableau de bord des traductions WPML, combien de kits distincts existent réellement pour l’ensemble du site
- Comparer le contenu de
_elementor_page_settingsentre les kits pour repérer la valeur hexadécimale qui diverge
Correctif : une seule langue source de vérité pour le kit
La configuration recommandée par la documentation WPML pour Elementor consiste à exclure le post type elementor_library de la traduction automatique de contenu, et à ne conserver qu’un seul kit, actif pour toutes les langues, plutôt que d’en dupliquer un par langue. Ce réglage se trouve dans WPML, menu Réglages, section Traduction des types de contenus personnalisés.
// Réglage recommandé, exposé via l'interface WPML :
// Elementor Library (elementor_library) => "Ne pas traduire"
// (le Kit reste un post unique, partagé par toutes les langues du site)
Sur ce projet, la correction a consisté à repartir du kit associé à la langue française (la plus à jour et la mieux maintenue), à en faire l’unique source de vérité, puis à supprimer les trois kits dupliqués des autres langues après avoir vérifié qu’aucun réglage spécifique à une langue n’y avait été ajouté volontairement.
Conseil maison : sur tout projet Elementor multilingue avec WPML, ce réglage se vérifie dès la phase d’installation, avant que les traducteurs ne commencent à travailler. Le corriger après plusieurs mois de production impose de comparer les kits divergents ligne par ligne.
Ce qui reste propre à chaque langue, à raison
Certains éléments, eux, doivent légitimement varier par langue : les templates de contenu (une page d’accueil traduite reste un post distinct par langue, c’est le principe même de WPML), ou des réglages ponctuels de mise en page adaptés à la longueur des textes selon la langue. Seuls les réglages globaux de style (couleurs, polices, espacements par défaut) doivent rester partagés.
En résumé
Un kit Elementor dupliqué par WPML plutôt que partagé entre langues est une source de désynchronisation silencieuse des Global Colors et Global Fonts. Vérifier ce réglage dès le démarrage d’un projet multilingue évite des heures de comparaison visuelle entre langues plusieurs mois plus tard.