2026年5月20日
2026年5月20日
Yoast SEO の XML サイトマップ設定|有効化・除外・Search Console への送信
Yoast SEO の XML サイトマップは、管理画面の Yoast SEO → 設定 → サイトの機能 にある「XML サイトマップ」のスイッチで有効にします。有効にすると https://example.com/sitemap_index.xml にサイトマップの索引ができるので、この URL を Google Search Console に送信します。サイトマップに載るページは、各コンテンツタイプの「検索結果に表示する」設定で決まります。
この記事では、2026年11月時点の Yoast SEO(無料版)の画面に沿って、有効化、含めるページの決め方、個別の除外、確認の方法、Search Console への送信、表示されないときの直し方を説明します。
Yoast SEO の XML サイトマップの仕組み
Yoast SEO のサイトマップは、ファイルとしてサーバーに保存されるのではなく、アクセスがあったときに WordPress が作って返します。構成は次のとおりです。
| URL | 内容 |
|---|---|
/sitemap_index.xml |
索引。下のサイトマップの一覧 |
/post-sitemap.xml |
投稿 |
/page-sitemap.xml |
固定ページ |
/category-sitemap.xml |
カテゴリー |
/author-sitemap.xml |
投稿者アーカイブ(表示する設定のときだけ) |
カスタム投稿タイプやタグなども、検索結果に表示する設定になっていれば同じ形式で追加されます。1つのサイトマップに入る件数を超えると post-sitemap2.xml のように分割されます。
Search Console には、個別のサイトマップではなく索引の sitemap_index.xml を1つ送れば足ります。
手順 1: XML サイトマップを有効にする
- 管理画面で Yoast SEO → 設定 を開きます。
- 左の一覧から サイトの機能 を選びます。
- 「XML サイトマップ」のスイッチをオンにして、画面下の 変更を保存 を押します。
- スイッチの近くにあるサイトマップを開くリンク(英語の画面では「View the XML sitemap」)から、索引が開くことを確かめます。
既定ではオンになっています。オンの間は、WordPress 本体のサイトマップ(/wp-sitemap.xml)は Yoast SEO によって止められ、Yoast SEO のサイトマップへ転送されます。逆に、Yoast SEO のサイトマップをオフにしても本体のサイトマップは止まらないため、別のサイトマッププラグインに切り替えるときは、サイトマップが二重にならないようにどちらを使うか決めておきます。
手順 2: サイトマップに含めるページを決める
Yoast SEO は、検索結果に表示する設定のページだけをサイトマップに載せます。noindex にしたものは自動で外れます。設定は Yoast SEO → 設定 の左の一覧で行います。
| 対象 | 場所 | 設定 |
|---|---|---|
| 投稿・固定ページ・カスタム投稿タイプ | コンテンツタイプ(Content types)の各項目 | 「検索結果に〜を表示」をオフにすると、その種類全体がサイトマップから外れる |
| カテゴリー・タグなど | カテゴリーとタグ(Categories & tags)の各項目 | 同じくオフにすると外れる。投稿のない分類を載せるかどうかも選べる |
| 投稿者・日付のアーカイブ | 詳細設定(Advanced)の「投稿者アーカイブ」と日付アーカイブの項目 | 投稿者が1人のサイトでは、投稿者アーカイブを表示しない設定が一般的 |
| メディア(添付ファイル)のページ | 詳細設定(Advanced)の「メディアのページ」 | メディアのページを使わない設定(既定)なら、サイトマップにも出ない |
画面の項目名は版や翻訳によって少し違うことがあるため、括弧内に英語の画面での名前を添えています。
ショップの商品やイベントのように、カスタム投稿タイプを検索結果に出したい場合は、その投稿タイプの項目がオンになっているかを確認します。
個別の記事を外す
1件ずつ外すときは、投稿の編集画面にある Yoast SEO の欄で、「検索エンジンがこのコンテンツを検索結果に表示することを許可しますか?」に「いいえ」を選んで更新します。その記事は noindex になり、サイトマップからも外れます。
検索結果には出したまま、サイトマップからだけ外したい場合はコードで指定します(次の節)。
手順 3: コードで除外する(functions.php など)
Yoast SEO の開発者向けドキュメントに載っているフィルターで、サイトマップの中身を調整できます。子テーマの functions.php か、自作のプラグインに書きます。
<?php
// 特定の投稿 ID をサイトマップから外す(検索結果での扱いは変わらない)
add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', function () {
return array( 123, 456 );
} );
// カスタム投稿タイプ product_review をサイトマップから外す
add_filter( 'wpseo_sitemap_exclude_post_type', function ( $excluded, $post_type ) {
if ( 'product_review' === $post_type ) {
return true;
}
return $excluded;
}, 10, 2 );
// タグ(post_tag)のサイトマップを外す
add_filter( 'wpseo_sitemap_exclude_taxonomy', function ( $excluded, $taxonomy ) {
if ( 'post_tag' === $taxonomy ) {
return true;
}
return $excluded;
}, 10, 2 );
// 1つのサイトマップに入れる件数を変える
add_filter( 'wpseo_sitemap_entries_per_page', function () {
return 500;
} );
product_review や投稿 ID は自分のサイトのものに置き換えます。noindex にしたページは自動で外れるので、検索結果からも外したいページは、コードではなく手順 2 の設定で外す方が管理しやすくなります。
手順 4: サイトマップを確認する
ブラウザーで https://example.com/sitemap_index.xml を開き、一覧に必要なサイトマップが並んでいるか、各サイトマップに載せたいページがあるかを見ます。コマンドで確かめる場合は次のとおりです。
# サイトマップの索引が 200 で返るか(x-robots-tag: noindex, follow が付くのは正常)
curl -sI https://example.com/sitemap_index.xml
# 索引に並ぶサイトマップの URL を取り出す
curl -s https://example.com/sitemap_index.xml | grep -o '<loc>[^<]*</loc>'
# Yoast SEO のサイトマップ機能がオンか(1 ならオン)
wp option pluck wpseo enable_xml_sitemap
Yoast SEO はサイトマップに x-robots-tag: noindex, follow のヘッダーを付けます。サイトマップ自体が検索結果に出ないようにするためのもので、検索エンジンがサイトマップを読むことには影響しません。
手順 5: Google Search Console に送信する
- Google Search Console を開き、対象のプロパティを選びます。
- 左のメニューで サイトマップ を選びます。
- 「新しいサイトマップの追加」に
sitemap_index.xmlを入力して 送信 を押します。URL プレフィックスのプロパティでは先頭の URL が表示されているので、続きの部分だけを入れます。ドメインのプロパティではhttps://example.com/sitemap_index.xmlのように全体を入れます。 - 送信したサイトマップの一覧で、ステータスが「成功しました」になり、検出されたページ数が出ることを確認します。
送信は1回でかまいません。記事を追加・更新するとサイトマップの中身は自動で変わり、Google は送信済みのサイトマップを改めて読みに来ます。「取得できませんでした」と出た場合は、次の節を確認してから送信し直します。
サイトマップが表示されない・404 になるとき
上から順に確認します。
- パーマリンクを保存し直す: 設定 → パーマリンク を開き、何も変えずに 変更を保存 を押します。書き換えルールが作り直され、
sitemap_index.xmlが 404 から直ることがあります。 - 別のサイトマップと重なっていないか: ほかの SEO プラグインやサイトマッププラグインがサイトマップを出していると、URL が衝突します。どちらか一方に絞ります。また、サーバーに
sitemap_index.xmlやsitemap.xmlという実ファイルが置かれていると、WordPress より先にそのファイルが返されます。FTP などで公開ディレクトリを確認し、古いファイルがあれば削除します。 - キャッシュ: ページキャッシュのプラグインや CDN が古い応答や 404 を保存していることがあります。キャッシュを消して、もう一度開きます。
- ページが足りない: 手順 2 の表で、載せたい種類が「検索結果に表示しない」になっていないかを確認します。個別の記事は、編集画面の Yoast SEO の欄で noindex になっていないかを見ます。
- サイトの公開設定: 設定 → 表示設定 の「検索エンジンでの表示」で「検索エンジンがサイトをインデックスしないようにする」にチェックが入っていると、サイト全体が noindex になります。公開中のサイトではチェックを外します。
まとめ
- XML サイトマップは Yoast SEO → 設定 → サイトの機能 の「XML サイトマップ」で有効にし、
/sitemap_index.xmlで確かめます。 - 載るページは、各コンテンツタイプと分類の「検索結果に表示する」設定で決まります。個別の記事は編集画面で noindex にすると外れます。
- 検索結果に出したままサイトマップからだけ外す場合は、
wpseo_exclude_from_sitemap_by_post_idsなどのフィルターを使います。 - Search Console には索引の
sitemap_index.xmlを1回送信し、ステータスが「成功しました」になることを確認します。
関連記事
参考: Yoast SEO: XML sitemaps(Yoast ヘルプ)、XML sitemaps API(Yoast developer portal)、サイトマップの管理(Search Console ヘルプ)