予想外の「ソフト404エラー」でGoogleから警告!?

それは管理している、とあるサイトをウェブマスターツールでチェックしていた時に気づきました。

googlewebmastertool-soft404-errordocument.png

「ん? 存在しないURLに対して『ソフト404エラー』が発生している…?」

知らない人のために説明すると、ソフト404エラーとは、本来「404 Not Found」を相手に返すために404というステータスコードを返さないといけないのに、そうなっていないことでGoogleのクローラーやその他ブラウザに勘違いされてしまうエラーのことです。

以前も指摘しましたが、ソフト404エラーはSEOに悪い影響を及ぼすエラーです。

ステータスコードで302が返されていた!

404じゃないとしたら、何が返されているんだ?と思って調べてみると、なんと302(一時的な移動)が返されています。

どこでそんなミスを?
そう思って調べるとApacheの設定で以下のような記述を行なっていました。

ErrorDocument 404 http://www.example.com/alert/404.html

※都合上、ドメイン名は例として別のものを当てはめています。

この記述のどこが間違いかというと、太字の部分。

このようにhttp://まで含めて指定してしまうと、サーバーは「エラー用のページがリモートサーバー上のページ」という判断をしてしまい、リダイレクトとして扱ってしまうというのです。

これを回避してちゃんと404を返すようにするには次のようにDocumentRootからのローカル絶対パスで指定するようにします。

ErrorDocument 404 /alert/404.html

でもこれって、気づかずに運営しているWEBサイトオーナーも沢山いるだろうなぁ。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

2012-07-25