WPML
Statut
Résolu
Signalé pour
WPML SEO 2.2.4
Résolu dans
2.2.5
Extension/thème associé
Rank Math SEO
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Si vous utilisez Rank Math ou Yoast SEO avec WPML SEO, les liens alternatifs dans le code source du sitemap XML peuvent afficher de manière incorrecte l’URL traduite de la page d’accueil avec un permalien interne (par ex. /es/home/) au lieu de l’URL racine de la langue attendue (par ex. /es/). Cela n’affecte pas l’affichage en front-end, où les liens canoniques et hreflang apparaissent correctement.

Solution de contournement

Assurez-vous de disposer d’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 61.

  • Remplacez :
    $link[ self::KEY ][ $lang ] = apply_filters( 'wpml_permalink', $link['loc'], $lang );
            


  • Par :
    $link[ self::KEY ][ $lang ] = apply_filters( 'wpml_permalink', $link['loc'], $lang, true );
            

  • Répétez la même opération à la ligne 89.

  • Remplacez :
    return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
            


  • Par :
    return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language, true );
            

Après avoir appliqué ces modifications, vous devez recréer vos sitemaps XML :

  • Pour Rank Math : accédez à « Rank Math > Sitemap Settings », modifiez la valeur « Links per sitemap », puis enregistrez les réglages (vous pourrez rétablir votre valeur préférée par la suite).
  • Pour Yoast SEO : suivez ce tutoriel pour régénérer les sitemaps XML.

Toutes les anomalies connues →