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

Tutti i problemi noti →