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

Todos los problemas conocidos →