- Stato
- Risolto
- Segnalato per
- WPML SEO 2.2.4
- Risolto in
- 2.2.5
- Plugin/tema correlato
- Rank Math SEO
- Tag dell’argomento
- Compatibility
Panoramica del problema
Quando utilizzi Rank Math o Yoast SEO con WPML SEO, i link alternativi nel codice sorgente della sitemap potrebbero mostrare in modo errato l’URL tradotto della homepage con un permalink interno (ad es. /es/home/) invece dell’URL radice della lingua previsto (ad es. /es/). Questo non influisce sulla visualizzazione sul frontend, dove i link canonical e hreflang appaiono corretti.
Soluzione alternativa
Assicurati di avere un backup completo del sito prima di procedere.
- Apri il file …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php.
- Cerca la riga 61.
- Sostituisci:
$link[ self::KEY ][ $lang ] = apply_filters( 'wpml_permalink', $link['loc'], $lang );
- Con:
$link[ self::KEY ][ $lang ] = apply_filters( 'wpml_permalink', $link['loc'], $lang, true );
- Ripeti la stessa operazione alla riga 89.
- Sostituisci:
return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
- Con:
return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language, true );
Dopo aver applicato queste modifiche, devi ricreare le sitemap:
- Per Rank Math: vai su “Rank Math > Sitemap Settings”, modifica il valore “Links per sitemap”, salva le impostazioni (in seguito potrai ripristinare il tuo valore preferito).
- Per Yoast SEO: segui questo tutorial per rigenerare le sitemap.