検索をしていたら、画面に表示された404…
見たことのある方も多いのではないでしょうか?
今回は、そんな「404 Not Found」の原因と対処法を解説していきます!
404 Not Foundとは?意味と仕組み
「404 Not Found」とは、Webサーバーが返すHTTPステータスコードのひとつであり、
「指定されたURLのページが存在しない」ことを意味します。
これは、ユーザーのリクエスト(アクセス)自体はサーバーに届いていますが、
「そのパスに該当するコンテンツがサーバー上に存在しない」とサーバーが判断した場合に返されます。
例えば、以下のような場合に発生します。
- 存在しないページをURL直接入力した場合
- 削除されたページへのリンクをクリックした場合
- CMS(WordPressなど)でパーマリンク設定を変更したあと

この「404エラー」は、ユーザー側の入力ミスで起こることもありますが、
運営者の管理不足(削除・移動後のリダイレクト忘れ等)で起きていることも多いです。
HTTPステータスコードの基礎知識
Webの世界では、サーバーがブラウザに返す応答のことを「HTTPステータスコード」といいます。
これは3桁の数字で構成され、通信の結果や状態を表します。
主なカテゴリは以下の5つ
番号 | 種類 | 例 | 意味 |
---|---|---|---|
1xx | 情報 | 100 Continue | リクエスト継続中 |
2xx | 成功 | 200 OK | リクエスト成功 |
3xx | リダイレクト | 301 Moved Permanently | 恒久的に移動 |
4xx | クライアントエラー | 404 Not Found | ユーザーのリクエストに問題あり |
5xx | サーバーエラー | 500 Internal Server Error | サーバー側の問題 |
404エラーが表示される原因一覧
404エラーが発生する代表的なパターンを詳しく見ていきましょう。
これらは開発者・運営者・一般ユーザーすべてに関係します。
URLの入力ミス(スペルミス)
最も単純な原因です。例えば以下のようなミス
https://example.com/contakt
←contact
のスペルミスhttps://example.com/blogs
← 正しくはblog
ページが削除された/非公開設定
コンテンツ管理者が意図的にページを削除したり、WordPressで「非公開」に変更した場合も、URLは生きていても中身が見えないため404になります。
ページ構成やURL構造の変更(パーマリンク変更)
WordPressなどでパーマリンク設定を「デフォルト → カスタム」に変えたあと、
過去記事のURLが変わって404になることがあります。
外部サイトからのリンク切れ
他のWebサイトから自サイトへ貼られていたリンクが、リダイレクトやメンテナンスなしで削除されていた場合。
俗に Link rot と呼ばれる状態です。
動的ページの生成ミス
PHPなどで動的に生成しているページで、GETパラメータやID指定が不正な場合にも、サーバーが404を返します。
サーバー側の設定ミス(.htaccess, nginx)
- Apacheの
.htaccess
設定ミスでルーティングできない - Nginxでtry_filesの設定が不適切
など、Webサーバーの設定次第でも404が起こります。
ユーザー側の対処方法
404エラーが表示されたとき、ユーザーは「壊れてる?」「私のPCのせい?」と不安になります。
しかし、実はユーザーでもできる対処方法がいくつかあります。
対処法一覧
- URLのスペルを確認する
→ 文字の打ち間違いや不要な「/」がないか確認しましょう。 - ページの再読み込みをする(F5キー)
→ 一時的な通信エラーの場合、これで復旧することも。 - 1階層上のURLを試してみる
例)https://example.com/blog/2020/04/abc.html
→https://example.com/blog/2020/
に戻る - サイト内検索で探す
検索窓があれば、目的の情報をキーワードで探してみましょう。 - トップページに戻ってナビゲーションからアクセスする
- キャッシュやCookieの削除(まれに必要)
とくに、動的なサイトやログインが絡む場合に効果的です。
サイト運営者・開発者向けの対策
404が多発している場合、ユーザー体験の悪化・SEO評価の低下などの問題が起こります。
特に以下の対策が重要です。
リダイレクト設定を行う
削除・移動したページがある場合は、適切なページへ301リダイレクトを設定しましょう。
- WordPressなら「Redirection」プラグイン
- Apacheなら
.htaccess
- Nginxなら
rewrite
またはreturn 301
例: Redirect 301 /old-page.html https://example.com/new-page/
カスタム404ページを設置する
404ページが「無機質な英語のエラー表示」だけだと、ユーザーは離脱します。
代わりに以下を含んだオリジナル404ページを用意するのがベストです。
- サイトマップへのリンク
- 人気記事やカテゴリ一覧
- 検索窓
- トップページへの導線
- 遊び心のあるデザインやメッセージ
サーバーログ や Google Search Console で監視する
404がどのURLで発生しているかは以下で確認できます
- サーバーログ(
access.log
など) - Google Search Console → [カバレッジ] レポート
CMSやテーマ側の設定ミスを修正
WordPressではパーマリンク設定やプラグインの競合などが原因になることも。
パーマリンクを再保存すると治ることもあります。
よくあるケース別:404発生事例と対処法
WordPressの場合
- パーマリンク設定を変更 → 古いリンクがすべて404
- 記事をゴミ箱に移動 → 外部リンク先が404に
- プラグインがURL構造を変える → リダイレクト要注意
Apacheの場合(.htaccess)
.htaccess
のミスでルーティング不全- mod_rewrite未設定
Nginxの場合
try_files $uri $uri/ =404;
など設定不備- キャッシュが原因の場合もある
フロントエンドSPA(React, Vueなど)
- クライアントサイドルーティングのため、サーバーがURLを解釈できず404
→ fallback設定でindex.html
に戻す必要あり
よくある質問(Q&A)
- Q404エラーは必ず直さないといけませんか?
- A
すべてではありません。削除しても問題ないページであれば、そのままでOKです。
ただし「流入が多い」「被リンクがある」ページは対応すべきです。
- Q404の代わりに200 OKを返したらダメ?
- A
ダメです。Googleは「soft 404」と判断し、評価が下がる可能性があります。
実際に存在しないページは正しく404または410を返すべきです。
- Q404の発生状況はどこで確認できますか?
- A
以下で確認可能です
- Google Search Console(カバレッジ)
- サーバーログ(
access.log
) - アクセス解析ツール(Google Analyticsなど)
まとめ
「404 Not Found」は避けられないWebの一部ですが、
ユーザーとして、404を見た時は落ち着いて別のサイトに移るなどしてください!
正しく対処すれば、ユーザー体験もSEO評価も改善できます。
- 一時的なものは修正 or リダイレクトで対応
- 不要なページは潔く削除(410)
- カスタム404ページでブランド印象アップ
サイト運営者として、404を無視せず「改善チャンス」として扱うことが大切です。