送信されたURLはソフト404エラーのようです のエラー原因と改善方法

Google Search Consoleを利用していると、「『インデックス カバレッジ』の問題が新たに検出されました」というメールが届くことがあります。

今回は「送信されたURLはソフト404エラーのようです」というエラー原因と改善方法について解説していきます。

インデックスカバレッジについてはこちらも参照して下さい

ソフト404エラーとは?

ソフト 404 とは
ソフト 404 とは、ページが存在しないことをユーザーに伝えるページを表示するだけでなく、200 レベル(成功)のコードも返す URL です。場合によっては、コンテンツがほとんどまたはまったくないページ(コンテンツがまばらに表示されるページや空白のページ)もこれに該当します。

このエラーが推奨されない理由
404 や 410(未検出)または 301(移動した)といったコードではなく、成功コードを返すことは避けてください。成功コードは、その URL に実際のページが存在することを検索エンジンに知らせます。その結果、該当ページが検索結果に表示され、検索エンジンは実際のページをクロールする手間を避けて、実体のない URL を引き続きクロールしようとします。

Google公式のヘルプページより

簡単にいうと、
そのURLに実際にはコンテンツが存在しないのに、存在している事になっているということです。

ちなみに通常の404エラーと違う部分は、200のステータスコードを返してしまう点です。

送信されたURLはソフト404エラーのようです の原因

先ほどもお話ししましたが、このエラーはサイトマップによって送信されたURLであるにもかかわらず、対象ページが404ページだと考えられる場合に表示されるエラーです。
ソフト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を返さないので注意してください。

その他の原因

  • 読み込むことができないリソースを多く参照している可能性がある
  • このような状態は、ソフト 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の記述について詳しくはこちらのサイト様をご参照ください

    運用している方側でできる改善方法

  • .htaccessファイルに、
    title
    ErrorDocument 404 /404.html

    のコードを記述して、そのファイルをサーバーにアップロードします。
    そうすれば、存在しないURLにアクセスしたときに、404.html(404エラーページ)を表示して、HTTPステータスコードで404を返す(GoogleにNot Found「未検出」「見つかりません」と伝える)ことができるので、ソフト404エラーが無くなります。

  • 該当ページの画像ファイルを確認してあまりに、サイズが大きいものは調整する
  • が主になるかと思います。

    まとめ

    「ソフト404エラー」について解説してきました。
    最後に重要な点をまとめてもう一度まとめておきましょう。

  • ソフト404はページコンテンツが存在しないのに、ステータスコードが200などになっている状態
  • SEOに大きな影響はない
  • しかし、クロール効率が落ちることで間接的に検索順位を下げてしまう可能性もある
  • Search Consoleでソフト404エラーを調べられる
  • ソフト404はそこまで重大なエラーではありませんので、もしGoogleのSearch Consoleのエラーレポートで報告されていても、対処する優先度は低くなりやすいです。
    ですが、いつもお話していますが、エラーが出ている状態は決して良い状態ではないので、少しづつ確実に対応していきましょう。

    わからない点はお気軽にご相談ください

    急に警告メールが届いて不安に思った方もいらっしゃると思います。

    この記事が多少なりとも、お役に立てばと思います。
    記事を読んで不明な点等がありましたらお気軽にTwitter(@kaznak_com)などでご質問ください。

    では失礼します。

    中村 一浩
    中村 一浩
    株式会社ココログラフ代表。SEO歴12年、対策実績900サイト以上。検索エンジンだけでなく検索ユーザーにまで最適化する、SEOの上位互換サービスSUOを提供。SEO / SUOの独自レポートツール、サチコレポート開発者。著書『現場のプロが教えるSEOの最新常識』
    中村 一浩
    中村 一浩
    株式会社ココログラフ代表。SEO歴12年、対策実績900サイト以上。検索エンジンだけでなく検索ユーザーにまで最適化する、SEOの上位互換サービスSUOを提供。SEO / SUOの独自レポートツール、サチコレポート開発者。著書『現場のプロが教えるSEOの最新常識』