WPML
Статус
Решено
Заявлено для
WPML SEO 2.2.0
Решено в
WPML SEO 2.2.2
Связанный плагин/тема
Yoast SEO
Теги темы
Compatibility

Обзор проблемы

При использовании Yoast SEO вместе с WPML SEO Вы можете столкнуться с проблемой, когда теги hreflang для скрытых языков по-прежнему присутствуют в исходном коде XML-карты сайта в качестве ссылок на альтернативные языки, даже если записи на скрытых языках корректно исключены из индекса XML-карты сайта.

Обходное решение

Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия Вашего сайта.


  • Откройте файл …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php.

  • Найдите функцию addAlternateLangData, которая начинается со строки 59.

  • После этой строки:
    list( $elements, $getPermalink, $isIndexable ) = $this->getEntryHelpers( $type, $obj );
            


  • Вставьте следующий блок кода:
    // WPML Workaround for wpmlwpseo-350 - Exclude hidden language posts
    global $sitepress;
    $hidden_languages = $sitepress->get_setting( 'hidden_languages', [] );
    
    if ( $elements && !empty($hidden_languages) ) {
        foreach( $elements as $lang => $element) {
            if ( in_array( $lang, $hidden_languages ) ){
                unset( $elements[$lang] );
            }
        }
    }
            

Все известные проблемы →