【2024年上半期】メルカリの新機能・テスト機能をまとめた記事を公開中です!

XMLサイトマップがエラーで「取得できませんでした」と出た時の対処法

当ページのリンクには広告が含まれています。
XMLサイトマップがエラーで「取得できませんでした」と出た時の対処法

先日、グーグルサーチコンソールに送信したサイトマップが1ヶ月前から読み込みに失敗していることに気づきました。

内容は、「サポートされないファイルフォーマット」と「一般的なHTTPエラー(500)」です。

サイトマップを読み込めませんでした
サポートされないファイルフォーマット
お客様のサイトマップのファイル形式はサポートされていません。サイトマップのガイドラインに従ってサイトマップを修正し、再送信してください。
一般的なHTTPエラー
サイトマップへのアクセス時にエラーが発生しました。指定したアドレスにサイトマップが存在し、Googleをブロックしていないことを確認してください。デバッグのヘルプについては、ヘルプセンターをご覧ください。
例
HTTPエラー: 500
出典:Google Search Concole

おまけに、XMLサイトマップに直接アクセスすると「このサイトで重大なエラーが発生した」というメッセージも出ました。

This XML file dose not appear to have any style infomation associated with it. The document tree is shown below.
<error>
 <code>internal_server_error</code>
 <title>
  <![CDATA[ WordPress › エラー ]]>
 </title>
 <message>
<![CDATA[ <p>このサイトで重大なエラーが発生しました。</p><p><a href="https://ja.wordpress.org/support/article/faq-troubleshooting/">WordPressのトラブルシューティングについてはこちらをご覧ください。</a>lt/p> ]]>
 </message>
 <data>
  <status>500</status>
 </data>
</error>

正常に戻す方法があれば知りたい!

そこで、本記事では

  1. サイトマップのステータスが「成功しました」に直るまでに行った対処法

を詳しく紹介していますので、ぜひ参考にしてみてください。

サイト情報
  • WordPress(6.2.2)
  • SWELL(2.7.6.2)
  • PHP(7.4.33)
  • XMLサイトマップ作成プラグイン(XML Sitemap & Google News)
contents

サイトマップがエラーで「取得できませんでした」と出た時の対処法

サイトマップが「成功しました」に切り替わるまでの時系列を簡潔に紹介します。

時系列状況や結果
①サイトマップのトラブル発見・サポートされないファイルフォーマット
・一般的なHTTPエラー(500)
②サーバー移転(mixhostからエックスサーバー)改善なし
プラグインを変更し、サイトマップを作り直すライブテストの結果は、「ページをインデックス登録できません: サーバーエラー(5xx)」と改善なし
サイトマップの設定を見直すライブテストの結果は、「いいえ,”X-Robots-Tag’ httpヘッダーで’noindex’が検出されました」と改善なし
相性が悪い可能性があるプラグインを無効化する同上
サイトマップの設定を見直す(2回目)親サイトマップ「取得できませんでした」、子サイトマップ「成功しました」に改善あり
数時間後、親サイトマップも「成功しました」と改善あり解決
最初にサーバー移転をした理由は?

今回サイトマップのトラブルが500エラーだったことから、サーバーに問題があるかもしれないと推測しました。

HyperText Transfer Protocol (HTTP) の 500 Internal Server Error サーバーエラーレスポンスコードは、サーバーがリクエストを実行を妨げる予期しない条件に遭遇したことを示します。

引用元 : 500 Internal Server Error – MDN Web Docs

他にも料金やSSLエラーなどの不満が蓄積したため、良い機会だと思ってサーバー移転をしています。

ただし、サーバー移転をしてもサイトマップのエラーは改善しませんでした。

今回は、

  • プラグインを変更し、新しいサイトマップを設定する方法
  • 相性が悪い可能性があるプラグインを無効化する

の2つを詳しく紹介していきます。

目次に戻る

対処法① プラグインを変更し、新しいサイトマップを設定する方法

はじめに、XMLサイトマップ作成で使用していたプラグイン「XML Sitemap & Google News」から、「XML Sitemap Generator for Google」に変更しました。

XML Sitemap Generator for Google
有効化

Generate multiple types of sitemaps to improve SEO and get your indexed quickly.
出典:WordPress

2022年10月頃から2023年にかけて、プラグイン「XML Sitemap & Google News」で作成したサイトマップがエラーになるトラブルが多く見受けられるようになりました。

「XML Sitemap & Google News」でサイトマップを作成した人は、

  • サイトマップのURLにアクセスして問題がない
  • グーグルサーチコンソールを開き、サイトマップが正常に送信されている

かどうか確認してください。

プラグインを有効化し、一から新しくサイトマップを作り直します。

設定は、以下の記事を参考にしました。

しかし、設定内の「Sitemap コンテンツ」に関しては上記事と同じ設定にすると、ライブテストで筆者はエラーが出ました。

そこで、

(SWELLテーマを使用している人は必須のプラグイン「SEO SIMPLE PACK」で設定した内容と照らし合わせながら、)「XML Sitemap & Google News」のSitemap コンテンツのチェックを変更します。

テーマがSWELLの人向け

「SEO SIMPLE PACK」の設定で、

  • 投稿ページ
  • タクソノミーアーカイブ
  • その他アーカイブ

のどのページをインデックスさせないかチェックをつけたはずです。

\一例です/

SEO SIMPLE PACK 一般設定
その他アーカイブ
「著者」のアーカイブページをインデックスさせない はい

「はい」を選択するとデフォルトの出力がnoindexとなります。
出典:WordPress

筆者は著者や日付、カスタム投稿タイプなどをインデックスしないように設定してありました。

「SEO SIMPLE PACK」でインデックスしないものにチェックをつけた場合は、「XML Sitemap & Google News」のSitemap コンテンツのチェックを外しましょう。

「SEO SIMPLE PACK」でインデックスしないものにチェックをつけた時に「XML Sitemap & Google News」のSitemap コンテンツのチェックを外す理由は?

「XML Sitemap & Google News」のSitemap コンテンツにチェックをつけてしまうと、noindexであるにも関わらずサイトマップに反映されます。

処理上、noindexが優先されるため、ライブテストをした際に「noindexタグによって除外されました」とエラーが出る可能性があるからです。

筆者は、

  • ホームページ
  •  投稿 (個別記事) を含める
  • カテゴリーページを含める
Sitemapコンテンツ
WordPress標準コンテンツ:
◉ホームページ
◉投稿(個別記事)を含める
・Include product categories
・Include product tags
・固定ページを含める
◉カテゴリーページを含める
・アーカイブページを含める
・投稿者ページを含める
・タグページを含める
出典:WordPress

の3つのみにチェックしました。

設定を終えたら(もしくは見直しが終わったら)、XMLサイトマップのURLにアクセスしてください。

XML Sitemap Index

This XML sitemap is used by search engines which follow the XML sitemap  standard. This file contains links to sub-sitemaps, follow them to see the actual sitemap content.
this file was dynamically generated using the WordPress content management system and XML Sitemap Generator for Google by Auctollo.

上のようにXMLサイトマップが作成されていたらOKです。

作成したサイトマップは、グーグルサーチコンソールのサイトマップから追加する前に、グーグルがそのサイトマップを認識してもらえるかのライブテストを行いましょう。

グーグルサーチコンソールのページ上部にあるURL検査からサイトマップURLを入力し、「公開URLをテストする」ボタンを押すと確認ができます。

インデックス登録はしなくてOKです。

公開URLをテストした結果、

「URL は Google に登録できます」グーグルサーチコンソールのサイトマップから新しく追加してみてください。
「URL は Google に登録できません」原因を確認して再度修正を行います。
・「ページをインデックス登録できません: サーバーエラー(5xx)

・「いいえ、’X-Robots-Tag’ httpヘッダーで’noindex’が検出されました

なお、サイトマップを新しく追加しても「取得できません」から変わらなかった場合は、

を実践してみてください。

目次に戻る

「ページをインデックス登録できません: サーバーエラー(5xx)」

公開URLをテスト(ライブテスト)をして

URLはGoogleに登録できません
このページはインデックス登録できません。インデックスに登録されていないページはGoogleで配信することができません。インデックスに登録できなかった理由について詳細をご確認ください。詳細

ページの可用性
ページをインデックスに登録できません: サーバーエラー(5xx)
出典:Google Search Concole

「URLはGoogleに登録できません。」
「ページをインデックス登録できません: サーバーエラー(5xx)」

というメッセージが出ることがあります。

サーバーエラー(5xx)とは

サーバーエラーを解決するには、

  • 大規模な問題がサイトにあるか
  • グーグルのクローラーをブロックしていないか
  • サーバーが過負荷ではないか

などを確認する必要があるようです。

解決方法として正しいかは不明ですが、

確認事項解決方法
グーグルのクローラーをブロックしていないかサイトマップ設定の見直し対処法①
サーバーが過負荷ではないか相性の悪い可能性があるプラグインを無効化する対処法②

最大限できることを行いましょう。

目次に戻る

「いいえ、’X-Robots-Tag’ httpヘッダーで’noindex’が検出されました」

公開URLをテスト(ライブテスト)をした結果、

URLはGoogleに登録できません
このページはインデックス登録できません。インデックスに登録されていないページはGoogleで配信することができません。インデックスに登録できなかった理由について詳細をご確認ください。詳細

ページの可用性
ページをインデックスに登録できません: noindexタグによって除外されました
クロールを許可? はい
ページの取得 成功
インデックス登録を許可? いいえ、'X-Robots-Tag' httpヘッダーで'noindex'が検出されました
出典:Google Search Concole

「URLはGoogleに登録できません。」
「ページをインデックス登録できません: noindexタグによって除外されました」
いいえ、’X-Robots-Tag’ httpヘッダーで’noindex’が検出されました

というメッセージが出ることがあります。

X-Robots-Tag は、指定した URL に対する HTTP ヘッダー応答の要素として使用できます。

引用元 : X-Robots-Tag HTTP ヘッダーの使用 – Google検索セントラル

つまり、作成したXMLサイトマップのHTTPヘッダーをX-Robots-Tagで読み込んだところ、noindexタグが検出されたからインデックスできないと判断したようです。

そもそも、XMLサイトマップはインデックス登録するものではないので、インデックス登録でエラーが出るのは当たり前かもしれないです。

「いいえ、’X-Robots-Tag’ httpヘッダーで’noindex’が検出されました」とメッセージが表示された場合は、

方法で対処してください。

対処法②相性が悪い可能性があるプラグインを無効化する

サイトマップの設定を見直してもサイトマップが正常に戻らない時は、XMLサイトマップと相性が悪い可能性があるプラグインを探る手もあります。

筆者は、

  • Code Snippets(PHPコードを管理)
  • Flying Scripts(高速化設定)
  • Redirection(リダイレクト設定)

上3つのプラグインを無効化しました。

筆者の場合は、上記プラグインを無効化して効果があったかどうかは不明です。

目次に戻る

対処法①②を行っても解決できない時

本トラブルを解決するにあたって参考になった記事を紹介します。

筆者と全く同じトラブル内容だった記事がありましたので参考になるかもしれません。

なお、解決方法の違いは、上の記事はPHPのバージョンを変更していますが、筆者はPHPのバージョンを変更していません。

PHPのバージョンの変更は、エックスサーバーであればサーバーパネルの「PHP Ver.切替」から可能です。

また、エラーの内容を詳しく知りたい時は、以下の記事が参考になりました。

目次に戻る

サイトマップを登録し直した時のステータス

サイトマップを登録し直した時に、親サイトマップと子サイトマップの両方のステータスが「成功しました」と表示されているか確認してください

親サイトマップをクリックすると、子サイトマップが開きます。

両方のステータスが「成功しました」と表示されていたらOKです。

万一、片方は「成功しました」、もう片方は「取得できませんでした」と表示されていた場合は、次の見出しをご覧ください。

目次に戻る

親サイトマップは「取得できませんでした」なのに、子サイトマップは「成功しました」だった時

何度か修正し、新しくサイトマップを追加し直しているうちに、

  • 親マップサイト(sitemap.xml)のステータスが「取得できませんでした」
  • 子サイトマップのステータス全てが「成功しました」

ということが起こる場合があります。

このような時は、数時間から1日程度放置してみてください。

筆者は、1,2日後に親サイトマップも「成功しました」に切り替わり、無事に本トラブルが解決しました。

反対に、親サイトマップは「成功しました」なのに、子サイトマップは「取得できませんでした」だった時は?

その時も数時間から1日程度放置し、再度ステータスを確認してみてください。

PR

\10日間無料でお試しいただけます/

最後まで読んでくださりありがとうございます!

\普段はフリマアプリの記事を投稿しています/

いつも記事をご覧くださりありがとうございます。
アカウントがなくても「OFUSE」ができますので、この記事が役に立ったなと思った時はぜひご支援メッセージをいただけますと嬉しいです。

  • URLをコピーしました!
  • URLをコピーしました!
<strong>contents</strong>