ホーム›ROUTING / SEO

404 Not Foundが増えた時の直し方|移行・SEO・soft 404

404は単発なら正常な応答ですが、移行・デプロイ直後に増えた場合は検索流入や購入導線を失います。流入元、旧URL、ルーティング、実際のHTTP statusを確認し、復元・関連先への転送・404/410維持を選びます。

先に結論

404は単発なら正常な応答ですが、移行・デプロイ直後に増えた場合は検索流入や購入導線を失います。流入元、旧URL、ルーティング、実際のHTTP statusを確認し、復元・関連先への転送・404/410維持を選びます。

404のURLと流入元を固定する

  1. 404 URL、発生時刻、Referer、検索クエリ、端末、実際のHTTP statusを保存する。
  2. アクセスログとSearch Consoleで、件数・クリック・被リンクが多いURLを優先する。
  3. 直前のURL変更、CMS移行、デプロイ、ルーティング、大小文字、末尾スラッシュを確認する。
  4. 内部リンク、sitemap、canonical、外部被リンクの旧URLを区別する。
  5. 代替内容が同等かを確認し、復元・1対1転送・404/410維持を選ぶ。
結論:重要な旧URLに同等の移行先があれば1対1で転送し、誤った内部リンクとsitemapを修正します。代替がなければ無関係なトップへ飛ばさず404または410を返します。

URLごとに対応を選ぶ

状態推奨対応確認
デプロイ漏れ・一時欠落正規ページを復元release artifact、route、権限、CDN purge
同等ページへ恒久移行301/308で1対1転送転送先200、loopなし、canonical一致
削除・代替なし404または410内部リンク・sitemapから除外
大量の架空URL404維持bot、脆弱性探索、ログ容量、WAF
本文はNot Found・status 200404/410へ修正soft 404、キャッシュ、SSR fallback
アクセス拒否が目的404へ偽装せず設計確認403・認証・WAFを確認

soft 404を見逃さない

正常なテンプレートで「該当なし」を表示し、HTTP 200を返すと、検索エンジンはsoft 404として扱う場合があります。ブラウザ表示だけでなく、レスポンスstatus、canonical、robots、本文、構造化データを確認します。空の商品一覧や検索結果ゼロをすべて404にせず、ページの目的と再利用性で設計します。

移行時は旧新URL表を正本にする

  1. アクセス・被リンク・検索クリックのある旧URLを一覧化する。
  2. 同等内容の新URLを1対1で対応させる。
  3. 内部リンク、canonical、hreflang、sitemapを新URLへ統一する。
  4. 転送チェーンとループを検査し、旧URL→最終200を一段にする。
  5. 公開後は404件数、Googlebot、主要ランディングのクリックを継続監視する。

避ける操作

  • すべての404をトップページへ一括転送する。
  • 見つからないページにHTTP 200を返してsoft 404を増やす。
  • 旧URLをsitemapへ残したまま、新URLも重複登録する。
  • 大文字小文字・末尾スラッシュ・パラメータ差を無制限に別URL化する。
  • アクセスログを確認せず、検索流入のあるページを削除する。

公式情報

よくある質問

404はすべて301リダイレクトすべきですか?

いいえ。代替ページが明確な時だけ関連先へ301または308を検討します。無関係なトップへ一括転送すると、利用者を迷わせ、Googleにはsoft 404として扱われる可能性があります。

存在しないページは404と410のどちらですか?

一時的な欠落や不明なURLは404、意図的に削除して戻さないことが明確なら410が候補です。重要URLの移行では、代替URL、被リンク、内部リンク、sitemapを先に確認します。

見た目は404なのにHTTP 200です

本文で『見つかりません』と表示しながら200を返すsoft 404候補です。存在しないURLには実際の404または410を返し、正常ページだけ200にします。