404 Not Found

404 Not Foundは、リクエストされたURLに現在のリソースがないことを示すHTTPレスポンスです。ユーザーもクローラーも、期待したページを取得できません。

404 Not Foundの意味

本物の404はレスポンスのステータスであり、デザイン上「見つかりません」と表示しているだけのページではありません。関連する後継ページがない場合や、URLがもともと無効だった場合に適切です。訪問者を特定の後継ページへ送るリダイレクトとも、サーバーが成功を返しながらエラーのようなページを表示するソフト404とも異なります。

404 Not Foundの主な入力、チェック、判断の流れを示す図です。

判断の基準と根拠

廃止したURLを対応づけるのは、内容が近く役に立つ後継ページがある場合だけです。ない場合は、本物の404を返し、そのURLへの内部リンクを削除します。存在しないURLをすべてホームページへ送ってはいけません。元のリクエストが解決しにくくなり、ソフト404のシグナルになることもあります。

実践の手順

bash
curl --head https://example.test/retired-page
# Expect: HTTP/... 404, not 200 and not a blanket home-page redirect.

廃止した商品や記事では、旧ページのタイトル、目的、被リンクを、転送先の候補と比較します。リダイレクトが妥当なのは、転送先が実質的に同じニーズに応える場合だけです。そうでなければ404のままにして、行き止まりの経路を作った内部リンクを修正します。

  1. 範囲を絞ったクロールから、内部リンクとレスポンスコードをエクスポートします。
  2. 入力ミスのURL、削除したコンテンツ、明確な後継があるURLに分けます。
  3. 誤って削除したページは復元します。それ以外は、後継ページがある場合に限り、直接のリダイレクトを1つだけ追加します。
  4. カスタム404ページは使いやすくしたうえで、HTTPレスポンスは404のままにします。
  5. 元のリンク元ページを再クロールし、ブラウザーとHTTPクライアントでレスポンスの一部を確認します。

確認方法とよくある誤り

見た目のエラーテンプレートだけでなく、リクエストしたURL自体を確認します。最終的なステータス、リンク元の内部URL、後継ページが本当に同じ検索意図に応えているかを記録します。

きれいなエラーページでも、200を返していればソフト404です。もう1つのよくある誤りは、意図して廃止したURLと内部ナビゲーションのリンク切れを分けないまま、404の件数をそのままサイト全体の品質スコアとして扱うことです。

FAQ

存在しないURLは、すべてホームページへリダイレクトすべきですか?
いいえ。関連する後継ページがある場合に限ってリダイレクトします。ない場合は、本物の404を返し、役立つナビゲーションを用意します。
404のレスポンスは、すべて不具合ですか?
いいえ。無効なURLや廃止したURLでは、404が適切です。そうしたURLへの内部リンクのリンク切れは、別の問題として修正します。