「お探しのページは見つかりませんでした」 404エラーから学ぶ、ホームページの裏側

「お探しのページは見つかりませんでした」 404エラーから学ぶ、ホームページの裏側

ネットサーフィン中、ブックマークしたはずのページや、検索結果からクリックしたページを開いたら、「404 Not Found」「お探しのページは見つかりませんでした」と表示されて「あれ?」と思った経験はありませんか?

「404 Not Found」と表示されているページの画像

実はこの3桁の数字「404」と「ページが見つからなかった」というメッセージは、ウェブサイトの裏側で起こっているエラーを示す重要なものです。

このコラムでは、最もよく見る404エラーがなぜ起こるのか、そして404以外の「4xxエラー」にはどんな種類があるのかを、分かりやすく解説します。

ウェブサイトの閲覧時の裏側ではこんなことが起きている

あなたがウェブサイトを閲覧する際、あなたの使っているChromeやSafariなどのブラウザと、そのウェブサイトのデータが置かれている場所(サーバー)の間では、常に以下のような「会話」が行われています。

ブラウザ(あなた)
「このURL(住所)にあるページを見せて!」 (リクエスト)

サーバー(サイト管理者)
「はい、どうぞ!」 (回答と同時にサイトのデータを送信)

この「回答」の際、サーバーは必ず「HTTPステータスコード」という3桁の数字を付けています。
これが「404」という数字の正体です。

このコードは、回答が成功したのか、失敗したのかを示すWebの世界の共通言語のようなものです。

  • 200(OK) 「はい、見つかりました!成功です。」
  • 301(Moved Permanently): 「新しいページに引っ越したので、そちらにご案内しますね。」
  • 404(Not Found): 「探したんですけど、見つかりませんでした。」

上記のように、4以外の数字から始まるコードもあり、それぞれ異なる意味を持っています。

つまり「404 Not Found」は、サーバーが「あなたのリクエスト自体は受け取ったけれど、要求された場所には何もなかったよ」と正直に答えている状態なのです。

でも404という数字だけ表示されても意味を知らなければ、何のことだかさっぱり分かりませんよね。
なので一緒に「お探しのページは見つかりませんでした」という文章が表示されることが多いんです。

よく見る「404エラー」の原因

「404 Not Found」の意味と、主な原因

404エラーは、リクエストされたURLに該当するページやファイルが存在しないことを意味している、ということが分かりましたね。
何かしらの要因で「ページが見つからなかった」という返事のため、考えられる原因としては以下のうちのどれかであることが多いです。

原因①:URLのスペルミス

あなたがブラウザのアドレスバーにURLを打ち間違えたか、サイト管理者がURLの文字を間違えている場合です。
この場合は、正しいURLを打ち込むことでページは表示されます。

原因②:リンク切れ

サイト管理者がページを完全に削除したり、URLを変更したりしたにもかかわらず、サイト内のボタンや他のサイトに掲載されたボタンには古いURLのまま残っている場合です。

原因③:リダイレクト設定ミス

ページを新しいURLに移転した際に、古いURLから新しいURLへ自動で飛ばす設定(リダイレクト)を忘れている、または設定にミスがある場合です。

②と③が原因の場合はサイト管理者側で修正をしてもらうしかありません。

一文字でも間違ってると、別のページだと認識する

URLが一文字でも間違っているとサーバーは「別物のページ」だと判断します。

大文字・小文字もそれぞれ違う文字として区別されるため、本来小文字の部分を大文字で入力すると、別のページだと判断されてしまいます。

ただ例外として、ドメイン名の部分は、国際的なルールで大文字と小文字を区別しないようになっています。

URL内に大文字も含めることはできますが、上記のように別のページだと認識してしまうという理由などがあるため、URLのアルファベットは小文字を使用することが一般的です。

なぜ、わざわざ404ページを表示させるのか?

「どうせ見つからないなら、何も表示しなくてもいいのでは?」と思うかもしれませんが、404エラーを正しく表示することはかなり重要なことなのです。
その理由は、SEO(検索エンジン対策)UX(ユーザー体験)の2つの側面があります。

「検索エンジン最適化」のこと。
GoogleやYahoo!などの検索結果で、自分のウェブサイトの上位に表示させる取り組み全般を指します。

「ユーザーエクスペリエンス(利用者体験)」のこと。
ウェブサイトやサービスを使ったときにユーザーが感じる「使いやすさ」「満足感」といった体験すべてを指します。
デザインの美しさだけでなく、サイトの表示速度や操作の分かりやすさなどもUXに含まれます。

理由その①:Googleの混乱を防ぐため(SEOの視点)

ウェブサイトには、Googleの巡回ロボット(クローラー)が頻繁に訪れています。
このクローラーがサイトを訪れページ内容を確認し、問題ないと判断すると検索結果にそのページが表示されるようになります。

ページがなくなったり移動したりしたとき、サーバーが404コードを返すことで、このクローラーが「このページは存在しないページなんだな」と認識し、検索結果からそのページを自動的に削除してくれます。

理由その②:ユーザーの離脱を防ぐため(UXの視点)

ユーザーに「今、何が起こっているか」を正確に伝えることで、不信感を和らげます。
ただ真っ白で何も表示されていないページが表示されるより、「ページが見つかりませんでした」と表示される方が親切ですよね。

404エラーページ内にトップページへのリンク、サイト内検索窓、人気記事へのボタンを設置したり、サイト内で次に進む道を示してあげられると、ユーザーの離脱を防ぐ手段にもなります。

404以外の「4xxエラー」

404があるということは、401、402…と他の数字もあるのか?と思った方もおられるでしょう。
その通り、他にも様々なHTTPステータスコードが存在します。

「4」で始まるコードは、すべて「クライアントエラー(リクエストした側に原因があるよ)」という共通の意味を持っています。404の他にも、Webの世界では様々な4xxエラーが存在します。

今ではほぼ使われなくなったものや、特定の技術的な状況下でのみ発生するものもあるので、今回はその中でも表示されることの多いエラーに絞ってご紹介します。

400 Bad Request(不正なリクエスト)

ブラウザから送られたリクエストの形式(データ構造や文法)が、サーバー側で理解できないなかった、理解できないほど間違っている状態。
サーバー側が「何をしろって言われたのか全然分からなかった」といっている状態です。

以下のような場合に表示されることがあります。

  • フォーム入力時に禁止された特殊文字を使った
  • システムの想定外のデータを送った

401 Unauthorized(未認証)

アクセスしようとしたページを閲覧するにはログインが必要で、IDやパスワードなどを入力しないとアクセスできない状態。
サーバー側が「あなたが誰だか分からないから、見せられないんだ」といっている状態です。

以下のような場合に表示されることがあります。

  • 会員制のページや管理画面に、ログインせずにアクセスしようとした
  • ログインを試みたがIDやパスワードが間違っていた

403 Forbidden(禁止)

サーバーはリクエストを理解したものの、閲覧者にはアクセス権限がないため、そのリクエストを拒否した状態。
サーバー側が「このページはあなたには見せられないんだ」といっている状態です。

以下のような場合に表示されることがあります。

  • ログインはしているが、管理者にしか見ることのできないURLにアクセスしようとした
  • サイト側で特定のIPアドレスからのアクセスを拒否する設定にしている

401と403のエラーはどちらも「見せられない」というエラーなので混同されがちですが、

  • 401:鍵(IDとパスワード)を持っていないので入れないという状態。
    →鍵さえあれば入れる可能性がある。
  • 403:「あなただから入れられない」と明確に拒否された状態。
    →鍵を持っていても入ることが出来ない。

というように、根本的な意味が異なります。

まとめ:エラーを知って、快適なインターネットライフを

突然表示される「404 Not Found」や「403 Forbidden」といった3桁の数字は、サーバーが正直に状況を教えてくれているサインです。

4xx系エラーの多くは、URLの打ち間違えや、そのページの権利(ログイン忘れや権限不足)に問題があるときに発生します。

もしブックマークしていたページなどでエラーが出たら、別のページに内容を移動したか、ページ自体が削除されている可能性が高いです。
そんなときは、サイト内検索を使ったり、トップページに戻ったりして、もう一度新しいページを探してみるのが解決への近道です。

次にこれらのエラーに遭遇したときは、「そういえばこんな意味だったな」とこの記事の内容を思いだしてみてくださいね。