Search Consoleの「ソフト404」とは?
Search Consoleのページのインデックス登録で、「ソフト404」と表示されることがあります。これは、サーバー上は正常なページとして返っているのに、Googleから見ると「実質的に見つからないページ」に近いと判断されている状態です。
公開したい記事で出ているなら、本文が空に近い、エラーメッセージだけになっている、テンプレートだけ表示されているなどの原因を確認します。削除済みページなら、無理に200表示やトップページ転送をせず、正しい404または410を返す判断が必要です。
先に結論
ソフト404が出たら、次の順番で確認します。
- そのURLを今後も検索結果に出したいか判断する
- ブラウザとURL検査で現在の表示を確認する
- HTTPステータスが200、301、404、410のどれか見る
- 本文が空、エラー文だけ、一覧ゼロ件だけになっていないか確認する
- 削除済みなら404または410、移動済みなら関連する新URLへ301にする
- サイトマップや内部リンクに削除済みURLが残っていないか直す
- 修正後にライブURLテストと数日後のレポート変化を見る
ソフト404になりやすい状態
ソフト404は、単なる404とは違い、サーバーの返答とページの中身がちぐはぐな時に起きやすいです。
| 状態 | なぜ問題になるか | 対応 |
|---|---|---|
| 存在しないページなのに200を返す | Googleには正常ページか削除済みか判断しにくい | 代替がなければ404または410を返す |
| 削除済みURLをトップページへ飛ばす | 元ページと関係が薄い転送になりやすい | 関連する新ページがある時だけ301にする |
| 本文がほぼ空の新規記事 | 取得できても登録する価値が伝わりにくい | 具体的な手順、判断基準、独自情報を足す |
| 検索結果ゼロ件の一覧ページ | 実質的に内容がないページに見える | noindex、canonical、または一覧の改善を検討する |
| PHPエラーやinclude失敗で本文だけ抜ける | 見た目は枠だけ、本文は空になる | PHPエラーログ、共通パーツ、データ取得を確認する |
まず公開したいURLかを分ける
| URLの種類 | 判断 | 次にすること |
|---|---|---|
| 公開したい記事やサービスページ | ソフト404は修正対象 | 本文、HTTPステータス、テンプレート、データ取得を確認する |
| 削除した古いページ | 代替がなければ404または410でよい | サイトマップと内部リンクから外す |
| 移転したページ | 関連する新URLがあるなら301 | トップではなく、内容が近い新ページへ転送する |
| タグ、検索、絞り込み一覧 | 薄い一覧になりやすい | index対象にする価値があるか見直す |
| テストページや下書き | 検索に出す必要がないことが多い | noindex、認証、サイトマップ除外を検討する |
HTTPステータスと中身を一緒に見る
ソフト404では、ステータスコードだけ見ても判断できないことがあります。Google公式情報でも、2xx成功レスポンスであっても、空白ページやエラーメッセージのような中身ならソフト404として扱われる可能性があると説明されています。
- 公開URLをブラウザで開くと本文まで読める
- HTTPステータスが意図した状態になっている
- 「見つかりません」「記事がありません」だけの200ページになっていない
- 本文、画像、見出し、主要リンクがGoogleから見ても出ている
- テンプレートだけ、共通ヘッダーだけ、空の一覧だけになっていない
ロリポップや自作PHPサイトで多い原因
自作PHPサイトでは、ファイル自体は存在していても、includeやDB取得の失敗で本文が抜けることがあります。ブラウザでは枠が見えるため、404より気づきにくいのが厄介です。
| 原因 | 見る場所 |
|---|---|
| 削除済み記事のURLを200のまま残している | 個別記事テンプレート、ルーティング、.htaccess |
| 存在しないslugでも空テンプレートを表示する | DB取得処理、記事がない時の分岐 |
| PHPエラーで本文だけ出ない | PHPエラーログ、include、DB接続、配列の中身 |
| 古いURLをすべてトップへ転送している | .htaccess、リダイレクト設定 |
| サイトマップに削除済みURLが残っている | sitemap.php、DB登録、固定URLリスト |
公開したいページなら直すこと
公開したいURLがソフト404になっている場合は、Googleに「正常な中身があるページ」と分かる状態へ戻します。
- ページタイトル、h1、本文が対象テーマと一致しているか見る
- 本文が短すぎる場合は、確認順、表、具体例、FAQを足す
- PHPやDBから本文が取れていない場合は、エラー原因を直す
- canonicalが別URLを向いていないか確認する
- ハブ記事や関連記事から内部リンクを追加する
- 修正後にライブURLテストで現在の状態を確認する
削除済みページなら直すこと
削除済みで代替ページがないURLは、検索結果に残す必要がありません。Google公式ヘルプでも、削除済みで代替や同等ページがない場合は404を返す考え方が案内されています。
| 削除済みURLの状態 | 対応 |
|---|---|
| 完全に不要で代替がない | 404または410を返す |
| 内容が近い新ページがある | 関連する新URLへ301リダイレクトする |
| サイトマップに残っている | サイトマップから外す |
| 内部リンクが残っている | リンク先を新URLへ直す、またはリンクを削除する |
| 外部リンクだけが残っている | 必要なら関連ページへ案内、不要なら404でよい |
トップページ転送でごまかさない
削除済みURLをすべてトップページへ転送すると、ユーザーは探していた内容へたどり着けません。Googleから見ても、関係の薄い転送は実質的に見つからないページとして扱われることがあります。転送するなら、元ページと内容が近い新URLを選びます。
AIへ相談する時のメモ
ソフト404は、URL、HTTPステータス、画面に見えている本文、削除済みかどうかをまとめると切り分けやすくなります。ログイン情報やSearch Consoleの所有者情報は伏せてください。
Search Consoleで「ソフト404」と表示されています。
対象URL:
このURLは検索結果に出したいですか:
はい / いいえ / 迷っている
Search Consoleの表示:
ライブURLテスト結果:
ブラウザで見た表示:
HTTPステータス:
200 / 301 / 404 / 410 / 500 / 未確認
ページの状態:
公開したいページ / 削除済み / 移転済み / 一覧ページ / 不明
本文は十分にありますか:
はい / いいえ / テンプレートだけ / エラー文だけ
サイトマップに含まれていますか:
あり / なし / 未確認
内部リンクがありますか:
あり / なし / 未確認
確認してほしいこと:
1. 公開したいページとして直すべきか、削除済みとして404または410にすべきか
2. トップページ転送や空ページが原因になっていないか
3. PHPやDB取得の失敗で本文が空になっていないか
4. サイトマップや内部リンクから外すべきURLか
5. 修正後にSearch Consoleで何を確認すべきか