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

Visão geral do problema

Ao usar o Rank Math ou o Yoast SEO com o WPML SEO, os links alternativos no código-fonte do sitemap podem exibir incorretamente a URL da página inicial traduzida com um link permanente interno (ex.: /es/home/) em vez da URL raiz do idioma esperada (ex.: /es/). Isso não afeta a exibição no frontend, onde os links canônicos e hreflang aparecem corretamente.

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

  • Substitua:
    $link[ self::KEY ][ $lang ] = apply_filters( 'wpml_permalink', $link['loc'], $lang );
            


  • Por:
    $link[ self::KEY ][ $lang ] = apply_filters( 'wpml_permalink', $link['loc'], $lang, true );
            

  • Repita a mesma operação na linha 89.

  • Substitua:
    return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
            


  • Por:
    return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language, true );
            

Após aplicar essas alterações, você precisa reconstruir seus sitemaps:

  • Para o Rank Math: Vá para “Rank Math > Sitemap Settings”, altere o valor de “Links per sitemap”, salve as configurações (você pode reverter para o seu valor preferido depois).
  • Para o Yoast SEO: Siga este tutorial para regenerar os sitemaps.

Todos os problemas conhecidos →