WPML
Status
Resolvido
Relatado para
WPML SEO 2.2.2
Resolvido em
WPML SEO 2.2.3
Plugin/tema relacionado
Rank Math SEO
Tags de tópico
Compatibility

Visão geral do problema

Ao usar o RankMath SEO ou o Yoast SEO com o nosso complemento WPML SEO, você pode encontrar valores incorretos de hreflang no sitemap. Em vez de usar os valores de hreflang definidos nas configurações de idioma do WPML, o sitemap usa o código do idioma (por exemplo, nz, au) em vez do código completo esperado (por exemplo, en-nz, en-au).

Solução alternativa

Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.


  • Abra o arquivo …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php.

  • Procure a linha 180.

  • Substitua:
    private function getAlternateLinks( $alternateLangs ) {
        $buildAlternateLink = function ( $url, $lang ) {
            return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $lang ) . '" href="' . esc_url( $url ) . '" />';
        };
            


  • Por:
    private function getAlternateLinks( $alternateLangs ) {
        $buildAlternateLink = function ( $url, $lang ) {
            $languages = apply_filters( 'wpml_active_languages', null, [] );
            $hreflang = isset( $languages[ $lang ]['tag'] ) ? $languages[ $lang ]['tag'] : $lang;
            
            return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $hreflang ) . '" href="' . esc_url( $url ) . '" />';
        };
            

Todos os problemas conhecidos →