2026年8月22日
2026年8月22日
WordPressのXMLサイトマップをGoogle Search Consoleに登録する手順と確認方法
WordPressのサイトマップをSearch Consoleに登録する作業は、「自分のサイトで有効になっているサイトマップのURLを1つ特定する」「Search Consoleの『サイトマップ』に入力して送信する」「ステータスを確認する」の3段階で終わります。この記事では、コア標準のサイトマップとSEOプラグインのサイトマップの見分け方から、送信後に「取得できませんでした」と表示されたときの切り分けまでを説明します。
送信する前に、有効なサイトマップのURLを確認する
つまずく原因の多くは、存在しない、または使われていないサイトマップURLを送信してしまうことです。まず自分のサイトでどのサイトマップが動いているかを確認します。
WordPressコア標準のサイトマップ
WordPress 5.5以降は、プラグインなしでもサイトマップが自動生成されます。URLは次のとおりです。
https://example.com/wp-sitemap.xml
これは投稿、固定ページ、カテゴリー、タグ、投稿者ページなどの子サイトマップをまとめたインデックスファイルです。「設定」→「表示設定」の「検索エンジンでの表示」で「検索エンジンがサイトをインデックスしないようにする」にチェックが入っていると、このサイトマップは生成されません。公開サイトでこのチェックが残っていないか、最初に確認してください。
SEOプラグインのサイトマップ
Yoast SEO、Rank Math、All in One SEO などのサイトマップ機能を有効にすると、通常はコアのサイトマップが無効化され、プラグインのサイトマップに置き換わります。Yoast SEOとRank Mathでは https://example.com/sitemap_index.xml が一般的なURLです(2026年10月現在)。プラグインやバージョンによって異なるため、各プラグインの設定画面に表示されるURLを正としてください。
ブラウザで候補のURLを開き、XMLの一覧が表示されれば有効です。/wp-sitemap.xml を開いたときにプラグインのサイトマップへ転送される場合もあります。送信するのは、実際に表示されたインデックスファイルのURL1つだけで構いません。子サイトマップはインデックスファイルからたどられるため、個別に登録する必要はありません。
Search Consoleのプロパティを用意する
サイトマップはSearch Consoleのプロパティ単位で登録します。プロパティには、ドメイン全体を対象にする「ドメイン」プロパティ(DNSのTXTレコードで所有権を確認)と、https://example.com/ のように特定のURLから下を対象にする「URLプレフィックス」プロパティがあります。
URLプレフィックスのプロパティでは、サイトマップのURLがプロパティのURLの配下にある必要があります。たとえば https://www.example.com/ で登録しているのに、サイトマップが https://example.com/sitemap_index.xml(wwwなし)だと送信できません。WordPressの「設定」→「一般」にある「サイトアドレス(URL)」と、プロパティのURL、サイトマップのURLのプロトコルとホスト名がそろっているかを確認します。
所有権の確認方法としてHTMLタグを使う場合は、SEOプラグインにGoogleの確認コードを入力する欄が用意されていることが多く、テーマファイルを直接編集せずに済みます。
サイトマップを送信する手順
- Search Consoleで対象のプロパティを選びます。
- 左メニューの「インデックス作成」の中にある「サイトマップ」を開きます。
- 「新しいサイトマップの追加」の入力欄に、ドメイン以降の部分(例:
sitemap_index.xmlやwp-sitemap.xml)を入力します。 - 「送信」を押します。
送信後、下の「送信されたサイトマップ」の一覧に行が追加され、ステータス、最終読み込み日時、検出されたページ数などが表示されます(画面の表記はSearch Consoleの更新で変わることがあります)。ステータスが「成功しました」になり、検出されたページ数が実際の公開記事数とおおむね合っていれば完了です。
なお、以前はURLにアクセスするだけでGoogleにサイトマップの更新を知らせる「ping」の仕組みがありましたが、Googleは2023年にこの仕組みの廃止を発表しています。プラグインの設定などで見かけても、Googleに対しては効果がないと考えてください。サイトマップは一度登録すれば、Googleが定期的に読み直します。
「取得できませんでした」などのエラーが出たとき
送信直後は処理待ちのために一時的に「取得できませんでした」と表示されることがあります。数日たっても変わらない場合は、次の順に確認します。
- ブラウザで開けるか:ログアウトした状態や別のブラウザでサイトマップURLを開き、404やログイン画面にならないかを見ます。404になる場合は、「設定」→「パーマリンク」を開いて何も変えずに「変更を保存」を押すと、書き換えルールが再生成されて直ることがあります。
- ステータスコードとリダイレクト:次のコマンドで200が返るかを確認します。301や302で別のURLに飛ぶ場合は、最終的なURLを送信し直します。
curl -I https://example.com/sitemap_index.xml
- アクセス制限:ステージング用のBasic認証、セキュリティプラグインやWAFによるボットのブロック、国別アクセス制限がGooglebotまで弾いていないかを確認します。
- キャッシュ:キャッシュプラグインやCDNが古いXMLや壊れたXMLを返していないかを確認し、必要に応じてサイトマップをキャッシュ対象から外します。
- XMLの前に余計な出力がないか:
functions.phpの末尾の空白行やPHPの警告がXMLの先頭に混ざると、XMLとして読めなくなります。ブラウザで開いたときにXMLのエラーが出るなら、この可能性があります。
「エラーあり」の場合は、行をクリックすると詳細が表示されるので、指摘されたURLや行番号から原因を探します。
サイトマップに載せるURLを整理する
サイトマップは「インデックスしてほしい正規URLの一覧」です。noindexにしているページ、リダイレクトしているURL、正規URLではない重複ページが含まれていると、送信したURLと実際の状態が矛盾し、Search Consoleのレポートで警告として表示されます。SEOプラグインでは、投稿タイプやタクソノミーごとにサイトマップへ含めるかを切り替えられるのが一般的です。
コアのサイトマップを使っている場合は、フィルターで不要な種類を外せます。たとえば投稿者が1人だけのサイトで投稿者ページのサイトマップを外す例です。子テーマの functions.php か自作プラグインに追加し、編集前にバックアップを取ってください。
<?php
// コア標準サイトマップから投稿者(users)のサイトマップを除外する
add_filter( 'wp_sitemaps_add_provider', function ( $provider, $name ) {
if ( 'users' === $name ) {
return false;
}
return $provider;
}, 10, 2 );
Googleはサイトマップの <lastmod>(最終更新日時)を、内容が一貫して正確な場合に参考にすると説明しています。一方、<priority> と <changefreq> は使っていないと明言しています。更新日時を実際の更新と無関係に書き換えるような運用は避けてください。
サイトマップ1ファイルの上限は50,000 URLまたは非圧縮で50MBです。コアのサイトマップは1ファイルあたり2,000件ずつ分割されるため、通常は上限を意識する必要はありません。
登録後に確認すること
サイトマップを送信しても、掲載したURLがすべてインデックスされるわけではありません。サイトマップは「URLの存在をGoogleに知らせる手段」であり、インデックスするかどうかはページの内容や品質をもとにGoogleが判断します。
送信後しばらくしたら、「ページのインデックス登録」レポートで、対象をサイトマップに絞り込んで状況を確認できます。登録されていないURLが多い場合は、理由の欄(noindex、重複、クロール済み未登録など)を見て、ページ側の問題を一つずつ解消していきます。重要な新規記事は「URL検査」でインデックス登録をリクエストすることもできますが、日々の更新はサイトマップの自動更新に任せるのが現実的です。
また、robots.txtに Sitemap: 行を書いておくと、Search Console以外の検索エンジンにもサイトマップの場所を伝えられます。WordPressの仮想robots.txtはコアのサイトマップのURLを自動で追記し、SEOプラグインによっては自分のサイトマップURLを追記します。
まとめ
- 送信前に、コア(
/wp-sitemap.xml)とSEOプラグインのどちらのサイトマップが有効かをブラウザで確認する - 「検索エンジンがサイトをインデックスしないようにする」のチェックが外れているかを確認する
- プロパティ、サイトアドレス、サイトマップのURLのプロトコルとホスト名をそろえる
- 送信するのはインデックスファイル1つで、子サイトマップの個別登録は不要
- 「取得できませんでした」が続くときは、ステータスコード、アクセス制限、キャッシュ、XML先頭の余計な出力を順に確認する
- サイトマップには正規URLだけを載せ、priorityやchangefreqの調整には時間をかけない