404エラー(404 not found)とは?発生する原因は?解決と必要性を考えます。

ホームページを閲覧していて、「404 not found」という文字が表されたことはありませんか?
404エラー(404 not found)ページが表示されると、コンテンツや文章が空っぽになっていて戸惑うこともあります。
404エラー(404 not found)は、存在しないページがリクエストされ、サーバーから「そんなページはありません」とエラーが返されるときに表示されるコードです。
かなりメジャーなコードなので、Webサイトを運営しているのであれば発生する原因と対処方法は理解しておくべきです。
そこで、404エラー(404 not found)ページがもたらす意味・原因・解決法などについて徹底解説します。

無料のメールフォームCMS「EasyMail」
無料で簡単インストール。PHP言語で開発されたオープンソースのメールフォームCMS「EasyMail(イージーメール)」を使ってみませんか?
改変でも、再配布でも、商用利用でも、有料販売でも、自由に無料でつかうことができるメールフォームです。
無料のメールフォームはこちら

目次

404エラー(404 not found)ページの概要

404エラー(404 not found)ページとは

ホームページ閲覧中に、「404 error」「404 not found」、または404の数字が表示されずに「Not found」と表示されるケースが多々あります。
このような現象がネット上で発生することを404エラー、または404エラーページといった呼び方をします。
このような文字が表示された場合、もともとはネット上に存在していないページにリクエストが来たことを意味します。その場合、サーバーはブラウザに対して404の3ケタの番号のエラーコードを表示する仕組みです。

ただし、実際に404エラーページが表示された場合でも、画面上には404の3ケタ番号が表示されないケースもあります。
そのような場合は、「お探しのページが見つかりません」といった文章が表示されることがあります。

404エラー(404 not found)ページはHTTPステータスコード

404エラーページについてさらに専門的に解釈すると、HTTPステータスコードの一種として区分されます。
HTTPステータスコードについて、HTTPとステータスコードの2つに分解して、それぞれの定義について下記の通り説明しましょう。
HTTPとは英語で「Hypertext Transfer Protocol」(ハイパーテキスト・トランスファー・プロトコル)の頭文字をとった呼び方。
URLの頭には必ずこの「http」の4つの文字が小文字で表示されていますが、近年はセキュリティが万全な「https」から始まるurlも増えています。

ステータスコードのことをHTTPステータスコードとも言い、3ケタの番号で表記します。
ネット上でもっともよく見かける3ケタの番号と言えば404ですが、実は404以外にも多数の3ケタ表示のステータスコードが存在します。

詳しくはこのページのHTTPステータスコードについて

403エラーと404エラーの違い

404と1番違いの403エラーとは、どのような違いがあるのでしょうか。
ホームページにアクセスすると「403 forbidden」(forbidden=禁止)という文字が表示されることがまれにあります。
これは、404のようにアドレス間違いではなく、ホームページ自体が閲覧できない状態、もしくは閲覧禁止の状態です。
アクセスしたページ自体はあるものの、サイト運営者側の意図で閲覧を制限したことが原因で起こることが多いです。
または、運営者側のミスが原因で403エラーが出るケースもあります。
404のエラーページが表示された場合は自己解決が可能ですが、403の場合は運営者側の問題なので、サイト訪問者が自己解決することは不可です。

なぜ404エラー(404 not found)が発生するのか 原因を探る

もともとページが存在しない

404エラーが発生する最大の原因は、リクエストされたページがもともと存在しないことにあります。
ホームページを閲覧するのにurlをすべて手打ちで入力するケースは今では少なくなりましたが、スペル間違いが原因で404エラーが出ることはよくありがちです。

存在していたページが削除された

リクエストされたページはもともとは存在していたものの、削除されてしまったことが原因でページが表示できなくなり、404エラーが出ることもあります。
しかし、もともとは存在していたページが削除された場合は、ステータスコードの表示は410のほうが適切です。

410は正式には「410 Gone」と表示され、「もともとは存在していたページですが、すでに削除・消滅しました」という意味を表します。これに対して、404は厳密には「削除・消滅」ではなく、最初からそのページはなかったこと」を意味します。

リンク先アドレス設定の間違い

サイト内でリンク先のアドレスを間違えたことが原因で、404エラー表示が出るケースもあります。リンク先のアドレスがもともと存在しないページである場合、404エラー表示が出たら速やかに正しいリンク先アドレスに訂正しましょう。

404エラー(404 not found)ページの必要性について

404エラー(404 not found)ページがもたらす効果

ホームページを閲覧中に突然404エラーページが表示された場合、「404エラー」の意味が理解できていない人なら、きっとびっくりすることでしょう。
しかし、404のもともとの意味をきちんと理解している人であれば、閲覧中にどんな現象が起こったのか、その原因についてある程度は探ることができます。
urlの入力間違いであれば原因は自分にありますが、リンク先アドレス間違いの場合はサイト運営側に原因があります。原因をある程度追求できるという点では、404エラーページのもちらす効果は大きいと言えるでしょう。
404エラーページ表示によって、その運営サイトから発信されるメッセージをキャッチできます。

404エラー(404 not found)ページに表示するメッセージは?

404エラーページが表示された場合、ウエブサイト上で何が起こったのか、明確にしておく必要があります。
404の意味が理解できていない人にとっては、「なんで3ケタの数字が出てくるのか」「コンテンツが表示されない」と戸惑うこともあるからです。
404という一見得体の知れないページが登場したことで、そのサイトから離脱してしまう人も出てくる可能性もあります。
しかし、404エラーページを一目見て、どんな現象なのかわかるように文章で明記しておけばわかりやすいです。

404エラーページでもっとも多いのが、「URLが変更された可能性」があることを示す文章です。
または「ページが削除された可能性」があることを表す文章を明記しても良いですが、先にお伝えしたように404よりは410のほうが妥当です。
404エラーページにいくつかの原因について複数掲載しておくと、サイト訪問者にとってはわかりやすくて安心感があります。

404エラー(404 not found)ページ上に確認事項と解決策を記しておく

404エラーページ上に、原因のみを表記するだけでは物足りなさがあります。
さらに確認事項と解決策を記しておくと、サイトとしての信頼性がより高まります。
確認事項・解決策の一例として、「アドレスの入力が間違っていないかご確認下さい」「リンク先アドレスが間違っている場合など不具合を発見したらお手数ですがメールにてお問い合わせ下さい」などの文章を入れておくと良いでしょう。

デフォルトよりもカスタマイズがおすすめ

契約先のサーバーでは、あらかじめ404エラーページのフォーマットが用意されています。
デフォルト状態のものをもちろんそのまま使っても全然OKです。
しかし、サイト訪問者の視点に立って考えてみると、404エラーページを一目見るだけで、エラーの原因と解決策がわかるようにしておいた方が好感度と信頼度がより高まります。

契約先のレンタルサーバーのウエブサイトで、404エラーページの作成方法について詳しく説明しているところもあるので、参考にしておくと良いてしょう。

HTTPステータスコードについて

404というコードはHTTPステータスコードということは前述ですが、実は404以外にも多数の3ケタ表示のステータスコードが存在します。100番台から500番台までに区分されており、それぞれの数字には意味があります
以下「クライアント」というワードが出てきますが、これはユーザーが使っているパソコンやスマホなどの端末側のことを指します。

100~  (情報)

リクエストは受け取られ、処理は継続されているんだけれども、情報をもっと必要としたり、処理中であるという状態。

100 継続
クライアントはリクエストを継続できる状態で、サーバがリクエストの最初の部分を受け取り、まだ拒否していないことを示しています。

101 プロトコル切替
サーバはリクエストを理解し、遂行のためにプロトコルの切り替えを要求しています。
サーバーがhttp2.0だからクライアントにhttp2.0に切り替えてと要求している状態です。

102 処理中
処理が継続されて行われていることを示します。(WebDAVの拡張ステータスコード)

103 早期のヒント
このステータスコードは最終的なコンテンツを確定する前に、予想されるヘッダを先に伝えます。
たとえば、HTTP2で新しくできたLinkヘッダ(CSSやJSなどのファイルを読み込みむlink)を先にクライアントに渡しすことでクライアント側の処理を高速化します。

200~  (成功)

サーバーへのリクエストは受け取られ、理解され、正常に反応された状態。

200 OK
リクエストは正しく処理され、レスポンスとともに要求に応じた情報が返される状態。
私たちがホームページを問題なく表示された場合は、ほぼこのステータスコードを返しています。

201 作成
リクエストは完了し、新たに作成されたリソースのURIが返される状態。
POSTやPUTメソッドを使われた際に返します。

202 受理
リクエストは受理されたが、処理は完了していない状態

203 信頼できない情報
オリジナルのデータではなく、ローカルやプロキシ等からの情報であることを示しています。

204 内容なし
リクエストを受理したが、返すべきレスポンスエンティティが存在しない状態。
例: POSTメソッドでフォームの内容を送信したが、ウェブブラウザの画面を更新しない場合に返されます。

205 内容のリセット
リクエストを受理し、ユーザエージェントの画面をリセットする場合に返されます。
例: POSTメソッドでフォームの内容を送信した後、ウェブブラウザの画面を初期状態に戻す場合に返されます。

206 部分的内容
部分的GETリクエストを受理したときに、返されます。
例: ダウンロードツール等で分割ダウンロードを行った場合や、レジュームを行った場合に返されます。

300~  (リダイレクション)

リクエストを完了させるために、追加的な処理が必要な状態。

300 Multiple Choices
リクエストに対して複数のレスポンスがあることを示します。ユーザーエージェントやユーザーは、それらからひとつを選択します。
パソコン画面とスマートフォン画面でWebアプリケーションが別れている場合に利用したりします。

301 Moved Permanently
リクエストしたリソースのURLが恒久的に移動されているときに返されます。Location:ヘッダに移動先のURLが与えられます。
ホームページが移転した場合などに用いたり、ホームページ移転の特殊な場合として、HTTPからHTTPSへの移転も該当します。
そのほか、ファイルではなくディレクトリに対応するURLの末尾に/を書かずにアクセスした場合に返されます。

302 Found
リクエストしたリソースが一時的に移動されているときに返されます。Location:ヘッダに移動先のURLが与えられます。
元々はMoved Temporarily(一時的に移動した)で、本来はリクエストしたリソースが一時的にそのURLに存在せず、別のURLにある場合に使用するステータスコードでありました。
しかし、例えば掲示板やWikiなどで投稿後にウェブブラウザに対して他のURLに転送させたいときにもこのコードが使用されるようになったため、302はFoundになり、新たに303・307が作成されました。

303 See Other
リクエストに対するレスポンスが他のURLに存在するときに返されまする。Location:ヘッダに移動先のURLが与えられます。
Location:ヘッダで指示されるリソースに対してGETでリクエストしなければなりません
リクエストしたリソースは確かにそのURLにあるが、他のリソースをもってレスポンスとするような場合に使用します。
302の説明で挙げたような、掲示板やWikiなどで投稿後にウェブブラウザに対して他のURLに転送させたいときに使われるべきコードとして導入されました。

304 Not Modified
リクエストしたリソースは更新されていないことを示します。
例として、 If-Modified-Since:ヘッダを使用したリクエストを行い、そのヘッダに示された時間以降に更新がなかった場合に返されます。

400~  (クライアントエラー)

クライアント(ユーザー)からのアクセス・リクエストに誤り(エラー)がある状態。

400 Bad Request
定義されていないメソッドを使うなど、サーバーがリクエストを理解できない場合に返されます。

401 Unauthorized
Basic認証などなので未認証の場合に返されます。

402 Payment Required
デジタル決済システムで使用するために作成されたコードで、現在は実装されておらず、将来のために予約されています。

403 Forbidden
リソースにアクセスすることを拒否された。リクエストはしたが処理できない状態です。
アクセス権がない場合や、ホストがアクセス禁止処分を受けた場合などに返されます。
401 とは異なり、クライアントの識別子がサーバーに知られています。

404 Not Found
ページが見つからなかった場合に返されます。

405 Method Not Allowed
サーバーがリクエストメソッドを理解しているものの、許可されていないメソッドを使用した状態のときに返されます。
例: POSTメソッドの使用が許されていない場所で、POSTメソッドを使用した場合に返されます。

500~  (サーバーエラー)

サーバがアクセス・リクエストの処理に失敗した状態。

500 Internal Server Error
サーバ内部エラー。サーバ内部にエラーが発生した場合に返されます。「何らかのサーバ内部エラー」という漠然とした意味で原因究明が難航するエラーです。
たとえば、CGI実行時、プログラムに文法エラーがあったり、設定に誤りがあった場合などに返されます。

501 Not Implemented
使用できないメソッドを使用した場合に返されます。

502 Bad Gateway
ゲートウェイ・プロキシサーバは不正な要求を受け取り、これを拒否した状態。つまりサーバー側で何らかのエラーが発生し、一時的にコンテンツが表示できない状態のことを意味します。

503 Service Unavailable
サービスが一時的に過負荷やメンテナンスで使用不可能である場合に返されます。
一時的にサーバにアクセスできない状態で、アクセス転送量が多い、一時的にウェブアクセスが集中している、CGIプログラムが誤作動を起こしているなどが原因として考えられます。

504 Gateway Timeout
ゲートウェイ・プロキシサーバはURIから推測されるサーバーが時間内にレスポンスを得られない場合に返されます。

404ソフトエラーとは?

404ソフトエラーというものがあり、純粋な404エラーとは異なります。
では404ソフトエラーとはなんなのでしょうか?Googleの検索セントラルでは、

URL にアクセスしたときに、ページが存在しないことと 200 (success) のステータス コードをユーザーに伝えるページを返す URL のことを指します。

と記載されています。200 (success) というのは前述の200のステータスコードなのにページは存在しませんと意図的に明示しているページです。

404エラーはステータスコードがきちんと404というコードを発行しており、404ソフトエラーは200という正常な状態を発行しているためGoogleボットは正常な404じゃないぞ?って困惑しているような状態なのです。Googleはおそらくページは存在しないんだな、とある程度は判断してくれるのでソフト404エラーとわかるのですが、それでも好ましいことではありません。
404ソフトエラーはSEO的には不適切な状態で推奨されませんのできちんと404エラーを表示させる状態を作ることが重要です。。

「送信されたURLはソフト404エラーのようです」が表示される

Googleサーチコンソールにおいて「送信されたURLはソフト404エラーのようです」と通知されたことがありませんか?
この通知はサーチコンソールのサイトマップを送信したURL一覧に該当のページが送られている可能性ああります。
もしこの通知がきて、そのURLが本当に不要なページであれば、サイトマップのURLを削除して送信しなおし、そのページを削除します。
そしてガバレッジ上で修正を送信しておけばしばらくすれば通知がきえるはずです。

404エラー(404 not found)ページに関するQ&A

faq

404エラー(404 not found)ページ表示ってSEO対策に不利?

【Q】404エラーページが表示された場合、SEO対策で悪い影響を及ぼすのでは?

【A】404エラーページが表示されること自体は、別に悪い影響は考えられません。
ただし、404エラーページが表示された後、あまりにもサイト訪問者の離脱率が高い場合は、SEO対策に影響する可能性は「なし」とは言い難い部分もあります。
サイト訪問者にストレスを与えないように配慮することが、結局はアクセシビリティとユーザビリティの良さにつながります。

404エラーページでしっかりとした中身のある内容にしておけば、サイト訪問者にも安心感があり、SEO的にも良い評価を受ける可能性も考えられます。

WordPressに404エラーページがなかったら?

【Q】もし、WordPressに404エラーページがなかったら、どうなるのでしょうか?

【A】通常、WordPressには404エラーページとして404.phpというファイルがあらかじめ標準搭載されています。
仮にこの404.phpが存在しない場合、テンプレ階層の優先順位が最下位である「index.php」(トップページ)を表示させようとします。
しかし、トップページが表示されずにコンテンツの中身がない空の状態、テンプレのみが表示されるケースもあります。
サイト訪問者にとって不自然な表示になってしまうと、アクセシビリティが悪くなる可能性もあるので、やはり404エラーページは必要です。

WordPressの場合、使用するテーマによっては、404エラーページの表示内容やテンプレには違いがありますので、念のため要確認です。

404エラー(404 not found)ページ表示を防ぐには?

【Q】404エラーページの表示をできるだけ避けるための対策は?
【A】サイト訪問者がurlの入力間違えで404エラーページが表示されるのは、仕方ありません。この表示をできるだけ防ぐには、リンク先のアドレス表示を間違えないことが肝心です。リンク先のページ数が多い場合は、入念に確認しておく必要があります。

404エラー(404 not found)ページの事例

KAGOYA

カゴヤ

レンタルサーバーでおなじみのカゴヤ(KAGOYA)の404エラーページです。
404の数字と簡単な文章のみ表示されていますが、ページ右上にはトグル型のメニューボタンが設置されているので、アクセシビリティは良いです。

さくらのレンタルサーバー

さくらのレンタルサーバー

さくらのレンタルサーバーでは、404エラー表示の下に、ページ削除または存在しない可能性を示唆するメッセージが表示されています。
サイトマップへのリンク先アドレスが貼られており、メインナビとフッターにもコンテンツが表示されていて見やすく工夫されています。

レンタルサーバーのCPI

cpi

KDDIグループのレンタルサーバーCPIでは、404が表示された原因について複数記載されています。サイト訪問者の視点に立ち、お問い合わせフォームにスムーズにリンクできます。

エックスサーバー

エックスサーバー エックスサーバーの404ページには、ヘッダーが固定されており右上にトグル型のメニューボタン、フッターにはサイトマップが表示されています。
「サイトマップより目的のページを」の文章でサイト訪問者を誘導し、サイト内の他のページにストレスなくアクセスできます。

ネット通販 base

base

「無料でネット通販開設」で人気のBASEでは、404の数字とシンプルな文章が画像のみで表示されています。ヘッダーにはメニューはありませんが、フッターに全コンテンツが掲載されているので、サイト閲覧もスムーズです。

大阪のWEB会社 ファーストネットジャパン

firstnetjapan

シンプルな文章を記載しており、ページ変更の可能性を示唆する内容、「トップページへ戻る」のリンクを貼っています。

404エラー(404 not found)とは?まとめ

この記事では、404エラーページ表示の原因と必要性を中心に話を進めてきました。
404エラーページが表示されると、思わず「なにこれっ」と言いたくなることもあります。
しかし、このページが表示された背景には、必ず原因がいくつか考えられます。
仮にこのページが表示されたからといって、サイト訪問者にとって別に悪いことは何もありません。

逆に、サイト運営側の視点に立つと、404エラーページは極めて重要な役割を果たしていることに気付くべきです。頻繁に404エラーページが表示される場合は、リンク先アドレスが間違っている可能性が高いので、くまなくチェックしておくことが肝心です。

サイト制作に余裕があれば、初期設定の素っ気もない404エラーページを楽しいイラストを入れたり、ユニークなコメントを入れたり、カスタマイズしてみるのも面白いです。
また、404エラーページ内にサイトマップを配置しておくと、お探し中のページが見つかりやすくなり、アクセシビリティがアップします。
結論ですが、サイト制作側にもサイト訪問者にとっても404エラーページは非常に重要です。
この記事全体を通して、404エラーページの必要性について理解を深めるきっかけになれば幸いです。

 

SEO対策をご検討中ですか?

ホームページから売上が上がっていますか?集客ができていますか?

ホームページ制作大阪ドットコムでは、1998年の創業から培ってきた知見・経験を基に、良質かつユーザー第一のホームページを制作して参りました。
その長い経験の中でWEBマーケティングの知見も豊富に持ち、SEO対策を基本とし、SNS運用・リスティング広告運用などを得意としています。

SEO対策について詳しく見る