「あれ?サイトマップのURLにアクセスできない!」「Bingにサイトマップを登録しようとしたら、404エラーって表示される…なんで!?」
WordPressでブログを運営していると、検索エンジンにサイトの構造を伝えるために重要な「サイトマップ(sitemap.xml)」。これをGoogle Search ConsoleやBing Webmaster Toolsに登録しようとした際に、まさかの「404 Not Found」エラーに遭遇して、頭を抱えていませんか?
こんにちは!ブログ運営者のふーさんです。私もまさにこの状況に陥り、「プラグインの設定はちゃんと有効なのに、なんでサイトマップが存在しないことになってるの!?」と、かなり焦りました。
色々なプラグインを試したり、設定を見直したり…試行錯誤の末、ようやく辿り着いた原因は、意外な場所にあったんです!
この記事では、
- WordPressサイトマップが404エラーになる問題で、私が試したこと
- 多くの人が見落としがちな「本当の原因」とは?
- 具体的な解決手順(画像付き)
を、私の実体験に基づいて詳しく解説します。もしあなたが今、サイトマップの404エラーで困っているなら、この記事が解決の糸口になるかもしれません!
問題発生!サイトマップURLが「404 Not Found」に…
Google Search Consoleには問題なく登録できていた私のブログサイト。次にBing Webmaster Toolsにも登録しようと思い、サイトマップのURL(通常は `自分のサイトアドレス/sitemap.xml`)を入力しました。
ところが、何度やっても「サイトマップを取得できませんでした」といったエラーメッセージが。念のため、ブラウザで直接サイトマップのURLにアクセスしてみると…
「404 Not Found」(ページが見つかりません)
…え?なんで?? サイトマップ生成機能は有効にしているはずなのに…

【試行錯誤】プラグイン設定を見直しても解決せず…
サイトマップは通常、WordPressのSEO系プラグインやサイトマップ専用プラグインが自動生成してくれます。まずはプラグイン周りを疑い、以下のことを試してみました。
試したこと1:定番プラグイン「Google XML Sitemaps」の再有効化
長年多くの人に使われている定番プラグイン「Google XML Sitemaps」。私も最初はこれを利用していました。設定画面を確認し、サイトマップ機能が有効になっていることを確認。念のため一度無効化し、再度有効化してみましたが…結果は変わらず404エラー。

試したこと2:人気プラグイン「All in One SEO」への切り替え
「もしかしてプラグインの相性や不具合?」と考え、別の人気統合SEOプラグイン「All in One SEO (AIOSEO)」をインストールし、こちらでサイトマップ機能を有効にしてみました。
AIOSEOの設定画面でも、サイトマップは「有効」になっており、プレビューも表示されます。
しかし、実際に `sitemap.xml` のURLにアクセスすると、やはり結果は404エラーのまま…。「一体どうして!?」と途方に暮れかけました。
【原因判明!】404エラーの意外な犯人は「パーマリンク設定」だった!
プラグインの問題ではないとすると、他に何が原因なのか? 藁にもすがる思いで、AIOSEOのサイトマップ設定画面にある「さらに詳しく」というヘルプリンクをクリックしてみました。(表示は英語だったのでブラウザ翻訳を使用)

そのヘルプドキュメントを読み進めていくと、ある記述に目が留まりました。
「…サイトマップが正しく機能するためには、パーマリンク設定が『基本(Plain)』以外に設定されている必要があります…」(※意訳)
(ここに、ヘルプページのパーマリンクに関する記述部分の画像を入れると分かりやすいです。)
↑ 元記事の画像 (id:191) を参考に挿入してください。
パーマリンク設定…!?
そういえば、少し前に「記事タイトルが日本語だとURLが長くなるから、シンプルな方が良いかな?」と思い、WordPressのパーマリンク設定を「基本」(Plain)(`?p=123`のような形式)に変更していたのです!
まさかこれが原因だったとは…!
【解決策】パーマリンク設定を「基本」から変更する手順(画像付き)
原因が分かれば解決は簡単です。以下の手順でパーマリンク設定を変更しました。
- WordPressのダッシュボード(管理画面)にログイン。
- 左メニューの「設定」にカーソルを合わせ、「パーマリンク設定」をクリック。
- 「共通設定」の中から、「基本」以外の分かりやすい形式を選択します。一般的には「投稿名」が推奨されることが多いです。(他のカスタム構造などでもOK)
- 一番下の「変更を保存」ボタンをクリック。
解決!サイトマップが無事表示された!
パーマリンク設定を「投稿名」に変更し、再度 `自分のサイトアドレス/sitemap.xml` にアクセスしてみると…
\ 表示されたー! /

念のため、サイトマップの有効性をチェックするツールでも確認しましたが、問題なく認識されました。

これで、無事にBing Webmaster Toolsにもサイトマップを登録することができました! 長い戦いだった…(涙)
【補足】なぜパーマリンク設定がサイトマップに影響するのか?
少し技術的な話になりますが、多くのサイトマップ生成プラグインは、WordPressの「リライトルール」という仕組みを使って、実際には存在しない `/sitemap.xml` というURLへのアクセスを、サイトマップ生成プログラムに振り分けています。
しかし、パーマリンク設定が「基本(Plain)」だと、このリライトルールがうまく機能せず、`/sitemap.xml` というファイル(または仮想パス)が存在しない、と判断されてしまうことがあるようです。(特にサーバー環境や他のプラグインとの組み合わせによって発生しやすいのかもしれません)
また、「投稿名」などの分かりやすいパーマリンク構造(Pretty Permalinks)は、ユーザーにとっても検索エンジンにとっても理解しやすく、SEOの観点からも推奨されています。特別な理由がない限り、「基本」設定は避けた方が良いでしょう。
まとめ:サイトマップ404エラーで困ったらパーマリンク設定をチェック!
WordPressでサイトマップ(sitemap.xml)にアクセスできず、404エラーが表示されてしまう場合、
- まずはサイトマップ生成プラグインの設定を確認する。
- それでも解決しない場合は、WordPressの「設定」→「パーマリンク設定」を確認する。
- もしパーマリンク設定が「基本(Plain)」になっていたら、「投稿名」など他の形式に変更してみる。
という手順を試してみてください。
プラグインばかりを疑って時間を浪費してしまった私のようにならないために、「パーマリンク設定も原因になりうる」ということを、ぜひ覚えておいてください。
この記事が、同じ悩みを持つあなたの問題解決の一助となれば幸いです!
コメント