グーグルウェブマスターツールでクロールエラーがあると表示されていたので
いつものように過去のhtml達がインデックスされ続けているのだろうと思っていたら
なんだか様子がおかしい。。
404エラーの際にリダイレクトさせるページがエラーにw
3年以上も同じ.htaccessを使っていたのに出なかったのだが…
ヘルプを見ると何やらソフト404エラーというものらしい。
404エラーとソフト404エラーって何?
404エラーとか301とかって何なの?ってとこからですが
正直ウェブデザイナーの授業とかでもここまで習うことはないんじゃないでしょうか?
私が通ったKenschoolでは教えてくれませんでしたが、
デザイナーの領分を出ないのであれば必要無い知識かもしれません。
「ステータスコード」/サーバーのレスポンスが分かる
これらの数字は「ステータスコード」と呼ばれています。
各数字の意味など詳しい解説は下記ページに載っているのでこちらも合わせて読んでみてください。
よく見るHTTPステータスコード一覧とその意味を理解する|SEO HACKS公式ブログ
私達が普段ブラウザを介して閲覧しているブログやサイトはサーバーにあります。
サーバーがクライアント(閲覧者)からリクエスト(例:リンク先のページが見たいなど)を受けて
レスポンスを返す際のそのレスポンスの内容になります。
404エラーは「リクエストしたページが見つからない」場合に返されるステータスコードです。
ちなみにちゃんと表示されているページのステータスコードは200になります。
リダイレクトがちゃんとされているかステータスコードを調べたい時には下記のページでフォームに
URLを入れるとわかります。
ソフト404エラーとは?
私が作ったサイトで起きていたエラーがこちらです。
簡単に言いますとリクエストしたページが見つからないクライアントを200で返してしまっていた
ということです。
クライアントにはページが見つかりませんの文字やいかにも404ページのようなデザインを見せているので
すがgoogleのクローラーには200のページ、つまりページがあるとレスポンスしていることになる。
実際に無いページをリクエストしてそれがステータスコード200となると
これはクローラーのサイトの巡回を滞らせる要因になるのであまりよろしくない。
.htaccessの設定
私の場合はこれが間違っていた為にソフト404エラーになっていました。
〇誤
ErrorDocument 404 http://1234.com/404.html
〇正
ErrorDocument 404 /404.html
誤の設定の場合、サーバはステータスコード「404」を返しません。
実は、リダイレクトステータスコードを返してしまいます。
よってエラー表示用のページとして指定したURLが、ブラウザーのアドレスバーに表示されます。
正の設定の場合、アクセスしたURLが表示されたままになります。
〇その他参照ページ
・HTTPステータスコードまとめて確認できるツール「HTTP Status Code Checker」|SEOまとめ
・ErrorDocument 「HTTP 404 – ファイル未検出」ではかっこわるい! – .htaccessの小技編 – futomi’s CGI Cafe
・ソフト404ページはウェブマスターとして微妙に恥ずかしい | Web担当者Forum
〇関連するGoogleヘルプページ
・404 ページのカスタマイズ – ウェブマスター ツール ヘルプ
・ソフト 404 エラー – ウェブマスター ツール ヘルプ