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

Aperçu de l’anomalie

Lorsque vous utilisez RankMath SEO avec WPML, vous pouvez rencontrer un problème où les URL de la page d’accueil dans le code source des sitemaps XML <xhtml:link rel="alternate" hreflang="..."> sont incorrectes pour les langues secondaires. Au lieu d’afficher la page d’accueil spécifique à la langue (par exemple, domain.com/?lang=es), le sitemap XML génère une URL de page complète (par exemple, domain.com/page-slug/?lang=es).

Solution de contournement

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 88.

  • Remplacez :
    			$mapPermalink = function ( $id, $language ) use ( $getPermalink ) {
    				return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
    			};
            


  • Par :
    			$mapPermalink = function ( $id, $language ) use ( $getPermalink ) {
    
    				// WPML Workaround for wpmlsupp-13368 
    				$front_id = (int) get_option( 'page_on_front' );
    				if ( $front_id ) {
    					$default_lang = apply_filters( 'wpml_default_language', null );
    					$id_in_default = (int) apply_filters( 'wpml_object_id', (int) $id, 'page', false, $default_lang );
    					if ( $id_in_default && $id_in_default === $front_id ) {
    						return apply_filters( 'wpml_permalink', trailingslashit( home_url() ), $language );
    					}
    				}
    
    				return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
    			};
            

  • Reconstruisez les sitemaps XML : Allez dans « Rank Math > Sitemap Settings », modifiez la valeur « Links per sitemap », et enregistrez.

Toutes les anomalies connues →