Aperçu de l’anomalie
Lorsque vous utilisez RankMath SEO ou Yoast SEO avec notre module complémentaire WPML SEO, vous pouvez rencontrer des valeurs hreflang incorrectes dans le sitemap XML. Au lieu d’utiliser les valeurs hreflang définies dans les paramètres de langue de WPML, le sitemap XML reprend le code de langue (par ex. nz, au) plutôt que le code complet attendu (par ex. en-nz, en-au).
Solution de contournement
Ce problème est résolu dans WPML SEO 2.2.3. La mise à jour résout le problème sur votre site, vous n’avez donc besoin de cette solution de contournement que si vous ne pouvez pas encore mettre à jour.
Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.
- Ouvrez le fichier …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php.
- Recherchez la ligne 180.
- Remplacez :
private function getAlternateLinks( $alternateLangs ) { $buildAlternateLink = function ( $url, $lang ) { return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $lang ) . '" href="' . esc_url( $url ) . '" />'; }; - Par :
private function getAlternateLinks( $alternateLangs ) { $buildAlternateLink = function ( $url, $lang ) { $languages = apply_filters( 'wpml_active_languages', null, [] ); $hreflang = isset( $languages[ $lang ]['tag'] ) ? $languages[ $lang ]['tag'] : $lang; return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $hreflang ) . '" href="' . esc_url( $url ) . '" />'; };