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

Resumen del problema

Al usar RankMath SEO o Yoast SEO con nuestro complemento WPML SEO, podría experimentar valores hreflang incorrectos en el sitemap. En lugar de usar los valores hreflang establecidos en la configuración de idiomas de WPML, el sitemap toma el código de idioma (por ejemplo, nz, au) en lugar del código completo esperado (por ejemplo, en-nz, en-au).

Solución alternativa

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

  • Reemplace:
    private function getAlternateLinks( $alternateLangs ) {
        $buildAlternateLink = function ( $url, $lang ) {
            return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $lang ) . '" href="' . esc_url( $url ) . '" />';
        };
            


  • Por:
    private function getAlternateLinks( $alternateLangs ) {
        $buildAlternateLink = function ( $url, $lang ) {
            $languages = apply_filters( 'wpml_active_languages', null, [] );
            $hreflang = isset( $languages[ $lang ]['tag'] ) ? $languages[ $lang ]['tag'] : $lang;
            
            return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $hreflang ) . '" href="' . esc_url( $url ) . '" />';
        };
            

Todos los problemas conocidos →