- ステータス
- 解決済み
- 報告対象
- WPML SEO 2.2.0
- 解決されたバージョン
- WPML SEO 2.2.2
- 関連するプラグイン/テーマ
- Yoast SEO
- トピックタグ
- Compatibility
問題の概要
Yoast SEOとWPML SEOを併用すると、非表示言語の投稿がサイトマップインデックスから正しく除外されているにもかかわらず、非表示言語のhreflangタグが代替言語の参照としてサイトマップのソースコードに引き続き表示されるという問題が発生する場合があります。
回避策
続行する前に、必ずサイトの完全なバックアップを作成してください。
- …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.phpファイルを開きます。
- 59行目から始まる関数
addAlternateLangDataを探します。 - 以下の行の後に:
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] ); } } }