ソフト404がSEOに与える影響とは?8つの原因別に対処法を解説
2022.12.09
ソフト404エラーはSEOにどの程度影響するのでしょうか?中には「ソフト404エラーって404エラーのことでしょ!」と誤解されている方も多いようです。そこで今回は、ソフト404エラーとSEOの関係を踏まえたうえで、表示される8つの原因と対策方法をご紹介します。
ソフト404エラーとはどんな状態?
ソフト404エラーとは、一体どのような状態を指しているのでしょうか?この疑問に対して端的な答えを提示しているのが、Google検索セントラルに掲載されている定義です。
ソフト404 とは、URL にアクセスしたときに、ページが存在しないことと 200 (success) のステータス コードをユーザーに伝えるページを返す URL のことを指します。場合によっては、メイン コンテンツのないページや空白のページなどもこれに該当します。
引用:Google検索セントラル
つまり、ソフト404には下記の矛盾点があり、「ユーザーに明示している内容」と「ステータスコード」が一致していない不自然な状態なのです。
ソフト404の矛盾点
- ユーザーに明示している内容:このページは存在していない(Not Found)
- サーバーが返すステータスコード:404(Not Found)ではなく、200(成功)になっている
「ソフト404」と「404」の違いとは?
名称が似ているため、「同じでは?」と思われている方も多いのではないでしょうか。そこで、「ソフト404」と「404」を2つの項目で比較してみました。
|
コンテンツの状態 |
ステータスコード |
ソフト404エラー |
存在しない |
200(成功) |
通常の404エラー |
存在しない |
404(Not Found) |
上記の通り、ソフト404エラーと通常の404エラーは基本的に同じ症状ではあるものの、HTTPステータスコード(レスポンスコード)だけが異なっています。つまり、通常の404エラーはコンテンツの状態とステータスコードが一致していますが、ソフト404エラーは食い違いが発生しているのです。
関連記事
Googleジョン・ミューラー氏の見解
結論から言うと、ソフト404エラーと通常の404エラーに大きな違いはありません。その根拠になっているのが、下記のツイートです。
https://twitter.com/JohnMu/status/1541363270937989120
まずは、ユーザーから寄せられたソフト404エラーに関する意見を要約してみましょう。
ユーザーからの質問
- 優良リンクにクロールを試す3つのテスト結果に限り、2つのことが言える
- Google はソフト404だと判断されたのに200(成功)のステータスコードを返すページのリンクをクロールしない
- これは、ソフト404がランキングだけでなく、内部リンクにも影響を与えないことを意味している
上記の主張に対し、Googleのジョン・ミューラー(John Mueller)氏は下記のように回答しています。
ジョン・ミューラー氏の回答
- ソフト404は、基本的には404だ
- ソフト404は、crypto404(クリプト404)とも呼ばれている
ソフト404はSEOに悪影響を与えるか?
2010年の段階ではソフト404によるクローラーへの悪影響が示唆されていましたが、2022年時点ではSEO上の悪影響はありません。前述した通り、Googleはソフト404を実質的に通常の404と同じように処理していますので、下記のような理由から検索上は無視されているのが実情です。
ソフト404がSEOに悪影響を与えない理由
- 内部・外部を問わず、そのページ上の全リンクはクロール対象外なので、URLの発見に役立たない
- 基本的にインデックスされない
- ランキングの評価対象にならない
とはいえ、「SEO上の悪影響はない=正常な状態」という訳ではありません。ネット上に存在しないページに対して404(Not Found)ではなく200(成功)というステータスコードが返されてしまうと、クローラーを混乱させてしまいます。
その結果、最終的に「このURLは対象外」と判断するまで、クローラーは本来であれば必要のない無駄なクロールを続けてしまうのです。クローラーに余計な負荷がかかる分、クロールの効率が悪くなったりインデックスが滞ったりと、間接的にSEO効果を阻害するリスクが高まります。
わずか数件ほどなら放置しても大勢に影響はありませんが、大量に発生している場合はソフト404を解消するための対策を講じるべきでしょう。
ソフト404のエラーページを確認する方法
自サイト内にソフト404が存在しているかどうかは、グーグル・サーチ・コンソール(Google Search Console)のカバレッジで確認することができます。
確認方法と手順
- 確認したいサイトのURLで、サーチコンソールにログインをする
- 管理画面のナビゲーションメニューを開く
- 「インデックスカバレッジ」をクリックする
- 右上にある「除外」をクリックする
- 詳細部分に「ソフト404」という項目が表示される
- 「ソフト404」をクリックする
- 該当するURLが一覧表示される
サーチコンソールでソフト404エラーに該当するURLを見つけたら、対策を講じる前に下記の2点について明らかにしておきましょう。
ソフト404を解決する下準備
- 何が原因なのか?
- そのコンテンツは、インデックスさせる必要があるのか?
関連記事
ソフト404エラーの対処法を原因別に解説
ここからは、ソフト404エラーが表示される8つの原因と対策についてご紹介します。原因ごとに適切な対処法が違いますので、下記の一覧表を参考にしてください。
原 因 |
対処法 |
ページが存在していない/意味をなさないページ |
noindex設定を行う |
ステータスコードを変更する |
「.htaccess」の記述ミス |
「.htaccess」の記述を修正する |
新ページに移動している |
301リダイレクトを設定する |
正規ページ以外が対象になっている |
canonical設定を行う |
Googleの誤判定 |
誤判定の要素を削除する |
ページが読み込まれていない |
読み込みを改善する |
コンテンツの質や量に問題がある |
コンテンツを改善する |
プログラムによる自動生成 |
PHPファイルを修正する |
なお、修正後は前述した手順を参考に、サーチコンソール上でソフト404が解消されているかどうかを確認してみましょう。
ページが存在していない/意味をなさないページ
最もありがちなのが、そもそも404設定がされていないケースです。本来であれば404のHTTPステータスコードを返すべきなのに、異なるステータスコードになっているとソフト404エラーが発生してしまいます。
該当するケース
- コンテンツそのものが削除済みで存在していない
- 以前使用していたカテゴリーページ
- 廃版になった商品ページ
- 終了したキャンペーンページ
- メインの情報が削除されている、意味をなさない低品質ページ
noindex設定を行う
そもそも、存在していないページがインデックスされているのが、ソフト404エラーの根本的な原因です。インデックスが解除されるよう、下記の記述例を参考にしながら該当ページにnoindex設定を行いましょう。
<meta name=”robots” content=”noindex”/>
ソースコードを記述する箇所は、headセクション(HTMLファイルの<head>~</head>内)が適切です。
関連記事
ステータスコードを変更する
ページ自体が存在していない、またはページはあるがコンテンツの内容が薄くて意味をなしていない場合は、適切なHTTPステータスコードに変更することでソフト404エラーを解決することができます。変更後は、「このページは存在しないんだな!」と検索エンジンが正しく認識してくれるようになるのです。
ステータスコードのベストプラクティス
- ページ未検出を示す「404 Not Found」
- 消滅ページを示す「410 Gone」
WordPressなどのCMSであれば、自動でHTTPステータスコードを変更することができます。一方、手動で変更する場合は「.htaccess」を使用するのが一般的です。ソースコードの具体例は、後述する「.htaccessの記述を修正する」にてご紹介していますので参考にしてください。
「.htaccess」の記述ミス
「.htaccess」の記述ミスも、ソフト404エラーが発生する理由の一つです。ポイントは、ソースコードに「絶対パス」の誤入力をしているかどうか。
誤ってソースコードに「絶対パス」を記載していると、かなりの確率で200番台のステータスコードに変換されてリダイレクトされてしまうため、404で返ってこないのです。
関連記事
「.htaccess」の記述を修正する
「.htaccess」を使って404のHTTPステータスコードを設定する時のソースコードは、下記の通りです。
正しい記述例(相対パス)
ErrorDocument 404 /404error.html
誤った記述例(絶対パス)
ErrorDocument 404 https://example.com/404.html
絶対パスは絶対URLとも呼ばれており、誤った記述例の「https://example.com/404.html」が該当します。正確に404ステータスコードで返ってくるようにするには、「絶対パス」ではなく「相対パス」を使いましょう。
関連記事
新しいページに移動している
すでに新しいページに移動済みなのに、古いURLを放置しているのもソフト404エラーの原因です。
該当ケース
- コンテンツの差し替え
- ドメインの変更
- サイト名の変更
- サイトリニューアル
301リダイレクトを設定する
新コンテンツに移動済みのページでソフト404エラーが発生した時は、「古いURL」から「新しいURL」へ301リダイレクトを設定するのが最も効果的な対策です。古いページを復活させる予定がなければ、302ではなく301リダイレクトを設定した方が良いでしょう。
リダイレクトの一例
- 301リダイレクト:恒久的な移動
- 302リダイレクト:一時的な移動
301リダイレクトのソースコードには、様々なパターンがあります。ソースコードの記述例については、下記の記事を参照してください。
関連記事
正規ページ以外が対象になっている
ソフト404エラーの対象コンテンツとは別に、正規ページが存在している場合も対策が必要です。
該当ケース
- 内容は同じだがデスクトップ用とモバイル用でURLを使い分けている
- 「http」と「https」の両方で同じページにアクセスできる
- 「www.あり」と「www.なし」の両方で同じページにアクセスできる
- 「index.htmlあり」と「index.htmlなし」の両方で同じページにアクセスできる
上記のようなケースは「canonical」または「301リダイレクト」を設定してURLの正規化を行うことで、ソフト404エラーを解決することができます。
関連記事
canonical設定を行う
ソフト404エラーを解除するには、Googleの検索エンジンに対して「別の正規ページが存在している」と明示してインデックスしてもらう必要があります。今現在ソフト404エラーが発生しているコンテンツの<head>タグ内に、下記のソースコードを追加しましょう。
<link rel=”canonical” href=”正規ページURL”>
関連記事
プログラムによる自動生成
ソフト404エラーの表示で特に多いのが、プログラムによって自動生成されるケースです。「気づいたら大量に発生していた!」という大規模サイトも珍しくありません。中でも動的ページが自動生成される際、データベースに情報がないと「見つかりません」というページが生成される傾向が見られます。
PHPファイルを修正する
PHPでステータスコード404を返すには、「header関数」を用いるのが一般的です。
PHPファイルに入れる「header関数」
header(“HTTP/1.1 404 Not Found”);
404ページのソースコードは、上記の「header関数」をPHPファイルの2行目に記載します。
404ページのソースコード
<?php
header(“HTTP/1.1 404 Not Found”);
?>
<html>
<head>
<title>Page Not Found</title>
</head>
<body>
<?php
$error_message='<h1>ページが見つかりませんでした</h1>’;
echo $error_message;
?>
</body>
</html>
関連記事
Googleの誤判定
意外と多いのが、Googleの誤判定です。以前はコンテンツ量が多いほど誤判定の可能性は低いと言われていましたが、必ずしもそうとは限りません。
たとえコンテンツの品質やボリュームに問題がないコンテンツでも、Googleから誤判定されてソフト404エラーが表示されるケースも報告されているのです。
誤判定の要素を削除する
誤判定の要素はいくつかありますが、中でも特に可能性が高いのが下記のような「テキストを使った協調表示」です。
削除すべき誤判定要素
- 「見つかりませんでした」
- 「存在しません」
- 「Not Found」
- 「Error」
上記以外でGoogleの誤判定を招きやすい要素として、「エラーページの要素と同じフォントやレイアウト」が挙げられます。
ページが読み込まれていない
コンテンツは「JavaScript」や「HTML」、「CSS」などさまざまな要素で構成されています。クローラーがこれらの膨大な情報を正確に収集できなければ、検索結果に正しく表示させることはできません。
特に「JavaScript」を活用しているコンテンツは、コードの記述にわずかな誤りがあるだけでページ全体が読み込めず、ソフト404エラーになることもあるのです。
読み込みを改善する
まずは、なぜコンテンツが読み込まれないのか、原因を突き止めなければなりません。最も疑わしいのは「表示速度」に負荷がかかっているケースです。表示速度の調査には、サーチコンソールの「URL検査」または「PageSpeed Insights」が適しています。
さらに、JavaScriptの不具合もサーチコンソールのURL検査ツールで調査することが可能です。下記の問題点が発生していないか、「URL検査」または「公開URLのテスト」の調査結果で確認してみましょう。
チェックポイント
- リソースが「robots.txt」でブロックされて読み込めない
- リソースが多すぎる、または大きすぎて読み込み作業に時間がかかっている
- ツールに表示されるスクリーンショットに、特定のコンテンツが表示されない
関連記事
コンテンツの質や量に問題がある
品質が低い、または情報量が少ないコンテンツは上位化され難いだけでなく、ソフト404エラーになる傾向が見られます。
情報量が極端に少ないと、重複コンテンツやコピーコンテンツと見なされる可能性が高く、場合によっては「インデックスする価値がない」と判断されることも珍しくありません。
関連記事
コンテンツを改善する
下記の手法はソフト404エラーの解消に繋がるのはもちろん、上位表示を後押しするSEO対策にもなります。
「品質」の改善方法
- E-A-T(専門性・権威性・信頼性)を備える
- 引用など、アウトバウンドリンク(OBL)を増やす
- 著者情報を掲載する
「情報量」の改善方法
- 上位サイトの平均文字数を下回らないようにする
- 鮮度の高い直近情報を追加するなど、頻繁に更新する
- 競合サイトにあって、自サイトにない情報を追加する
関連記事
対象記事をインデックスさせたくない時の対処法
ソフト404エラーが表示されているが、そもそも「インデックス登録させたくない!」というページもあるでしょう。たとえは、下記のようなコンテンツをインデックス登録させると、Webサイト自体の評価が低下してしまいます。
インデックス登録が必要ないケース
- ページが存在していない
- 意味をなしていない内容の薄いページ
インデックスさせずにソフト404エラーだけを解決する方法は、「noindex設定」と「ステータスコードを404に変更」の2種類です。手順は2段階に分かれていますが、XMLサイトマップを登録していない場合はステップ1だけで問題ありません。
対策のプロセス
- noindex設定、またはステータスコードを404に変更する
- XMLサイトマップから、対象ページの記載を削除する
まとめ
ソフト404エラーがSEOに与える影響は限定的です。たとえ放置していても、検索順位が下がったりGoogleからペナルティを受けたりするリスクはありません。
とはいえ、本来ステータスコードが404であるべき存在しないページに対して200(成功)が返ってくるのですから、正常な状態と言えないのも事実。クローラーへの負荷を避けるには、原因別の対処法を講じて解決しておきましょう。
関連