Jetpackで生成されるsitemapから特定記事を除外する

WordPress
  1. HOME
  2. WordPress
  3. Jetpackで生成されるsitemapから特定記事を除外する

Search Consoleから「noindexついてるのにサイトマップに登録されてるぞ」と怒られて色々調査してたところ、いい感じのフック見つけました。

結論、以下のコードを小テーマのfunctions.phpか、独自プラグインに記述すればOKです。

キャッシュの影響ですぐ反映されないので、追記したら数時間待って確認しましょう。

/*
 * jetpackのサイトマップからnoindexの記事を除外
 *
 * @see https://developer.jetpack.com/hooks/jetpack_sitemap_skip_post/
*/
function jetpack_sitemap_exclude_post( $skip, $post ) {

	// サイトマップから除外する記事IDを指定
	$posts_to_skip = array( 1, 101, 1000 );

	if ( in_array( intval( $post->ID ), $posts_to_skip, true ) ) {
		$skip = true;
	}

	return $skip;
}

add_filter( 'jetpack_sitemap_skip_post', 'jetpack_sitemap_exclude_post', 10, 2 );

他にも画像用の除外フックもあるので、ちょっとだけカスタマイズしたいという方はフックでなんとかなるかもしれません。

このブログはサイトマップ出力できればいいや、くらいで考えていたのでフックにしましたが、より詳細な設定をしたい場合は、こんなことはせずにサイトマップ生成プラグインを入れましょう!

\ この記事をシェアする /