- Stato
- Risolto
- Segnalato per
- WPML SEO 2.2.4
- Risolto in
- WPML SEO 2.2.5
- Plugin/tema correlato
- Rank Math SEO
- Tag dell’argomento
- Compatibility
Panoramica del problema
Quando usi RankMath SEO con WPML, potresti riscontrare un problema in cui gli URL della homepage nel codice sorgente delle sitemap <xhtml:link rel="alternate" hreflang="..."> sono errati per le lingue secondarie. Invece di mostrare la homepage specifica per la lingua (ad es., domain.com/?lang=es), la sitemap genera un URL completo della pagina (ad es., domain.com/page-slug/?lang=es).
Soluzione alternativa
Assicurati di avere un backup completo del tuo sito prima di procedere.
- Apri il file …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php.
- Cerca la riga 88.
- Sostituisci:
$mapPermalink = function ( $id, $language ) use ( $getPermalink ) { return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language ); };
- Con:
$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 ); };
- Ricrea le sitemap: Vai su “Rank Math > Sitemap Settings”, modifica il valore “Links per sitemap” e salva.