Sauter la navigation

Ce sujet est résolu. Voici une description du problème et de la solution.

Problème :
Le client souhaite gérer les balises hreflang entre deux sites WordPress indépendants, l'un en français (domain.fr) et l'autre en anglais et espagnol (domain.com et domain.com/es).
Solution :
Pour le site utilisant WPML (domain.com), WPML gère automatiquement les balises hreflang. Vous pouvez voir comment WPML assigne les hreflang pour chaque langue dans cette documentation : https://wpml.org/documentation/support/adding-hreflang-wordpress/#hreflang-wpml.
Pour le site sans WPML (domain.fr), vous avez deux options :
✅ Option 1 : Utiliser un plugin SEO comme Yoast SEO ou Rank Math pour définir manuellement les URLs alternatives et hreflang dans l'éditeur d'article.
✅ Option 2 : Ajouter du code à functions.php de votre thème actif sur domain.fr. Voici un exemple de code à ajouter :

function add_hreflang_for_french_version() {
 if (is_single()) { 
 global $post ;
 $french_url = 'https://domain.fr/' . $post->post_name ; // Adaptez en fonction de la structure de l'URL
 echo '<link rel="alternate" hreflang="fr" href="' . esc_url($french_url) . '" />' . PHP_EOL ;
 }
}
add_action('wp_head', 'add_hreflang_for_french_version') ;

Nous recommandons l'Option 1 car elle est plus facile à configurer.

Si cette solution ne vous semble pas pertinente ou si elle est obsolète, nous vous recommandons de vérifier les problèmes connus sur https://wpml.org/known-issues/, de vérifier la version du correctif permanent et de confirmer que vous avez installé les dernières versions des thèmes et plugins. Si le problème persiste, n'hésitez pas à ouvrir un nouveau ticket de support sur notre forum de support.

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Ce sujet contient 5 réponses, a 0 voix.

Dernière mise à jour par florianB-58 Il y a 4 jours et 3 heures.

Assisté par: Ilyes.

Auteur Articles
février 24, 2025 à 9:22 pm #16743301

florianB-58

Bonjour,

Merci pour votre réponse précise, c'est appréciable. Je vais réaliser quelques tests de mon côté.

Je me permets une autre question : comment gérer les balises "href lang" entre ces deux sites avec WPML ? Car, pour un même article, il y aura potentiellement 3 versions réparties de cette façon :

- Français : domaine.fr/article-xyz
- Anglais : domaine.com/article-xyz
- Espagnol : domaine.com/es/article-xyz

Tout en sachant qu'il n'agit de 2 WordPress totalement indépendants.

Merci encore pour votre aide précieuse.

Cordialement.

février 25, 2025 à 1:53 am #16743715

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Comme suggéré dans cette documentation : https://wpml.org/documentation/support/adding-hreflang-wordpress/#hreflang-wpml

WPML s'occupe de la balise href lang automatiquement pour vous, lorsque vous ajoutez/modifiez une langue comme montré dans lien caché">la capture d'écran, vous verrez la colonne avec le hreflang assigné à chaque langue.

Même pour les deux sites différents, il ne s'agit pas des mêmes langues.

février 25, 2025 à 5:20 am #16743859

florianB-58

Bonjour,

Merci pour votre réponse. Étant donné que "domain.fr" est sur un WordPress et "domain.com" sur un autre WordPress (base de données et hébergement différents), est-ce possible ?

Autrement dit :
- Sur le site web "domain.com", comment ajouter le hreflang FR avec un lien vers l'article en français disponible sur "domain.fr".
- Sur le site web "domain.fr", comment ajouter les balises hreflang EN et ES avec les liens vers "domain.com" et "domain.com/es".

J'espère que mes explications sont claires.
Merci pour votre aide.

Cordialement.

février 26, 2025 à 12:10 am #16748590

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Comme domain.fr ne dispose pas de WPML, vous devrez ajouter les balises hreflang manuellement. Pour ce faire, vous pouvez :

✅ Option 1 : Utiliser un plugin SEO

Si vous utilisez un plugin comme Yoast SEO ou Rank Math, vous pouvez définir manuellement les URLs alternatives et hreflang dans l'éditeur d'article.

✅ Option 2 : Ajouter du code à functions.php<

Ajoutez ce code au fichier functions.php de votre thème actif sur domain.fr, exemple :

function add_hreflang_for_french_version() {
 if (is_single()) { 
 global $post ;
 $french_url = '<em><u>lien caché</u></em>' . $post->post_name ; // Adaptez en fonction de la structure de l'URL
 echo '<link rel="alternate" hreflang="fr" href="' . esc_url($french_url) . '" />' . PHP_EOL ;
 }
}
add_action('wp_head', 'add_hreflang_for_french_version') ;

Et le domaine.com aura tout réglé automatiquement en utilisant WPML,

Cordialement,

février 26, 2025 à 5:57 am #16748833

florianB-58

Bonjour,

Merci pour votre réponse. Pour le SEO, j'utilise All-in-One SEO, il faut que je regarde s'il y a cette option, ou sinon peut-être que je dois envisager de migrer sur Yoast SEO...

Sinon, avec la méthode basée sur un code PHP, je vois bien l'idée. Mais, le slug étant différent entre la version anglaise et la version française (puisqu'il est traduit), cela me semble difficile. N'est-ce pas ?

Du côté du site "domain.fr", où je dois déclarer les balises hreflang en anglais et en espagnol, il conviendrait de pouvoir les définir manuellement aussi.

La gestion manuelle de certaines balises hreflang serait surement le plus simple dans mon cas, ce n'est qu'une étape supplémentaire à effectuer lors de la publication d'un article.

Cordialement.

février 26, 2025 à 9:03 pm #16753403

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Oui, vous pouvez utiliser ce plugin également, n'importe quel plugin SEO devrait faire l'affaire,

Je vous ai donné 2 options, mais je suggère fortement la première car elle est plus facile à configurer,

février 28, 2025 à 5:15 pm #16762281

florianB-58

Merci, j'ai bien compris. Je vais pouvoir appliquer vos recommandations. Merci beaucoup.