404と410の違い

注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。

通常、任意のウェブページあるいはリソースにアクセスしようとして、リソースが見つからない場合、HTTP 404エラーが返ってくる。これはなんらかの理由でページを削除した場合にも404エラーが返るようになるが、もしページを意図的に削除したのであればむしろ410を使ったほうが良いだろう。ここでは404と410の違いと、410エラーの使い分けなどを説明したい。

404エラーとは

おそらく、ウェブサーフィンしているのであれば誰もが一度は見るエラーコードで、これは「HTTP 404 Not Found」つまり、「ウェブリソースが見つからない」という意味のエラーである。まだページを作成していない場合はもちろん、なんらかの理由でページを削除した場合でも404エラーになるし、別の場所に移動した場合でもその移動する前のURLは404エラーになる ((ユーザビリティーやSEOなどの考えから、ファイルを移動させた場合、異動先へのHTTP 301 Moved Permanentlyリダイレクトをかけることが望ましいが、通常、これは.htaccessやCGI/PHPなどで設定する必要があり、これらの使用ができない場合はリダイレクトできない)) 。

410エラーとは

これに対して、「HTTP 410 Gone」は滅多にお目にかかれないエラーコードである。これは指定されたURLのリソースは意図的に削除されたと言う意味を持つ点で、404エラーとは意味合いが異なる。

このエラーは通常ページあるいはファイルなどを削除しただけでは発生せず、通常は.htaccessあるいはCGI/PHPなどで特定のURLを参照されたら410エラーを返すなどの対策が必要になる。そのため、.htaccessなどの使用が制限されている場合では使えない。

削除したページに410エラーを返すようにしたい場合はウェブページを完全に削除したときは404よりも410のHTTPステータスコードを返すといい(海外SEO情報ブログ)を参照されたい。

エラーの意味合いの違いによる影響について

404エラーと410エラーでは「意図的に削除されたかどうか」が大きく異なると説明した。これによって、システム的には404エラーなら「意図的なのか偶然あるいは過失によるファイル消失あるいはアクセス不能で、復活する可能性がある」と判断されるし、410エラーなら「意図的に削除されたので、復活する可能性はない。」と判断される。

これによって、検索クローラによっては404エラーか410エラーによってクロールの動作に影響を及ぼす可能性がある。404エラーなら復活する可能性があると判断して再クロールする可能性が高いし、410エラーなら復活する可能性がないと判断してクロールの対象から外す、あるいは頻度を下げる可能性が高い。

最後に

ここでは404エラーと410エラーの違いとその影響について軽く述べてみた。これについてはウェブの仕様上、どうしても意図的に削除したページに対し410エラーを吐くようにするには設定が必要になる関係上、それができない場合もあるし、その必要性においてもそこまで高いわけではないため、通常は意識する必要はない。

ただ、より親切であるとは言えるので、意図的に削除したなら410エラーを吐くように設定するというのもよいだろう。

タイトルとURLをコピーしました