404エラーはどう直す?原因の確認と、案内ページの作り方

Webサイト・SEO · 実務ガイド
404エラーはどう直す?原因の確認と、案内ページの作り方
自社サイトで「ページが見つからない」と表示される管理者・制作担当者向けです。404は、要求したURLの内容をサーバーが見つけられないことを示す応答の番号です。
内容の移動・削除・URL違いを調べ、404案内の完成HTMLをローカルで試します。読後は、画面・HTTP応答・案内リンクを確認した記録を作れます。

この記事でできるようになること
- 404と移転・正常表示を区別できる
- 完成HTMLとローカルサーバーで案内を試せる
- CMS別の条件と復旧準備を確認表に残せる
01 / Webサイト・SEO
404は、そのURLの内容が見つからない応答です
「ページが見つからない」という画面と、サーバーが返す404の番号を分けて確認します。

404 Not Foundは、サーバーが要求された内容を見つけられないことを示すHTTPの応答です。HTTPはブラウザとサーバーが内容をやり取りする仕組みで、200なら成功、301なら永続的な移転などの番号があります。画面に「404」と書くだけでは、サーバーの番号が404になるとは限りません。
架空のサイトで記事を削除した後、古いリンクを開く人がいるとします。削除したページの代わりがないなら、そのURLは見つからないと示し、案内を探すリンクを用意できます。全ての古いURLをホームへ転送すると、読者は探していた内容がどこへ行ったか分からなくなります。
Googleは、200の応答でエラーメッセージなどの内容を返した場合にsoft404と判断することがあると説明しています。404を正常な記事へ見せ掛けることが目的ではありません。存在しないURLには適切な応答と案内を用意し、存在するはずのURLなら原因を調べて直します。
サイト内検索の「0件」は、検索画面は開けたが、その語に合う記事が見つからない状態です。URLの内容が存在しない404とは違います。検索結果ページが正常に表示されているなら、別の語や一覧を案内します。検索0件のすべてを404にしたり、404を「検索0件」と呼んだりしません。番号はNetwork等の実際の応答で確認します。
エラーの出たURLを控え、ブラウザのNetworkでDocumentのStatusを確認してください。
02 / Webサイト・SEO
消えたのか、移動したのか、URLが違うのかを調べます
元のURL・現在の内容・内部のリンクを照合し、復旧、移転、404のどれかを選びます。

急に404が出たときは、先にページの内容を探します。公開状態が下書きへ戻っていないか、URLを変更していないか、静的サイトならファイルが正しい場所にあるかを確認します。URLの大文字・小文字、末尾のスラッシュ、文字の入力違いも比較します。分からないまま新しい転送を重ねると、誤った案内になることがあります。
同じ内容が新しいURLへ移ったなら、旧URLからそのページへの301を検討します。内容を削除し、代わりとなる答えがない場合は、404の案内を使います。あるはずの内容が消えた場合は復旧を検討します。三つをまとめて「エラーだからホームへ飛ばす」と扱わないでください。
管理画面に入る権限がない場合は、無理に設定ファイルを探す必要はありません。旧URL、開いた時刻、期待する内容、現在開けるページ、直前に行った変更を管理担当へ渡します。これは自社ページの管理者向けの方法です。閲覧者として別の会社のサイトで404を見たなら、URLを確認し、その会社の案内から探すことができます。
| 元の状態 | 確認した内容 | 選ぶ対応 |
|---|---|---|
| 記事のURLを変更した | 同じ回答が新URLにある | 旧URLから新URLへの301 |
| 終了した案内を削除した | 代わりの同じ案内はない | 404と案内一覧へのリンク |
| 公開操作後に消えた | 必要な本文が下書きに残る | 公開状態と変更を確認 |
| サイト内リンクだけ違う | 正しいURLでは表示される | リンクの参照先を修正 |
元URLと現在の内容を比較し、復旧・移転・削除・入力違いを記録してください。
03 / Webサイト・SEO
404画面には、理由と探せる場所を置きます
ないことを短く伝え、必要な案内へ戻れるリンクを置きます。

404画面の中心は、大きな数字やおもしろいイラストではなく、探しているページがないことと、次に確認できる場所です。架空例では、ホーム、サービス一覧、記事一覧へ進めるようにします。存在しない検索機能や、使えない問い合わせボタンを見た目のために置かないでください。
次のHTMLは、画面の完成見本です。テキストエディタでUTF-8の404.htmlとして保存し、ブラウザへファイルを開くと、メッセージとリンクの見た目を確認できます。ただしfileで開いた状態にはHTTPの404応答がありません。次の章の試しサーバーで、画面と応答の両方を確かめます。
リンク先はこの例の試しサーバーが返す一覧です。実際のサイトでは存在するURLへ変え、同じサイトの案内を探せるかを確認します。フォーカスの枠が見えるため、Tabキーで移動してどのリンクを選んでいるかも確かめられます。このコードをWordPressの本番テーマにそのまま貼る方法ではありません。
404.htmlをローカルに保存し、見出しと三つのリンクが読めるか確認してください。
この章の根拠:出典1
04 / Webサイト・SEO
ローカルで、404の応答と案内の動きを確かめます
小さな試しサーバーで、存在しないURLに404、一覧には200を返すことを確認します。

ここではPython 3が使えるパソコンに限る学習例を示します。新しい空のフォルダーに404.htmlとserver.pyを置き、ターミナルでそのフォルダーへ移動してpython3 server.pyを実行します。ブラウザでhttp://127.0.0.1:8768/missingを開くと、作成した案内が出ます。127.0.0.1は自分のパソコンを指し、外部に公開するための例ではありません。
Chromeの開発者ツールでNetworkを開き、ページを再読み込みし、missingのDocumentを選びます。Statusが404であることを確認します。案内のリンクから/services/へ進むと、見本の一覧と200が返ります。ターミナルでCtrl+Cを押すと、この試しサーバーを終了できます。既に同じポートを使用している場合は、使っているアプリを止めず、例のポート番号を変更します。
このサーバーは404の画面と応答を理解する最小の例です。WordPress、認証、フォーム、実際のファイル配信は含みません。localで動いたことを本番設定の確認と扱わず、実際の環境へ入れる前にCMSとサーバーの担当へ設定方法を確認してください。
試しサーバーでmissingとservicesの応答を確認し、結果を記録して終了してください。
05 / Webサイト・SEO
本番では、CMSとサーバーに合う設定を選びます
Apacheの静的サイトとWordPressのテーマでは設定場所が違います。現在の環境を確かめて適用します。

Apacheの静的サイトで、ErrorDocumentの設定が許可されている場合は、ErrorDocument 404 /404.htmlのようにローカルの案内を指定できます。外部URLを指定すると転送になる違いがあるため、404の応答を保つ案内では設定を区別します。.htaccessが無視される環境や、NGINX、ホスティングの管理画面では同じ方法を使えません。
WordPressのブロックテーマでは、存在しないページのテンプレートとして404.html、なければindex.htmlという順序があります。クラシックテーマではPHPのテンプレートを使う場合があり、既存テーマやプラグインが案内を作っていることもあります。「404.phpをどこにでも置けばよい」とは扱わず、現在のテーマと管理方法を確認してください。
変更前は設定、テーマ、データベースとファイルの保存を確認します。試し環境で一つの変更を入れ、存在するページの200、存在しないURLの404、案内リンクを確認します。500などサイト全体の不良が出たら、保存した変更前の状態へ戻し、ログと変更箇所を担当へ渡します。パーミッションの変更や本番の管理者権限の追加を、この例から一律に行わないでください。
環境と現在の404案内の場所を担当へ確認し、変更前の保存と戻し方を決めてください。
06 / Webサイト・SEO
まとめ:ないURLの案内と、あるURLの正常表示を確認します
404の原因を分類し、画面・応答・リンク・復旧の条件をそろえます。

確認表には、404になったURLと、同じサイトで正常に読めるURLの両方を残します。404の画面だけが整っても、通常の記事が表示されなくなっていたら設定は完了していません。削除した内容と移転した内容を分け、同じ役割の新URLがある場合だけ転送の検討へ進みます。
ローカル見本で確認できるのは、画面と応答の違い、リンク先の200です。本番では実際のCMS、テーマ、サーバー、キャッシュが関係します。担当へ渡す記録には、設定場所、変更した内容、正常ページと不存在URLの確認結果、戻すための保存を含めます。
例のサイト名とリンクは架空です。実際の案内へ置き換え、重要な内容を読者が探し直せるかを確かめてください。本稿では404の対処と画面作成を扱いました。301の対応表と実装が必要な場合は、移転元と同じ回答を持つ移転先を確かめるところから進みます。
確認表をサイト担当へ渡し、試し環境で正常・不存在の両方を確認してから本番の計画へ進んでください。
仕事の流れから、顧客との接点まで。
一体で見直す、最初の一歩を。


