存在しない404エラーページがGoogleのインデックスからなかなか消えないのはなぜ?

[対象: 全員(一部、上級)]

404のURLを自然に削除するのにGoogleはどうしてそんなに時間がかかるのですか?

上の質問にGoogleのMatt Cutts(マット・カッツ)氏が回答しました。

理論的には、404は一時的なものということが、ともするとありえる。ページがなくなったとしても後で戻ってくるかもしれない。

このページは完全になくなってもう絶対に戻ってこないと本当にシグナルを送りたいなら、技術的には410と呼ばれるHTTPステータスコードがある。だけど、少なくとも2007年に最後にチェックしたときには僕たちは両方とも実質的に同じように扱っていた。

どうしてそんな時間がかかるかという本題に戻ると、ウェブマスターはちょっと変わったことをすることがあるんだ。

墓穴を掘るのをときどき見ることがある。たとえば(誤って)検索結果からサイトを完全に削除してしまったり、サイトを停止するときに後で復旧することを示す503の代わりに404を返してしまったりすることがあるんだ。

したがって「これは404だ」とすぐに認識して永久に消してしまうよりは、むしろもう少し時間的な余裕があったほうだいいだろう。そうすればウェブマスターが間違いを犯しても。インデックスから消す前に数回チェックして本当になくなったかどうかを確認できる。

ただこれは、あちらを立てればこちらが立たずでいつも扱いにくい問題なんだ。

だから僕らが聞いたフィードバックや不満、どうしたらユーザーを満足させられるかどんなことをユーザーは嘆いているのかといったことに基づいてバランスを取るように努めている。

たとえば、ページの取得をあと数回試みてから本当になくなったことを確証しようとするかもしれないし、一方で一時的な不具合がサーバーにあったとしてGoogleが3年も4年もチェックしに戻ってこないとしたらひどく嫌だろう。

だからある種、釣り合いを取ろうとしているんだ。

でもフィードバックをくれてありがとう。クロールチームと僕はいつでも話せるから、今は410のほうが(404よりも)速く事を処理してくれるのか、それとも今でも(404と)同じように扱われているのか聞いてみる。

しかし、ウェブマスターがミスしてしまったりサーバーがオーバーロードでダウンしてしまったりウェブホストが構成を何か誤ったりしたとしても、長期的なダメージを引き起こさずに復旧する道が残されているように、当面の間は安全域を組み込むつもりだ。

404は、HTTPステータスコードの定義に従えば、「削除」ではなく「見つからなかった」を意味するので必ずしも意図的に消したことを示すものではありません。

不注意やトラブルなどが原因で、意図せずに404を返してしまうことがありえます。

そんなときの対処策として、即刻消してしまうのではなくしばらくはインデックスに残しておいて復活しやすいようにしておくということですね。

ページを削除したことを示す、410HTTPステータスコードがあります。

Matt Cutts氏によれば、Googleは404も410も同等に扱うとのことです。
つまり410を返したとしても、404のようにすぐには消えません。

ただ、2007年の状況なので今もそうなのかは分からないようです。

2010年の米国版のウェブマスター向け公式ヘルプフォーラムのスレッドでは、Google社員のJohn Mueller(ジョン・ミューラー)氏は、410のほうが404よりも速くインデックスから消滅し、404より再訪問の頻度はほんの少しだけ低くなると発言しています。

数カ月前に僕がミューラー氏とGoogle+のハングアウトで直接話した時は、404と410をほとんど同じく扱っていると言っていました。
410のほうが再訪問の頻度が低くなるかもしれないとは言っていたものの、410のほうが速くインデックスから消えるとは明確には言っていませんでした。
※ブログ記事にしたつもりだけどどこにも書いてないですね。

Googleのヘルプも404と410を同列で扱っていて区別していません。

404と410を今でも同じように処理しているのか本来の意味にそれなりに従って処理しているのか知りたいところですね。

この記事の開始トピックに戻ります。

Googleのインデックスから404エラーページがすぐに消えないのは、サイト管理者が自覚して意図したときに必ずしも404が返されるとは限らないからです。

ミスやトラブルで404を発生させてしまっていたとしてもすぐに消していなければ、インデックスに復活しやすくなるからです。