WPML
Estado
Resuelto
Notificado para
WPML SEO 2.2.4
Resuelto en
WPML SEO 2.2.5
Plugin/tema relacionado
Rank Math SEO
Etiquetas de temática
Compatibility

Resumen del problema

Al usar RankMath SEO con WPML, es posible que experimente un problema en el que las URL de la página de inicio en el código fuente de los sitemaps <xhtml:link rel="alternate" hreflang="..."> sean incorrectas para los idiomas secundarios. En lugar de mostrar la página de inicio específica del idioma (por ejemplo, domain.com/?lang=es), el sitemap muestra una URL de página completa (por ejemplo, domain.com/page-slug/?lang=es).

Solución alternativa

Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.


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

  • Busque la línea 88.

  • Reemplace:
    			$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 );
    			};
            

  • Reconstruya los sitemaps: Vaya a «Rank Math > Sitemap Settings», cambie el valor de «Links per sitemap» y guarde.

Todos los problemas conocidos →