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