Passer au contenu Passer à la barre latérale

Resolved

Reported for: WPML SEO 2.2.2

Resolved in: WPML SEO 2.2.3

Topic Tags: Compatibility

Overview of the issue

When using RankMath SEO or Yoast SEO with our add-on WPML SEO, you might experience incorrect hreflang values in the sitemap. Instead of using the hreflang values set in WPML’s language settings, the sitemap takes the language code (e.g., nz, au) instead of the expected full code (e.g., en-nz, en-au).

Workaround

Please, make sure of having a full site backup of your site before proceeding.

  • Open the …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php file.
  • Look for line 180.
  • Replace:
    private function getAlternateLinks( $alternateLangs ) {
        $buildAlternateLink = function ( $url, $lang ) {
            return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $lang ) . '" href="' . esc_url( $url ) . '" />';
        };
            
  • With:
    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 ) . '" />';
        };
            

Laisser une réponse

Veuillez rester dans le sujet et être respectueux envers les autres. Si vous avez besoin d'aide pour des problèmes non liés à ce message, utilisez notre Forum de Support pour démarrer une conversation ou soumettre un ticket.

Vous pouvez utiliser ces balises :
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>