ソフト 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つのサイトが本当に大変参考になりました。助かりました!ありがとうございました!