ソフト404への対処法

ソフト404は、本来はページが存在しないのに「ページがありました」という内容のレスポンスを返している状態を指します。

ここでは、ソフト404の概要と、ソフト404への対処法を解説します。

ソフト404とは

われわれがウェブサイトを見るとき、まず見たいウェブサイトに「リクエスト」を送ります。すると、リクエスト先のサーバーから「レスポンス」が返ってきます。

レスポンスには「ヘッダー」と呼ばれるデータがついています。ブラウザは、このヘッダーの内容を読み取ってページを解析します。

ヘッダーには「HTTPレスポンスコード」が書かれています。ページが問題なく返されたときは(基本的に)「200 OK」が返され、ページが見つからないときは「404 Not Found」が返されます。

クローラーは、この「HTTPレスポンスコード」を使ってページが存在しているかどうかを確認します。404 Not Foundが返されていた場合、クローラーはページが表示できないものと判断し、クロールを中止します。

ソフト404とは、本来は「404 Not Found」(見つからない)が返されるべきページで「200 OK」(見つかった)が返されている状態です。検索エンジンからは、「『ページがありません』という内容のページがある」とみなされます。

また、404ページへリダイレクトすることもソフト404の一種です。

ソフト404の問題点

「ページがありません」という内容のページが大量にインデックスされ、検索結果に表示されるようになります。結果、「重複コンテンツ」や「低品質なコンテンツ」とみなされ、評価に悪影響を及ぼします。

ソフト404を確認する

「見つかりません」状態のページで404 Not Foundが返されているかどうかを確認するには、このチェックツールを使います。

「URL」の欄に「forchive.com/1234567890」などといった存在しないURLを入力し、「送信」をクリックします。

「HTTP/●.● 404 Not Found」と表示された場合、404は適切に返されています。問題はありません。

逆に、「HTTP/●.● 200 OK」と表示された場合、ソフト404が発生しています。対処が必要です。

考えられる原因

ソフト404が発生している場合、次のような原因が考えられます。

  • .htaccessの記述が不適切である。
  • 「見つかりません」という内容のHTMLファイルが置かれている。

ソフト404への対処

410 Gone を返す

削除したページでソフト404が発生したときは、そのページへアクセスしたときに410 Goneを返すという方法があります。

410 Goneは、ページが削除されたことを示すHTTPステータスコードです。404 Not Foundが「見つからなかった」を意味し、まだ削除はされていない可能性を残すのに対し、410 Goneは「削除された」と断言します。

この対処法は一時的な応急措置として用いてください。

  1. .htaccessを開きます。.htaccessが存在しないときは、.htaccessを作成します。
  2. .htaccessに410 Goneを返すコードを書きます。
  3. 書き終わったら、最後に1行の空行をつくります。
  4. ウェブサーバーにアップロードして完了です。

この作業が完了すると、対象としたページにアクセスした際に

The requested resource
***
is no longer available on this server and there is no forwarding address. Please remove all references to this resource.

日本語訳: リクエストされたリソース *** は、このサーバーでは利用できなくなり、転送先のアドレスもありません。このリソースへの参照をすべて削除してください。

と表示されるようになります。