はじめに
「Google Search Consoleでサイトマップを送信したら『取得できませんでした』と表示された」という経験はありませんか?この記事は、そのエラーの原因と対処法をわかりやすく整理したものです。
この記事の目的
この章では、記事全体の狙いと読み方を説明します。以降の章でエラーの概要、主な原因、具体的なチェックポイント、実際の解決事例、最後に注意点を順にお伝えします。初めて問題に直面する方でも段階的に確認できるように構成しました。
想定する読者
・サイト運営初心者から中級者まで
・技術的な専門知識が少ないが、問題を自分で確認したい方
・外注前に原因を把握して対応を早めたい方
読み方のヒント
まず第2章でエラーの出方を確認し、第3章で可能性のある原因を把握してください。第4章のチェックリストを順に確認すると効率よく原因特定できます。第5章の事例は具体的な対応イメージをつかむのに役立ちます。
この先は、実務で使える具体的な手順を丁寧に解説します。安心して読み進めてください。
エラー概要と発生状況
エラーの意味
Google Search Consoleで「取得できませんでした」と出ると、Google側が送信されたサイトマップファイルを正常に読み取れなかったことを意味します。簡単に言うと、Googleがサイトマップを取りに行ったときに応答や内容に問題があり、処理できなかった状態です。
よくある発生タイミング
- サイトを公開・移転した直後(ドメインやHTTPSを変えたとき)
- サーバーが一時的に落ちているとき(メンテ中や過負荷)
- サイトマップを更新した直後(誤った記述やエンコーディングミス)
見た目と影響
GSC上では「取得できませんでした」と表示され、詳細にエラー原因が書かれていない場合もあります。影響としては、サイトマップ経由でのURL検出が遅れたり一部がインデックスされなかったりします。すぐに検索順位に直結するわけではありませんが、放置すると発見や反映が遅れるリスクがあります。
まず押さえておくポイント
具体的な対処は次章で詳しく解説しますが、まずはサイトマップのURLがブラウザで開けるか、サーバーが正常に稼働しているかを確認してください。エラー発生は一時的なことも多いですので、再送信で改善するケースもあります。
主な原因一覧
1. URLの入力ミス
URLの綴りやプロトコル(http/https)、パスの間違いで取得できません。例:/sitemap.xml を /sitemaps.xml と入力している場合。
2. サイトマップファイルの未設置・削除
そもそもファイルが存在しない、移動・削除されたケースです。公開ディレクトリを確認します。
3. HTTPとHTTPSの混在
サイト本体とサイトマップでプロトコルが異なると認識されないことがあります。HTTPSサイトでHTTPのURLを指定していないか確認してください。
4. robots.txtによる制限
robots.txtでサイトマップやクローラーをブロックしていると取得されません。例:User-agent: *\nDisallow: /sitemap.xml
5. ファイル形式・MIMEタイプの不一致
XMLの構文エラーやContent-Typeがtext/htmlなど誤っていると解析できません。
6. サーバーの応答遅延やエラー
タイムアウト、404/500/503などのレスポンスが原因です。サーバーログを確認します。
7. 認証やアクセス制限
Basic認証、IP制限、ログイン必須の領域にあるとGoogleは取得できません。
8. クローラーのアクセス拒否設定
.htaccessやファイアウォールでGooglebot等を拒否している場合があります。
9. 外部依存の不具合
DNS障害、CDN設定ミス、外部リダイレクトの誤りで到達できないことがあります。
10. .htaccessやリダイレクト設定ミス
リダイレクトループや不適切な書き換えでアクセスが遮断されます。
対処法と具体的なチェックポイント
以下はサイトマップ取得エラーに対する実践的な対処手順です。順に確認すると原因の切り分けと解決が早まります。
1) URLの再確認・修正
- サイトマップのURLが正しいか直接ブラウザで開いて確認します。期待する表示はXMLがテキストで見えること(例:https://example.com/sitemap.xml)。
- リダイレクト(301や302)がかかっている場合は最終URLを指定します。
2) サイトマップファイルの存在確認
- ファイルが実際に存在し、空でないことを確認します。HTTPステータスは200で、Content-Lengthが0でないかチェックします。
- コマンド例: curl -I https://example.com/sitemap.xml
3) robots.txt と .htaccessの設定見直し
- robots.txtにSitemapディレクティブが正しく書かれているか、Disallowでサイトマップへのアクセスを禁止していないか確認します。
- .htaccessやサーバーのアクセス制御で特定UAやIPを拒否していないか確認します。リライトルールがXMLへのアクセスを妨げることがあります。
4) ファイル形式・内容のバリデーション
- XMLが正しく閉じられているか、UTF-8であるか確認します。オンラインのXMLバリデータやブラウザのエラーメッセージを使うと早いです。
- sitemap.xmlには正しいタグ(、、など)があるかチェックします。
5) クエリパラメータの付与による送信
- キャッシュや一時的なブロックを回避するため、送信時に ?v=1 などのパラメータを付けて別URLとして送ると即効性があります。
6) サーバー応答・認証設定の確認
- 403や401が返る場合は認証やIP制限を解除するか、Googleのクローラーを許可リストに追加します。
- コンテンツタイプが text/xml または application/xml になっているか確認します。
7) Googleのクロール待ち・再送信
- 修正後はサーチコンソール等でサイトマップを再送信し、クロールを待ちます。即時に反映されない場合がありますが、基本は設定を直して再送信することが重要です。
特にURL表記の誤り、サーバー設定、robots/.htaccessの見直し、クエリパラメータ追加は短時間で効果が出やすい対策です。状況に応じて上から順に実施してください。
実際の解決事例・体験談
ケース1: サイトマップURLにクエリを付与して再送信
状況: サイトマップが正しく取得されずエラー表示。
対応: URL末尾に「?v=1」などのクエリパラメータを付けて再送信しました。結果、キャッシュや一時的な取得失敗を回避でき、正常に取得されました。
ポイント: サーバーや検索エンジン側の一時的なキャッシュを疑うときに有効です。
ケース2: XMLバリデーションで記述ミスを特定・修正
状況: サイトマップがXMLエラーで拒否される。
対応: 無料のXMLバリデータで検証し、閉じタグ漏れや特殊文字のエスケープ忘れを修正しました。修正後、エラーが消え正常に登録されました。
ポイント: 小さな記述ミスが原因のことが多いので、まずバリデータで確認します。
ケース3: サーバー設定やアクセス制限の修正
状況: Googlebotがサイトマップにアクセスできない(403/500など)。
対応: .htaccessやrobots.txtの設定を確認・修正し、サーバーログでエラー原因を追いました。ホスティング側の一時的な障害はサポートに対応してもらい解決しました。
ポイント: ログ確認とアクセス権の見直しが重要です。
それぞれの事例で共通するのは、原因を切り分けて一つずつ確かめることです。小さな修正で問題が解決することが多く、焦らず順序立てて対処することをおすすめします。
まとめと注意点
Googleサーチコンソールの「サイトマップ取得できませんでした」エラーは、URLの誤りやサーバー設定、ファイル形式の不具合など、原因が複数考えられます。慌てずにチェックリストを順に確認し、一つずつ潰していくことが大切です。
- まず確認すること
- サイトマップのURLが正しいか(http/https、末尾のスラッシュ、URLエンコード)
- ブラウザやcurlで直接アクセスして200が返るか
- robots.txtや.htaccessでクロールが遮断されていないか
-
サイトマップが正しいXML/テキスト形式であるか、圧縮(.gz)なら中身をチェック
-
即効性のある対策
- URL末尾にクエリ(?v=1)を付けて再送信してみる
- サイトマップを再アップロードしてタイムスタンプを更新する
-
サーバーの負荷やエラー履歴をログで確認する
-
それでも直らないとき
- 数日待つと状況が改善する場合があります
- Search Consoleのメッセージやカバレッジ報告を確認し、該当箇所を特定する
-
公式ヘルプフォーラムで同様事例を探すか相談する
-
注意点
- 同じファイルを短時間に何度も送信しないこと(処理が遅延する恐れ)
- サイトマップに機密URLを含めないこと
- 大規模サイトはサイトマップインデックスの利用を検討する
一つずつ丁寧に確認すれば、原因はほとんど解決できます。不明点があれば、ログやエラーメッセージの抜粋を用意して相談すると、より早く解決につながります。