2018.11.12SEO記事一覧

ソフト404とは?Search Consoleに通知がきた際の対処法

  • このエントリーをはてなブックマークに追加

「ソフト404」は、通常の404ページとは違ってなかなか気づきにくいエラーです。SEOにほとんど影響を与えないとされますが、サイトの重大なバグの兆候になることもあります。

そこで今回は、ソフト404がSEOに与える影響や、ソフト404の調査方法などについてご紹介します。

ソフト404エラーとは?

ソフト404エラーとは、コンテンツが存在しないページにも関わらず、何らかの原因でサーバーが返すステータスコードが404に「なっていない」状態です。

ソフト404の場合でも下記のように通常のエラーページが表示されます。

しかし、ステータスコードをチェックすると404ではなく、200とリクエストが正しく承認された内容が返信されます。つまり、存在しないページが検索エンジンからは存在していると認識されているのです。

本来コンテンツが存在しないページは404のステータスコードを返すべきです。クローラーはサーバーが返すステータスコードを信用して、そのページにコンテンツがあるかどうかを判断します。

しかし、実質的にコンテンツが存在しないのに、ステータスコード上はコンテンツがあるかのように見えているため、検索エンジンはソフト404ページに対してどのように処理をすればいいのか戸惑ってしまいます。

ソフト404ページはブラウザでサイトを閲覧しているユーザーに対してあまり実害はありませんが、Googleなどの検索エンジンのクローラーを惑わせてしまう原因となってしまいます。SEOにはあまり悪影響を与えないため放置されがちなエラーです。

しかし、存在しないページのクロールすることになり、存在している重要なページのクロールが遅くなったり、頻度を下げることになりますので、サイトへ悪影響が出る可能性もありますので注意する必要があります。

ソフト404と404の違いとは?

通常の404エラーとの違いをまとめておきましょう。

ソフト404 通常の404
コンテンツ 存在しない 存在しない
ステータスコード 200など 400

コンテンツが存在しない点はどちらも同じですが、返すステータスコードを間違えてしまっているのがソフト404エラーとなります。

通常の404についてはこちらの記事を参考にしてください。

ソフト404が表示される原因は?

ソフト404エラーが発生する原因はさまざまです。

コンテンツを自動生成するサイトでよく起こる

データベースと連動してページを自動的に生成するタイプのサイトでは、プログラムの設定ミスでソフト404エラーが起こりがちです。

ECサイトを例にあげてみましょう。ECサイトでは以下のようなURLで商品ページを生成することが多いです。

http://****/item/(ここに商品ID)

例えば商品IDが1の場合は以下のようになります。

http://****/item/1

もし存在しない商品IDである20にアクセスするとどうなるでしょうか?URLはこのようになります。

http://****/item/20

商品IDが20のページは存在しないため、ユーザーに対して「その商品ページは存在しません」などと表示する場合が多いです。
実質的に404だからといって以下のようにブラウザ標準の404ページを表示してしまうと、ユーザーに対して不親切だからです。

404エラーページ

ソフト404ページは、この「親切心」が仇(アダ)になって起こってしまいがちです。

存在しない商品ページは実質的に404なので、ステータスコードも404を返さなければいけません。ECサイト構築時に404を返す仕組みを自前で作っておかなければいけませんが、プログラムの設定ミスや設定漏れなどでステータスコード200を返してしまいがちです。

このような原因で「実質的には404なのに、ステータスコードは200を返してしまう」というソフト404エラーが起こってしまうのです。

.htaccessの記述ミス

.htaccessの記述ミスでもソフト404は起こります。

.htaccessの記述例

正しくステータスコード404を返す記述が下記になります。

ErrorDocument 404 /404error.html

しかし、誤って下記のように絶対パスを記述するとリダイレクトされてしまい404を返さなくなってしまいます。

ErrorDocument 404 http://***.com/404error.html

.htaccessのErrorDocumentを使って404時に任意のエラーページを表示させたい場合は、相対パスを使わなければいけません。誤例のように絶対パスを記述するとリダイレクトされてしまい、404を返しません。

SEOにおいて大きな影響はあるの?

先ほどのご説明しましたが、ソフト404エラーはSEOにほとんど悪影響はありません。

その根拠としてGoogleのジョン・ミューラー氏の発言があげられます。GoogleのSearch Consoleにソフト404エラーのレポート機能が追加された2010年当時の公式フォーラムで、以下のように述べています。

(ユーザーの「ソフト404エラーはSEO上ペナルティの対象か?」という質問に対し)

  • ソフト404エラーでペナルティは与えない
  • ただしクローラーの効率が悪くなる
  • できれば無くしてほしいが、致命的なエラーではないので焦る必要はない

このように答えていることから、SEOにおいて悪影響はほとんど無いと考えられます。

ただし改善した方がいいのは間違いない

だからといってソフト404エラーを放置していいわけではありません。
Googleのジョン・ミューラー氏「クローラーの効率が悪くなる」という発言をもう少し具体的に噛み砕いてみましょう。

  • ソフト404エラーのせいで、クローラーの効率は悪くなる
  • 新規コンテンツや既存ページの更新をGoogleが認識しづらくなる

人間が画面を見れば明らかにコンテンツが存在しないとわかるソフト404ページですが、Googleのような検索エンジンクローラーはどのように処理をすればいいのか迷ってしまいがちです。

そのため、サイト全体のクロール効率が落ち、新規コンテンツや更新ページのインデックス反映などが遅くなってしまうとジョン・ミューラー氏は述べているのです。これが原因でサイトの検索順位に何らかのマイナスの影響を与えてしまう可能性は、ゼロではありません。

まとめると以下のようになります。

  • ソフト404があるからといってGoogleはペナルティを与えない
  • しかし、クロール効率が落ちることによって間接的な順位ダウンにつながる可能性はある

ソフト404はサイト上の重大なバグの兆候となることもある

SEO上はあまり悪影響がないとされるソフト404エラーですが、重大なバグの兆候となっていることがあるので注意が必要です。

コンテンツが存在しないページに対し、プログラムがステータスコード200を返してしまっているということは、逆の可能性もありえます。つまり、「コンテンツが存在するにも関わらず、ステータスコード404を返してしまっている」という状態です。

これは重大なバグであり、SEOにも大きな悪影響を与える可能性が高いです。

もっともありがちなケースとして、プログラムの改修時にステータスコードの404と200を逆にプログラミングしてしまう場合があげられます。

例えば、改修前は問題なく下記のように入力していたとします。

コンテンツが存在するページ ステータスコードが200
コンテンツが存在しないページ ステータスコードが404

しかし、改修後に記述ミスで逆になってしまうケースがあります。

コンテンツが存在するページ ステータスコードが404
コンテンツが存在しないページ ステータスコードが200

もしソフト404エラーが急増している場合は、上記のようにコンテンツが存在するページに404を返してしまっているという最悪のケースも想定されるので注意してください。

ソフト404の調べ方と改善方法

ソフト404エラーを防ぐにはどうすればいいでしょうか?

  1. 実際にソフト404エラーが起きているページを知る
  2. ソフト404エラーの原因を探り、除去

この2ステップでソフト404エラーは完全に無くすことができます。まずはソフト404エラーが発生していることを検知しましょう。

実際にソフト404エラーが起きているページを知る

GoogleのSearch Consoleを使いましょう。

ソフト404エラーはブラウザではなかなか気づきづらいです。常にブラウザ上でステータスコードを表示している設定にしていても、なかなか目視では気づきにくいものです。

Googleが提供しているSearch Console(旧ウェブマスターツール)ではクローラーが遭遇したさまざまなエラーをレポートしてくれる機能があり、その中にソフト404エラーも含まれています。

Search Consoleには現在新しいバージョンと古いバージョンが存在しますので、それぞれのソフト404エラーの報告画面を確認しておきましょう。

新しいバージョンSearch Consoleでは、インデックス、対象範囲、除外の順番でクリックすると下記のような画面が表示されます。

新しいSearch Consoleでソフト404を確認する方法

一方で、以前のバージョンSearch Consoleでは、クロール、クロールエラー、URL エラーの順番でクリックすると下記のような画面が表示されます。

旧バージョンのSearch Consoleでソフト404を確認する方法

これでクローラーが遭遇したソフト404、通常の404などのエラーレポートを確認することができます。新しいバージョンのSearch Consoleレポートでは以下のような文言が表示されます。

ソフト404 ソフト404エラー
通常の404 見つかりませんでした(404)

Search Consoleにはサイト全体で検出されたソフト404ページが全て記録されており、最新の検出された日時も確認できます。

ソフト404の原因を探り、削除

どのページがソフト404になっているのかSearch Consoleで確認できたら、次は原因を探りましょう。多くの場合はプログラム上のミスによって、本来ステータスコード404を返すべきところで200を返してしまっています。

その他にもApache/Nginxなどのサーバーソフトの設定ミスや、.htaccessの記述ミスなどの原因が考えられます。WordPressなどでソフト404エラーが出ている場合は、WordPressの本体よりもプラグインによるバグなどの可能性があります。

考えられる原因を丁寧に1つずつ潰し、削除していくようにしてください。

おわりに

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

  • ソフト404はページコンテンツが存在しないのに、ステータスコードが200などになっている状態
  • SEOにほとんど悪影響はない
  • しかし、クロール効率が落ちることで間接的に検索順位を下げてしまう可能性はゼロではない
  • Search Consoleでソフト404エラーを調べられる

ソフト404はそこまで重大なエラーではありませんので、もしGoogleのSearch Consoleのエラーレポートで報告されていても、対処する優先度は低くなります。

しかし、ソフト404はサイト上の重大なバグの兆候となっていることはあります。もしエラーが確認されたら社内のエンジニア等に報告し、必ず原因を探るようにしましょう。

 

  • このエントリーをはてなブックマークに追加
The following two tabs change content below.
digital-marketing

digital-marketing

デジタルマーケティング研究所では、デジタルマーケティングの施策・広告・技術を、分析・実装・検証して、WEB担当者・マーケティング担当者の方の役立つ情報を発信していきます。