[レベル: 中級]
HTTP ステータスコードの 404 を返す URL に Googlebot がクロールを繰り返すことがあります。
これは正常な動きです。
404 ページの再クロールが、通常のページへのクロールに悪い影響を及ぼすことはありません。
404 への再クロールは後回し
404 を返す URL へのクロールがクロールバジェットを消費してしまうのではないかと、心配するサイト管理者に Google の John Mueller(ジョン・ミューラー)氏は次のように説明しました。
重要な URL をクロールし終わったあとに、そうした URL(404ページ)を通常はクロールする。よって、何も消費されない。
@miguelpau @davidwkelley @googlewmc We generally crawl those URLs after we've crawled the important ones, so nothing is used up.
— John ☆.o(≧▽≦)o.☆ (@JohnMu) 2017年5月11日
つまり、クロールバジェットに余裕があれば 404 を返す URL にもクロールを試みるということです。
大切な URL よりも優先して 404 ページをクロールするわけではありません。
404 の再クロールは正常な動き
ミューラー氏の説明を、Search Engine Roundtable がブログ記事にしました。
この記事 に、Vanessa Fox(ヴァネッサ・フォックス)氏がコメントを投稿しています。
ヴァネッサ氏は、Google のサーチクオリティチームで以前に働いてた人で、Search Console の公開時からの開発に深く携わっていました(当時は、Search Console ではなくウェブマスターツール)。
元 Google 社員としての知見から、404 の再クロールについてフォックス氏は詳しく説明しているので紹介します。
that’s only after Googlebot has gotten the 404 at least once already (until then, there’s no way to know it’s a 404). But when a URL has been marked as a 404 (or a non-canonical, or as blocked by robots.txt or whatever), that is one of the many signals used when determining how often to crawl it (the crawl priority queue). A URL marked as a 404 will need to be crawled again eventually to make sure it’s still a 404, but how long it takes until that happens depends on other signals (also used in the crawl priority queue). For instance, if you previously 404ed a URL but now it’s returning a 200 and you want it crawled again, submit the URL in an XML Sitemap and that will be a signal to move it up in the crawl priority queue.
それ [404 ページの再クロール] は、少なくとも1度は 404 エラーを検出した後にだけ発生する(それまでは 404 だと知る術がない)。
しかし、URL が 404 だとしてマークされると(ほかには、非正規 URL だったり robots.txt でブロックされていたり、何であれ)、どのくらいの頻度でクロールするかを決定する際のシグナルの1つとして利用される(これを“クロール優先度キュー”という)。
404 としてマークされた URL は再クロールされる必要があり、その結果依然として404だということが確かめられる。しかし再クロールまでにどのくらいの時間がかかるかは他のシグナルにも依存する(そうしたシグナルはクロール優先度キューにも使われる)。
たとえば、以前は 404 を返していた URL が今は 200 を返していて、再び通常のようにクロールしてほしいなら、その URL をサイトマップで送信するといい。そうすれば、クロール優先度キューの上の方に移動するシグナルになる。
404 の再クロールについてまとめると
ミューラー氏とフォックス氏の説明(と僕のこれまでの理解)をもとに、404 を返す URL への Googlebot の再クロールについてまとめると次のようになります。
- その URL が依然として 404 を返すかどうかあるいは 200 に戻っているかを確かめるために Googlebot は 404 ページを繰り返し再クロールする(したがって 404 ページへの再クロールは想定されること)
- 404 ページの再クロールの頻度はさまざまな要因によって決まる(404 以外の URL のクロールも同様にさまざまな要因による。たとえばサイトマップへの URL 登録はクロール優先度が高くなる)
- 404 ページのクロールは、通常は優先度が低い(したがって、重要な URL のクロールを阻害することはない)
さらに、一言で言うと「404 のクロールは正常な動きだから気にしなくていい」となります。;)