WPML

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

Este problema se ha solucionado en WPML SEO 2.2.3. Actualizar lo soluciona en su sitio, por lo que solo necesita esta solución alternativa si aún no puede actualizar.

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

¿Sigue teniendo este problema?

Si actualizar no lo soluciona, haga una consulta de soporte y lo revisaremos con usted.