「Google Search Consoleを確認したら、サイトマップが『取得できませんでした』になっている!」「sitemap.xmlにアクセスしても404エラーが表示される……」。WordPressでブログやサイトを運営していると、避けては通れないのがこのXMLサイトマップの404エラー問題です。
XMLサイトマップは、検索エンジンのクローラー(Googlebotなど)にサイトの構造を伝え、新しい記事をいち早くインデックスさせるための非常に重要なファイルです。ここがエラーになっていると、SEO的に大きな損失を招きかねません。本記事では、XMLサイトマップが404エラーになる原因を徹底的に洗い出し、初心者の方でも確実に復旧できる解決ステップを4,000字超のボリュームで詳しく解説します。
1. なぜXMLサイトマップが404エラー(Not Found)になるのか?
まず前提として、多くのWordPress環境においてXMLサイトマップは「実体のあるファイル」ではなく、プラグインやWordPress本体が「動的に生成している仮想ファイル」です。そのため、サーバー上に sitemap.xml というファイルを探しに行っても見当たらないのが普通ですが、システムが正常に動作していれば、ブラウザでそのURLを叩いたときに自動で生成された内容が表示されます。
404エラーが出るということは、この「動的生成の仕組み」のどこかが詰まっていることを意味します。主な原因は以下の5点です。
- パーマリンク設定の不整合:WordPressの内部的なURL書き換えルール(Rewrite Rules)が更新されていない。
- プラグインの競合:複数のSEOプラグインやサイトマッププラグインが干渉し合っている。
- WordPress 5.5以降の標準機能との衝突:WP本体の標準サイトマップ機能とプラグインがぶつかっている。
- キャッシュプラグイン・サーバーキャッシュの影響:古い404の状態がキャッシュされ続けている。
- .htaccessやNginxの設定ミス:サーバーレベルでXMLファイルへのアクセスを制限・誤誘導している。
2. 【最速解決】パーマリンクの更新(再保存)を試す
XMLサイトマップが404エラーになった際、もっとも確率が高く、かつ簡単な解決策が「パーマリンクの再保存」です。これは、WordPressに対して「URLのルールを作り直してね」と命令する作業です。
- WordPress管理画面の左メニューから「設定」>「パーマリンク」を開きます。
- 何も変更せずに、ページ下部にある「変更を保存」ボタンをクリックします。
- 念のため、もう一度「変更を保存」をクリック(2回行うのが定石です)。
これにより、.htaccess ファイルが更新され、プラグインが生成する仮想的な sitemap.xml へのパスが正しく認識されるようになります。これだけで解決することも多いので、まずは真っ先にこれを試してください。
3. 原因別:主要プラグインのトラブルシューティング
パーマリンクの更新で直らない場合、使用しているプラグインの設定に問題がある可能性が高いです。利用者の多いプラグインごとに、チェックすべきポイントを整理しました。
3-1. 「XML Sitemaps(旧 Google XML Sitemaps)」の場合
長年愛用されているこのプラグインですが、設定画面でエラーメッセージが出ていることがあります。
- 「HTML形式のサイトマップを含める」設定:設定画面で「HTML形式でのサイトマップを含める」のチェックを外してみると、XMLが正常に表示されることがあります。
- 静的ファイルの削除:もしFTPソフトなどでサーバーのルートディレクトリを見たときに、実際に
sitemap.xmlというファイルが存在していたら、それを削除(またはリネーム)してください。実体ファイルがあると、プラグインの動的生成が阻害されます。
3-2. 「Yoast SEO」や「All in One SEO」の場合
これら総合SEOプラグインには、標準でサイトマップ機能が含まれています。他のサイトマップ専用プラグインと併用すると、100%と言っていいほど競合し、404エラーや真っ白な画面の原因になります。
| プラグイン名 | サイトマップ機能の場所 | 注意点 |
|---|---|---|
| Yoast SEO | 一般 > 機能 > XML サイトマップ | ON/OFFを切り替えてからパーマリンク再保存が有効。 |
| All in One SEO | サイトマップ > 一般サイトマップ | インデックス設定と競合しやすい。 |
| Rank Math | Sitemap Settings | 非常に高機能だが、設定が複雑。 |
3-3. 「XML Sitemap & Google News」の場合
このプラグインは、WordPress標準のサイトマップ機能を上書き(あるいは無効化)して動作します。設定の「表示設定」で、サイトマップの対象となる投稿タイプが正しく選択されているか確認してください。
4. WordPress 5.5以降の標準機能(wp-sitemap.xml)との兼ね合い
WordPress 5.5から、プラグインなしでも domain.com/wp-sitemap.xml というURLでサイトマップが自動生成されるようになりました。
しかし、多くのユーザーはより高機能なプラグイン(sitemap.xmlというURL)を好みます。プラグイン側で「標準機能を無効化する」設定がうまく働いていないと、どちらのURLも404になるという怪現象が起こります。
解決のヒント:
プラグインの設定内に「WordPress 5.5以降のデフォルトサイトマップを無効にする」という項目があれば、そこにチェックが入っているか確認してください。
5. サーバー環境(.htaccess / Nginx)のチェック
プラグインの設定に問題がないのに404が出る場合、サーバーの設定ファイルが原因かもしれません。
.htaccessの記述確認(Apacheサーバーの場合)
WordPressの標準的な記述以外に、sitemap.xml を特定の場所にリダイレクトさせるような記述が残っていないか確認します。特に、過去に他のサイトマッププラグインを使っていた場合、その残骸が .htaccess に残っていることがあります。
Nginxの設定(エックスサーバーの新環境やConoHa WINGなど)
Nginxを利用しているサーバーでは、.htaccess が効かない(あるいは限定的)な場合があります。特に「XML Sitemaps」プラグインなどは、Nginx用の書き換えルールを手動で設定ファイルに記述する必要があるケースがあります。多くのレンタルサーバーでは自動調整されていますが、独自にVPSを構築している場合などは要注意です。
6. キャッシュプラグインによる「404の固定化」
実は意外と盲点なのがキャッシュです。「WP Rocket」「WP Fastet Cache」「LiteSpeed Cache」などのプラグイン、あるいはサーバー側の「ブラウザキャッシュ設定」により、「かつて404だったページの状態」が保存されてしまっていることがあります。
- プラグインのキャッシュを全削除する:管理画面から「キャッシュをクリア」を実行します。
- シークレットモードで確認:自分のブラウザにキャッシュが残っているだけの場合があるため、必ずブラウザのシークレットウィンドウ(Ctrl+Shift+N / Cmd+Shift+N)でサイトマップURLを確認してください。
7. Google Search Consoleへの再登録手順
サイトマップがブラウザで正常に表示(XMLコード、あるいはプラグインによる整形画面)されるようになったら、仕上げにGoogle Search Consoleへ報告します。
- Search Consoleにログイン。
- 「インデックス」>「サイトマップ」を選択。
- 古いサイトマップのエラー履歴が残っている場合は、一度それを削除(3点リーダーから削除可能)。
- 「新しいサイトマップの追加」に
sitemap.xml(または使用しているURL)を入力し、「送信」をクリック。
送信直後は「取得できませんでした」と表示されることがありますが、数分〜数時間後に「成功しました」に変われば、あなたの勝利です。
8. まとめ:焦らず一つずつ「切り分け」を
XMLサイトマップの404エラーは、一見するとサイトの崩壊のように感じて焦りますが、実際には「URLの道案内が迷子になっているだけ」のことがほとんどです。
解決のポイントを復習しましょう。
- まずはパーマリンクの再保存(これが特効薬)。
- プラグインの二重使用を絶対に避ける(SEOプラグイン+サイトマッププラグインは危険)。
- 実体の
sitemap.xmlファイルがサーバーに残っていないか確認する。 - キャッシュをクリアし、シークレットモードで最終確認する。
これらを順番に試していけば、必ず正常な状態に戻すことができます。サイトマップが復旧すれば、Googleのクローラーも再びあなたの記事を見つけやすくなり、SEO評価の回復につながります。エラーに負けず、健全なサイト運営を続けていきましょう!
コメント