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

Visão geral do problema

Ao usar o RankMath SEO com o WPML, você pode enfrentar um problema em que as URLs da página inicial no código-fonte dos sitemaps <xhtml:link rel="alternate" hreflang="..."> estão incorretas para os idiomas secundários. Em vez de mostrar a página inicial específica do idioma (por exemplo, domain.com/?lang=es), o sitemap exibe uma URL completa da página (por exemplo, domain.com/page-slug/?lang=es).

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

  • Substitua:
    			$mapPermalink = function ( $id, $language ) use ( $getPermalink ) {
    				return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
    			};
            


  • Por:
    			$mapPermalink = function ( $id, $language ) use ( $getPermalink ) {
    
    				// WPML Workaround for wpmlsupp-13368 
    				$front_id = (int) get_option( 'page_on_front' );
    				if ( $front_id ) {
    					$default_lang = apply_filters( 'wpml_default_language', null );
    					$id_in_default = (int) apply_filters( 'wpml_object_id', (int) $id, 'page', false, $default_lang );
    					if ( $id_in_default && $id_in_default === $front_id ) {
    						return apply_filters( 'wpml_permalink', trailingslashit( home_url() ), $language );
    					}
    				}
    
    				return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
    			};
            

  • Recrie os sitemaps: Vá para “Rank Math > Sitemap Settings”, altere o valor de “Links per sitemap” e salve.

Todos os problemas conhecidos →