Google Search Consoleを利用していると、「『インデックス カバレッジ』の問題が新たに検出されました」というメールが届くことがあります。
今回は「送信されたURLはソフト404エラーのようです」というエラー原因と改善方法について解説していきます。
インデックスカバレッジについてはこちらも参照して下さい
インデックスカバレッジの問題が新たに検出されました の通知と対処法
このページに書いてあること
ソフト404エラーとは?
ソフト 404 とは
ソフト 404 とは、ページが存在しないことをユーザーに伝えるページを表示するだけでなく、200 レベル(成功)のコードも返す URL です。場合によっては、コンテンツがほとんどまたはまったくないページ(コンテンツがまばらに表示されるページや空白のページ)もこれに該当します。このエラーが推奨されない理由
404 や 410(未検出)または 301(移動した)といったコードではなく、成功コードを返すことは避けてください。成功コードは、その URL に実際のページが存在することを検索エンジンに知らせます。その結果、該当ページが検索結果に表示され、検索エンジンは実際のページをクロールする手間を避けて、実体のない URL を引き続きクロールしようとします。
Google公式のヘルプページより
簡単にいうと、
そのURLに実際にはコンテンツが存在しないのに、存在している事になっているということです。
ちなみに通常の404エラーと違う部分は、200のステータスコードを返してしまう点です。
送信されたURLはソフト404エラーのようです の原因
先ほどもお話ししましたが、このエラーはサイトマップによって送信されたURLであるにもかかわらず、対象ページが404ページだと考えられる場合に表示されるエラーです。
ソフト404とは、ステータスコードが200を返している(正常)にもかかわらず、404エラーページのような見た目であるとGoogleから判断されたページのことです。
コンテンツがないと判断されていますので、このようなページはインデックスされていません。
コンテンツを自動生成するサイトでよく起こる
データベースと連動してページを自動的に生成するタイプのサイトでは、プログラムの設定ミスでソフト404エラーがよく起こります。
ECサイト構築時に404を返す仕組みを自前で作っておかなければいけませんが、プログラムの設定ミスや設定漏れなどでステータスコード200を返してしまいがちです。
.htaccessの記述ミス
正しくステータスコード404を返す記述が下記になります。
ErrorDocument 404 /404error.html
しかし、誤って下記のように絶対パスを記述するとリダイレクトされてしまい404を返さなくなってしまいます。
ErrorDocument 404 http://***.com/404error.html
.htaccessのErrorDocumentを使って404時に任意のエラーページを表示させたい場合は、相対パスを使わなければいけません。
誤例のように絶対パスを記述するとリダイレクトされてしまい、404を返さないので注意してください。
その他の原因
Search Consoleヘルプによる説明の中でこのようなことも書いてありました。
例えば、記事中の画像サイズが非常に大きいことで、このページをGoogleのクローラーが巡回したときに、実際にはコンテンツが存在しているけど画像サイズが大きくて読み込みに時間がかかり、
その結果「コンテンツが存在しない」と認識されてしまった。ということが考えられます。
ソフト404エラーの何が悪いのか?
ソフト404エラーによって、ブラウザでの見た目(デザイン)は404エラーページが表示されていても、HTTPステータスコードで200が返されます。
SEOの観点から大きなエラーにはならないものの、悪い意味で正常なページとしてクローラーに処理されるので、クロールの浪費に繋がります。
結果的に、クローラビリティが悪くなってインデックスが促進されないので、そういった間接的な部分ではSEOへの影響も考えられます。
ソフト404エラーの改善方法
自動的に生成するタイプのサイトでは「PHP」の設定で調整も可能なのですが、バックエンドの知識に自信がない方はサイトの製作者様側と相談をして、連携を図ってください。
一応参考にさせていただいたコードも記述しておきます。
PHPでは、 header関数 を用いてステータスコード404を返すことができます。
PHPファイルの先頭に、以下の一文を入れます。
header(“HTTP/1.1 404 Not Found”);
PHPの記述について詳しくはこちらのサイト様をご参照ください
ソフト404エラーとは?HTTPステータスコード200エラーの発生原因と対策について
運用している方側でできる改善方法
title
ErrorDocument 404 /404.html
のコードを記述して、そのファイルをサーバーにアップロードします。
そうすれば、存在しないURLにアクセスしたときに、404.html(404エラーページ)を表示して、HTTPステータスコードで404を返す(GoogleにNot Found「未検出」「見つかりません」と伝える)ことができるので、ソフト404エラーが無くなります。
が主になるかと思います。
まとめ
「ソフト404エラー」について解説してきました。
最後に重要な点をまとめてもう一度まとめておきましょう。
ソフト404はそこまで重大なエラーではありませんので、もしGoogleのSearch Consoleのエラーレポートで報告されていても、対処する優先度は低くなりやすいです。
ですが、いつもお話していますが、エラーが出ている状態は決して良い状態ではないので、少しづつ確実に対応していきましょう。
わからない点はお気軽にご相談ください
急に警告メールが届いて不安に思った方もいらっしゃると思います。
この記事が多少なりとも、お役に立てばと思います。
記事を読んで不明な点等がありましたらお気軽にTwitter(@kaznak_com)などでご質問ください。
では失礼します。