
Google Search Consoleで突然表示されるXMLサイトマップのエラー。「インデックスされないのでは?」と不安になりますが、実は原因の多くはシンプルな設定ミスやプラグインの干渉です。本記事では、エラー内容に応じた具体的な解決手順を、初心者の方でも迷わず進められるフロー形式で解説します。
AIを活用したSEOシステムやGoogleマップ運用の自動化を設計・プロデュースしている立場から言えば、サイトマップのエラーは「感情」で悩むものではなく、単なる「信号の不整合」です。システム的な視点で一つずつ原因を潰していけば、必ず正常なステータスに戻せます。
XMLサイトマップにエラーが出る主な原因とSEOへの影響
- クローラーがサイト構造を理解できず、新記事の発見が遅れる
- サイトマップ自体にアクセス権限がない、またはファイルが壊れている
- WordPressプラグイン同士の競合により、正しいXMLが出力されていない
XMLサイトマップは、Googleのクローラー(Googlebot)に対して「ここにページがあるから巡回してくれ」と伝えるための案内図です。これがエラーを起こしている状態は、地図を渡さずに広大な迷路を探索させているのと同じです。
SEOへの直接的なペナルティはありませんが、インデックス登録の遅延は機会損失に直結します。特にニュース性の高い記事や、立ち上げたばかりで被リンクが少ないサイトの場合、サイトマップの機能不全は致命的です。
エラーの原因は大きく分けて「Google側の読み込みタイムラグ」と「サイト側の構造的欠陥」の2つしかありません。まずは焦らず、どちらに該当するかを切り分けることが解決への最短ルートです。
Search Consoleで「取得できませんでした」となる3つの共通理由
- 送信直後の一時的なステータス(保留状態)である
sitemap.xmlのURLそのものが間違っている- robots.txtやアクセス制限でクローラーをブロックしている
Search Consoleのステータス欄に「取得できませんでした」と表示されると、多くの人がパニックになります。しかし、この表示が出ても実際には処理が正常に行われているケースが多々あります。
1. Google側の処理待ち(一時的なバグ)
これが最も多いパターンです。実際にはサイトマップに問題がなくても、Google Search Consoleの表示更新が追いついていない場合にこのステータスが出ます。特に初めて送信した直後は、この表示が出やすい傾向にあります。
2. ファイルパス(URL)の記述ミス
「https://example.com/sitemap.xml」とすべきところを、「sitemap.html」としたり、サブディレクトリの指定を間違えているケースです。単純なタイプミスですが、システムは融通が利きません。1文字でも違えば「存在しない」と判定されます。
3. クローラーのブロック
「robots.txt」ファイルでGooglebotのアクセスを拒否している、あるいはサイト全体に「noindex」タグが入っている場合、Googleはサイトマップを読み込めません。WordPressの設定で「検索エンジンがサイトをインデックスしないようにする」にチェックが入っていないか確認してください。
「サイトマップがHTML形式です」というエラーの正体と直し方
- XMLファイルとして認識されるべき場所で、通常のWebページが表示されている
- キャッシュ系プラグインがサイトマップをHTMLとして保存している可能性がある
- XML生成プラグインが無効化されている、または機能していない
Googleは「XML形式(データ構造)」を期待してアクセスしたのに、返ってきたのが「HTML形式(人間が見るWebページ)」だった場合にこのエラーを出します。
これは、本来 sitemap.xml というURLで出力されるべきデータが生成されておらず、WordPressが「404エラーページ(これはHTMLです)」を表示している時によく起こります。つまり、システム上は「サイトマップが存在しない」状態と同じです。
直すためには、まずブラウザで自分のサイトマップURLに直接アクセスしてみてください。
ソースコードのような文字の羅列(XML)が表示されず、サイトのデザインが適用された「ページが見つかりません」等の画面が出るなら、サイトマップ生成機能自体が動いていません。プラグインの設定を見直す必要があります。
【WordPress】主要プラグイン別(XML Sitemap Generator等)の解決設定
- XML Sitemap & Google News:設定の「XMLサイトマップ」がONになっているか確認
- All in One SEO / Yoast SEO:専用のサイトマップ機能と他プラグインの重複を解消する
- XML Sitemap Generator for Google:更新通知設定の見直しとファイルの再生成
WordPressでサイトマップエラーが出る最大の要因は「機能の重複」です。
例えば、「All in One SEO」を使っているのに、さらに「XML Sitemap Generator for Google」もインストールしていませんか?
複数のプラグインが同時に sitemap.xml を生成しようとすると、衝突(コンフリクト)を起こし、正しくファイルが生成されません。サイトマップ機能を持つプラグインは、原則として1つに絞ってください。
解決フロー
- プラグインの整理:SEO系プラグインを入れているなら、単体のサイトマッププラグインは停止・削除する。
- キャッシュのクリア:設定変更後は必ずキャッシュ系プラグインやサーバーのキャッシュをクリアする。
- パーマリンクの更新:「設定」>「パーマリンク設定」を開き、何も変更せずに「変更を保存」を押す。これで
.htaccessがリセットされ、URL構造が正常化することがあります。
PHPファイルの余白・空行が原因でエラーになるケースと修正方法
functions.phpやwp-config.phpの文末に不要な改行が入っている- XMLの先頭に「空白行」が出力され、パースエラー(解析不能)を引き起こす
- 初心者が見落としがちな、最もマニアックかつ致命的な原因
これは技術的な知識が浅い方が最もハマりやすい落とし穴です。
ブラウザで sitemap.xml を開いたとき、ソースコードの1行目を見てください。もし1行目が空白で、2行目から <?xml ... が始まっていたら、それがエラーの原因です。XMLは厳格な規格であり、1行目は必ず宣言文でなければなりません。
原因と対策
テーマの functions.php や wp-config.php を編集した際、PHPの終了タグ ?> の後に改行やスペースを入れていませんか?
PHPでは終了タグ以降の空白はそのまま出力として扱われます。これがXMLファイルの先頭に混入し、エラーを引き起こします。
対処法:
FTPソフトやサーバーのファイルマネージャーで該当ファイルを開き、?> 後の余白を完全に削除するか、そもそもPHPファイル末尾の ?> 自体を削除してください(WordPressのPHPファイルでは、末尾の終了タグは省略することが推奨されています)。
URLの記述ミスや404エラーを回避するためのセルフチェック手順
- ブラウザのアドレスバーに直接URLを入力して表示確認する
- httpとhttps、wwwの有無がSearch Consoleの登録と一致しているか
- サイトマップインデックス(親)と個別サイトマップ(子)の違いを理解する
システムは正確性を求めます。以下の項目を順にチェックし、凡ミスを排除してください。
- 実在確認:ブラウザで
あなたのドメイン/sitemap.xmlを叩き、ツリー状のコードが表示されるか。 - プロトコル確認:SSL化しているのに
http://で登録していないか。 - インデックスの確認:最近のSEOプラグインは、
sitemap.xmlを親として、その中にsitemap-post.xmlなどを内包する「サイトマップインデックス」形式をとることが多いです。Search Consoleには親であるsitemap.xml(またはsitemap_index.xml)だけを送信すれば十分です。
サイトマップ送信後に「保留中」から進まない時の待機時間の目安
- 送信直後の「保留」や「取得できませんでした」は24時間〜数日放置する
- 何度も送信し直してもGoogleの処理速度は変わらない
- 最終クロール日時を確認し、Googlebotが来ているか判断する
設定や表示確認で問題がないのに、Search Console上でエラーや保留が続く場合、「何もしない」が正解であることが多々あります。
Googleのシステムリソースにも限りがあり、送信されたサイトマップを即座に処理するわけではありません。特に小規模なサイトでは、クローラーの巡回頻度が低いため、ステータス反映に時間がかかります。
目安として、送信から24時間〜3日程度は様子を見てください。設定が正しいなら、時間が解決します。焦って削除と送信を繰り返すと、かえって処理を遅らせる可能性があります。
エラーがどうしても消えない場合に試すべき「代替手段」
- 既存のサイトマップを一度削除し、新しいURLで再送信する
- 別のプラグインに切り替えて、ファイル名を変えてみる(例:sitemap_v2.xml)
- 記事更新ごとに手動でURL検査(Fetch as Google)を行う
上記すべての対策を行ってもエラーが解消しない場合、Search Console側のデータがバグを起こしている可能性があります。
その場合は、一度登録済みのサイトマップをSearch Consoleから削除してください。その後、プラグイン側でサイトマップのファイル名が変更できるなら変更し(例:sitemap-new.xml)、その新しいURLを送信します。これにより、Googleに強制的に新しいファイルとして認識させることができます。
それでも解決しない場合でも、焦る必要はありません。サイトマップはあくまで「補助」です。サイト内の内部リンクが適切であれば、クローラーは巡回します。エラー解決に時間を浪費するより、Search Consoleの「URL検査」ツールを使って、重要な記事だけでも手動でインデックス登録をリクエストする方が、SEOの実益としては確実です。