- Estado
- Resuelto
- Notificado para
- WPML SEO 2.2.4
- Resuelto en
- 2.2.5
- Plugin/tema relacionado
- Rank Math SEO
- Etiquetas de temática
- Compatibility
Resumen del problema
Al usar Rank Math o Yoast SEO con WPML SEO, los enlaces alternativos en el código fuente del sitemap pueden mostrar incorrectamente la URL traducida de la página de inicio con un enlace permanente interno (por ejemplo, /es/home/) en lugar de la URL raíz del idioma esperada (por ejemplo, /es/). Esto no afecta a la visualización en el frontend, donde los enlaces canónicos y hreflang aparecen correctamente.
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 61.
- Reemplace:
$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 la misma operación en la línea 89.
- Reemplace:
return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
- Por:
return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language, true );
Después de aplicar estos cambios, debe reconstruir sus sitemaps:
- Para Rank Math: Vaya a «Rank Math > Sitemap Settings», cambie el valor de «Links per sitemap», guarde la configuración (puede volver a su valor preferido después).
- Para Yoast SEO: Siga este tutorial para regenerar los sitemaps.