ソフト 404 エラーが増えています!

最近、googleのウェブマスターツールを見ると、とあるサイトで「ソフト 404 エラーが増えています!」という警告が増えていました。

この前から、サイトの整理をしているので、エラーページが出るのは当然として、ソフト404エラーというのが聞き慣れません。

と思いつつ、グーグルのサポートのページを読んでみたけど、よくわからなかったのですが・・・

なんか、設定間違ってるっぽい?

おかしいなあ、notfoundのページ設定してあるのになあ。なんでかなあ?

またまた、大量に同じ「ソフト 404 エラーが増えています!」が出始めたので、重い腰をあげて、調べ始めたのですが・・・

調べていくうちに、だんだん顔が青くなり・・・

や、やばい・・・やばすぎる・・・だめじゃん、これ。

慌てて、修正に突入しました。

以下、修正した内容です。もしかしたら、まだ間違えてるかもなので、自己責任でよろしくです。

結論から言うと、404notfoundのページをhtaccessで設定するところを間違えていました。

順を追って説明します。

Fetch as Googleで確認

まず、グーグルウェブマスターツールのクロールエラーを確認します。ここにソフト404と出ていたら問題です。

エラーの出ているページをFetch as Googleで、確認します。取得が完了したら、取得ステータスを確認します。

ここに「成功しました」なんて出てたらやばいです。本来は、「見つかりませんでした」となるはずなんです。

取得ステータスのそれぞれの青いリンクをクリックすると、グーグルが取得した内容を確認できます。

変な状態の時は、「302 Found」になっていました。

修正したら、「404 not found」となり、きちんと設定したnotfoundのページが表示されるようになりました。

htaccessの設定を間違えていた

何が原因だったかというと、htaccessファイルに書いた記述が間違っていました。

最初、htaccessには、

ErrorDocument 404 http://www.hogehoge.com/notfound.shtml

と、書いてありました。

このhttp://から始まる絶対URLを書くと、おかしなことになるようです。

こちらの記事が大変参考になりました。ありがとうございます!

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

こちらを参考に、書き直したのがこちら。

ErrorDocument 404 notfound.shtml

実はこれもまだ間違っています。

今度は、404はかえるようになりましたが、わたしが設定したnotfoundページではなく、デフォルトの404ページで、なにやら見慣れぬメッセージまで。

「Additionally, a 500 Internal Server Error
error was encountered while trying to use an ErrorDocument to handle the request.」

ぐはー。今度はなんやねん???

もっかい、穴が開くほど、htaccessファイルをよく見てみると、notfound.shtmlの前にスラッシュがありませんでした。

誤:ErrorDocument 404 notfound.shtml
正:ErrorDocument 404 /notfound.shtml

ここまでやって、ようやく、404もかえり、自分が設定したnotfoundページが表示されるようになりました。

notfoundページは、わけもわからずにかなり昔に作ったのですが、それ以来ずっと間違えていたのかと思うとぞっとします。

これを修正したサイトが、果たして検索からの流入がどうなるのか、静かにウォッチングしたいと思います。

こちらの2つのサイトが本当に大変参考になりました。助かりました!ありがとうございました!

 予想外の「ソフト404エラー」でGoogleから警告!?
 Not Foundなど エラーメッセージを独自作成