この話題は以前「404 Blog Not Found:200 Blog Not Found」でも触れたのだけど、まだわかっていない人々があとを断たないのでもう一度。
わかりやすい404エラーページについて考えてみる | caramel*vanillaアクセスされたページを削除してしまったのなら仕方ありませんが、URLが変わっただけならなんとか探し当てていただきたいもの。 せっかくなにかのきっかけで訪れてくれた方をガッカリさせたままでは申し訳ありません。
なにかのきっかけで訪れるのは、人間とは限りません。
特に検索エンジンは「非人間の訪問者」としては非常に重要な訪問者です。
「彼ら」にとって「ページが存在しない」とはいったいどういうことでしょう?
ページがわかりやすいこと?
違います。そのURIにアクセスした時に、Status 404がきちんと返ってくることです。
誤った404エラーページをつくるただ1つの方法、それはStatus 404を返さないことなのです。
ところが、未だにエラーなのにStatus 200を返すURIがあふれています。
akaさんの翻訳版を参考にして自分用にちょっと変えて使っています。
こんな感じ↓
% HEAD -S http://caramel-tea.com/404.php HEAD http://caramel-tea.com/404.php --> 200 OK Cache-Control: no-cache, must-revalidate, max-age=0 Connection: close Date: Thu, 29 Mar 2007 14:06:10 GMT Pragma: no-cache Server: Apache Content-Type: text/html; charset=UTF-8 Expires: Wed, 11 Jan 1984 05:00:00 GMT Last-Modified: Thu, 29 Mar 2007 14:06:10 GMT Client-Date: Thu, 29 Mar 2007 14:06:08 GMT Client-Peer: 210.172.108.233:80 Client-Response-Num: 1 Status: 404 X-Pingback: http://caramel-tea.com/xmlrpc.php
ダメダメです。検索エンジンたちにとって、このページは存在するページです。当然キャッシュもされ、検索にも引っかかります。
もしそういう実装、すなわち「URIの不存在は、ページの内容ではなくステータスで判定する」なっていなかったらどうなるでしょう?もし「URIの不存在はページの内容で判定する」だったら、本blogは大変困ったことになってしまいます。なにしろ本blogは、404を日本語でぐぐった場合のトップに来るのです。もしこれらのページまで本当の404エラーと誤解されたら私も読者の皆さんも困ってしまいます。見ての通りその品質はとにかく、内容そのものがないのとは違うのですから。
404ページの内容に凝る前に、きちんとStatus 404を返しているかどうかをきちんと確認するようにしてください。それはロボットという訪問者のためだけによいことではなく、翻ってあなたのためにもなるのですから。
Dan the King of 404
See Also:
>URL直打ちなんてするのが例外的な状況で404にたどり着くユーザに疑惑の念があったりして。
確かに「完璧な」サイトならURL直打ちの必要もないかもしれません。
しかし、現実にはそうでもなかったり。
サーチエンジンで下層にいきなりたどり着いた場合「戻る」がないページが結構多いのです。
同じ階層の情報を得ようと、URLを下から少しづつ削っていくと、404やら403やらファイルのリストやら…
気の利いたところなら階層ごとにindex.htmlを用意してくれているのですが、
そういうところならそもそも「戻る」がありますね。