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