- 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 ) . '" />'; };