
WordPressのXMLサイトマップは、プラグインを入れなくてもコア機能だけで運用できます。ただしデフォルトのままだと、投稿者一覧やタクソノミーなど「検索結果に載せたくないURL」までサイトマップに含まれてしまいます。この記事では、当社サイトのSEO実装で実際に行った、コアサイトマップの有効化から不要URLの除外までを、実コード付きで紹介します。
プラグインを使わないという選択
サイトマップというとYoast SEOやXML Sitemapsなどのプラグインが定番ですが、WordPress 5.5以降はコア自体がサイトマップ生成機能を持っています。/wp-sitemap.xml にアクセスするだけで、投稿・固定ページ・タクソノミーなどのサイトマップインデックスが自動生成されます。
当社のコーポレートサイトはテーマを自前で管理していて、プラグイン依存を最小にする方針です。サイトマップのためだけに多機能なSEOプラグインを入れるのは過剰なので、コアのサイトマップをそのまま採用しました。追加インストールはゼロ、アップデートの追従もWordPress本体に任せられます。
デフォルトのままだと載りすぎる
ただし、初期状態のサイトマップインデックスを見ると、次のようなものまで含まれています。
- users(投稿者一覧) — 投稿者アーカイブのURL。会社サイトでは不要な上、ユーザー名の露出にもつながります
- taxonomies(カテゴリ・タグのアーカイブ) — テーマ側でアーカイブページを整備していない場合、中途半端な表示のページがクローラーに渡ってしまいます
- カスタム投稿タイプの個別ページ — 当社はサービス紹介などを「一覧ページで完結」させる設計にしているため、個別URLをインデックスさせる意味がありません
サイトマップは「クロールしてほしいURLのリスト」なので、見せる必要のないURLは最初から載せないのが筋です。
フィルターで除外する
コアサイトマップはフィルターフックで細かく制御できます。テーマの functions.php に次の2つを追加しました。
// XMLサイトマップ(wp-sitemap.xml)の調整
// ユーザー一覧とタクソノミーアーカイブを除外
add_filter( 'wp_sitemaps_add_provider', function ( $provider, $name ) {
return in_array( $name, array( 'users', 'taxonomies' ), true ) ? false : $provider;
}, 10, 2 );
// 一覧完結型のカスタム投稿タイプをサイトマップから除外
add_filter( 'wp_sitemaps_post_types', function ( $post_types ) {
unset( $post_types['services'], $post_types['products'], $post_types['solutions'] );
return $post_types;
} );
wp_sitemaps_add_provider は「サイトマップの種類ごと」の除外で、ここでusersとtaxonomiesを丸ごと止めています。wp_sitemaps_post_types は投稿タイプ単位の除外で、独自に登録したカスタム投稿タイプを外しました。この2つで、サイトマップインデックスは投稿(post)と固定ページ(page)だけのクリーンな構成になります。
ハマりポイント
ひとつ引っかかったのが、「検索エンジンでの表示」設定との連動です。WordPressの設定→表示設定にある「検索エンジンがサイトをインデックスしないようにする」にチェックが入っていると(blog_public=0)、コアサイトマップ自体が無効になり、/wp-sitemap.xml が404になります。
当社サイトは公開前のステージング状態でこの設定をONにしていたため、最初サイトマップが表示されず数分悩みました。動作確認だけ一時的にチェックを外して行い、確認後すぐ戻しています。公開時にこのチェックを外し忘れると、サイトマップどころか検索結果に一切載らないので、公開チェックリストの筆頭に入れておくことをおすすめします。
まとめ
WordPress 5.5以降なら、サイトマップはプラグインなしで十分に実用になります。ポイントは3つです。
- コアの
/wp-sitemap.xmlをそのまま使う(追加インストール不要) - フィルター2つで不要なURL(users・taxonomies・不要なカスタム投稿タイプ)を除外する
blog_publicの設定とサイトマップが連動していることを覚えておく
Webサイトの構築や、こうした「プラグインに頼りすぎない」設計のご相談は、SERVICESからお気軽にどうぞ。
← TECH-BLOG一覧へ