この記事は約11分で読めます。
本文は約6744文字です
サイトマップインデックスの検出URLが常に0!対処方法はコレでOKです
Googleサーチコンソールにはサイトマップを送信する機能があります。
WordPressサイトの場合はXMLサイトマップを作成するプラグインを使用したり、WordPressコアの機能でXMLサイトマップを生成していると思います。
通常、Wordpressでは、多くのサイトマップが自動的に生成されるため、Googleサーチコンソールにサイトマップを登録する際にはサイトマップインデックスファイルを1つだけ登録します。
ところが、サイトによっては、サイトマップインデックスファイルを登録しても、検出URLが0になってしまうサイトがあります。
この記事では、サイトマップインデックスを登録しても、検出URLが0になってしまう時の対策をお伝えします。
サイトマップインデックスを登録して検出URLが0になる理由は?
世界中で『サイトマップインデックスを登録したのに、検出URLが0』になっている人たちが悲鳴を上げています。
しかし、原因を突き止め解決したという人はほぼいません。
というのも、登録しているサイトマップの形式に問題は無く、サイトマップを生成しているプラグインの問題ではないことが明確なので、検出URLが”0″になるのは、Google側の問題(バグ?)であるというのが統一された見解です。
現象としては、Googleはサイトマップインデックスを読み込んでいる、しかし、サイトマップインデックスに記載された各サイトマップが読み込まれず、検出URLが”0″になっているようです。
個別のサイトマップは読み込めることから、何らかの理由でサイトマップインデックスの中身を空っぽとして扱っていて、サーチコンソールからは、サイトマップを含まないサイトマップインデックスに見えているのだと思います。
サイトマップインデックスを登録して検出URLが0が発生しやすい条件
私もサイトマップインデックスを登録して検出URLが0になったことが何回かあります。
その時の状況は次のようなものでした。
- 中古ドメインを使っている
- 新規ドメイン
- 記事を更新していないサイト
- サイトマッププラグインを変更した
- サイトマップを削除して何度も登録し直す
- サイトの記事が多い
原因①:サイトマップのファイル名に問題がある
解決方法は、ファイル名を短くしたり、”-“ハイフンを使わずに”_”アンダースコアを使うというものです。
実際に複数のサイトマッププラグインを切り替えてファイル名を変更してみましたが、解決しませんでした。
これで解決する人は極少数だと思われます。
原因②:サーチコンソールのプロパティが競合している
Googleサーチコンソールにプロパティを追加した時に、ドメインとURLの両方で追加されていると競合してしまうという話もありました。
その場合は、どちらかを削除することで解消したそうです。
私の場合は、プロパティはURLで登録してありドメインプロパティは登録していなかったので、状況は違いましたが、念のため一度プロパティを削除してみましたが、状況はかわりませんでした。
原因③:プラグインの問題
XMLサイトマップを生成するプラグインを変更することでサイトマップインデックスが読み込まれたという事例もあります。
これも試してみましたが、状況は変わりませんでした。
原因④:サイトの評価が低い
Googleがサイトマップを取得する必要が無いサイトだと判断されると、サイトマップインデックスの検出数が”0″になるという説があります。
しかし、これはGoogleを神格化しすぎというか、無理があると思います。
記事が入ってないような新規サイトでも問題なくサイトマップインデックスを登録できるためです。
また、サイトマップインデックスではなく、個別のサイトマップが登録できるのであればサイトの評価とサイトマップの登録には因果関係がありません。
原因⑤:サイトマップではなく別の手段で Googlebot によってすでに検出されている
サイトマップ以外の方法でGoogleによって認識されている場合に、「検出された URL の合計 0」となるようです。
これが原因であれば放置しておけばいいということになります。
@juliamobi The message of ‘Total Discovered URLs 0’ that you see in Google Search Console just means that the URLs contained in the sitemap were already found by Googlebot by other means, instead of via the sitemap. For example, Googlebot may have found the URLs from internal links or possibly from links on another site.
Google Search Console に表示される「検出された URL の合計 0」というメッセージは、サイトマップに含まれる URL が、サイトマップではなく別の手段で Googlebot によってすでに検出されていることを意味します。たとえば、Googlebot は内部リンクから、または別のサイトのリンクから URL を見つけた可能性があります。
https://wordpress.org/support/topic/0-discovered-urls-in-sitemap-in-google-search-console/#post-13761251
サイトマップインデックスを登録して検出URLが0になる問題の解決策
解決策①:サイトマップインデックスを使わずにサイトマップを登録する
ほとんどのケースで、サイトマップインデックスを登録せずにサイトマップを直接登録する、という方法で解決できます。
サイトマップのファイル名は、使用しているプラグインによって変わりますので、サイトマップインデックスファイルを直接参照し、ファイル名を確認した方がよいです。
この方法は簡単ですが、サイトマップファイルが多い場合に登録するのが大変になる欠点があります。
また、1つのサイトマップに登録できるURL数は5000という制限がありますから、高機能なサイトマッププラグインの場合はファイルが分割されますので、サイトマップファイル数が多くなる懸念もあります。
もし、サイトマップインデックスの検出URLが”0″になってしまう場合は、シンプルなサイトマップを生成するプラグインに切り替えると、サイトマップファイルの管理が簡単になります。
サイトマップインデックスを生成せずに直接サイトマップファイルを生成するシンプルなプラグイン(XML Sitemap Generator for Google)があります。

このプラグインが生成するサイトマップは1つで、そのファイルにすべてのURLが含まれています。
サーチコンソールに一つのサイトマップを登録するだけで済みます。
解決策②:ドメインを変更すれば問題は解決する可能性が高い
Googleサーチコンソールが世間一般で言われている動きをしない場合、現在のドメインを別のドメインに変更することで問題が解決することがほとんどです。
サイトは同じなのに、ドメインを変更したら問題が解決する場合、そのドメインはGoogleからなんらかのペナルティを受けています。
解決するには、2つの方法があります。
- ペナルティを取り除く
- そのドメインの使用をあきらめて別のドメインを使う
しかし、ペナルティを取り除くのはとても大変な作業ですので、現実的ではありません。
ドメインを変更して旧ドメインから一括301リダイレクトするのが一番簡単な解決方法になります。
中古ドメインから別のドメインにリダイレクトしてもペナルティは引き継ぎませんのでそこはご安心ください。
中古ドメインを使っていないか?
中古ドメイン業者経由ではなく、期限切れドメインを自分で取得した場合は、過去の使用者がペナルティを受けて手放したドメインの可能性が高いです。
中古ドメイン業者経由で購入した中古ドメインの場合は、そのようなペナルティの可能性は低いのですが、ご自身で取得した中古ドメインの場合は、早い段階でドメインを変更する方が無駄がありません。
また、中古ドメインという認識がなく新規取得した(と思っている)場合でも、実は長らく利用者がいなかった中古ドメインだったということもあり得ます。
ペナルティの可能性を確認するにはそのドメインの過去の運用履歴を確認します。
ドメインの運用履歴を確認するには、weyback machineで確認するのが便利です。
怪しい海外サイトが利用していた場合はそのサイトが受けたペナルティを引き継いでいる可能性が高くなります。
ペナルティは取り除けるか?
ペナルティを受けているドメインを元に戻すのは相当大変な作業になりますし、戻る保証もありません。
解決策③:記事を更新し続けるとサイトマップの認識が正常に戻る場合がある
サーチコンソールでサイトマップが読み込まれなくなって記事の更新をやめてしまうと、基本元に戻らないです。
なぜかというとサイトマップ自体の最終読み込み日が更新されなくなるからです。
気にせず記事を更新し続けていると、サイトマップ自体が更新されていきますので、サーチコンソールが読み込む回数が増えて正常に読み込むようになる可能性が高いと思います。
実際に、一度検出URLが0になってしまった場合でも、記事を更新し続けていたらサイトマップが正常に読み込まれるようになった経験があります。
結局は、サーチコンソールはサイトマップを読み込んでいないのではなく、過去に読み込んでいたサイトマップのデータがサーチコンソールには残っています。
現在のサイトマップと過去に読み込んだサイトマップに違いが無ければ、サイトマップを積極的に読み込まなくなるということだと思います。
検出URLが常に0のSEOへの影響は?
インデックスされていればサイトマップにこだわらなくてOK
サイトマップの送信が上手くいかないと焦って色々と原因を探したり、プラグインを変更したりしますが、多くの場合解決しないのが実情のようです。
XMLサイトマップの送信はSEO対策として必須ではない
もし、サイトのインデックスが特に問題なく行われているならば、Googleが言うように『サイトマップの送信は必須ではない』のです。
次の場合は、サイトマップは必要ありません。
サイトマップ (sitemap.xml など) の概要 | Google 検索セントラル | ドキュメント
- サイトのサイズが「小さい」。サイトのページ数がおよそ 500 ページ以下の場合にサイズが小さいと考えます。検索結果に表示する必要のあるページのみをこの合計ページ数に加算します。
- サイトはサイト内で完全にリンクされている。つまり、Google がホームページからリンクをたどって、サイト内の重要なページをすべて見つけられるということです。
- 検索結果に表示させたいメディア ファイル(動画、画像)やニュースページが多くない。サイトマップは、サイト内の動画ファイル、画像ファイル、またはニュース記事を Google が探して理解するうえで役立ちます。画像、動画、ニュースの検索結果に表示する必要がない場合、サイトマップは必要ありません。
サイトのページが認識されなかったり、インデックスされないのであれば、それはサイトがペナルティを受けている可能性がありますので、サイトマップ云々以前の問題になります。
サイトマップのSEO効果は低い、Googleは重要視していないというのがリアルだと思います。
クローラーはサイトマップを見てない
中古ドメインを購入し、現在、過去の運営サイトのサイトマップを送信していなくても、クローラーは過去のサイトのページをクロールしようとします。
Googleのクローラーはサイトマップを見てクロールしているわけではなく、独自のデータベースに基づいてクロールしています。
サイトマップを送信して登録するとう行為は、『Googleがサイトマップを参照することができる状態にある』というだけです。
サイトマップが更新される度に、それを見てGoogleが実際にクロールするわけではありません。
サイトマップは、Googleサーチコンソールのインデックス状況で参照されているだけとも言えます。
サーチコンソールからダイレクトにURLを送信するのとは全く位置づけが違いますので、SEO的な即効性はほぼ無いです。
先ほども申し上げた通り、Googleは別の基準でサイトのページをクロールしているようですので、サイト内で内部リンクがしっかり張られていて、更新頻度も高く、アクセスが多いサイトであることが、SEO対策としては重要になり、インデックスも促進されるはずです。
サイトマップを送信していないサイトも多い
そもそも論として、Google検索で表示されるサイトの中にも、Googleサーチコンソールに登録せず、サイトマップを送信してないサイトは多数あります。
広く、様々なサイトをインデックスしたいGoogleの立場からすれば、サーチコンソールからのサイトマップ送信がSEO的に必須条件になっているとは考えられません。
HTMLサイトなどではXMLサイトマップファイルを作成していないことも多いでしょう。
サイトの内容が世の中に求められているものであれば、『Googleは嫌でもインデックスするしかない』というのが現実です。
Googleに振り向いてもらえるようにサイトの品質を高めていくことが重要なのかな?と思います。
まとめ
サイトマップの検出が0というのは、サーチコンソール上の話なので、検索結果には影響がありません。
サイトマップが無くてもGoogleは内部リンクをたどってクロールしてくれますので、内部リンクが張られたページであればサイトマップはそもそも不要です。
サイトマップの検出が0になると焦りますが、記事を更新してサイトマップが更新されれば正常に戻ると思います(実体験)ので、あまり気にしなくてよいと思います。

コメント