気になるリンクからサイトに飛んだ際、閲覧しようとしていたページが表示されず、「404 not found」と表示された経験がある方は多いのではないでしょうか。404エラーページは、コンテンツが削除されたり、間違ったURLにアクセスしたりする際に現れるページです。
そこで本記事では、404エラーページが起こる原因とページの作成、設定方法や気になるSEOへの影響まで解説します。ぜひ最後までご覧いただき、(404エラー)の意味を理解していきましょう。
目次
404 not found(404エラー)とは?
404エラーとは、存在しないページにアクセスしようとした時に起こるエラーのことです。
ブラウザはページを表示する際、ページが保管されているサーバーにリクエストを送ります。次に、サーバーがそのリクエストに応えることで実際にユーザーがWeb上のページを見られる仕組みになっています。
しかしサーバー上で、このリクエストされたURLが見つからなかった場合に、HTTPステータスコードとしてサーバーは404エラーを返します。その結果、閲覧しようとしていたページが404エラーページとして表示されるのです。HTTPステータスコードは、HTTPにおいてWebサーバーからのレスポンスの意味を表現する3桁の数字からなるコードで、100番台から500番台までが存在します。
● 100番台から500番台までのHTTPステータスコード例
100番台から500番台までのHTTPステータスコード例
以下で100番台から500番台までのHTTPステータスコード例を解説します。
・100番台(情報や案内)のHTTPステータスコード例
・200番台(処理の成功)のHTTPステータスコード例
・300番台(リダイレクト)のHTTPステータスコード例
・400番台(処理の失敗)のHTTPステータスコード例
・500番台(サーバーエラー)のHTTPステータスコード例
100番台(情報や案内)のHTTPステータスコード例
100番台のHTTPステータスコード例には以下のものがあります。
100番台 (情報や案内) |
100 Continue |
クライアントのリクエストを継続している状態 | |
101 Switching Protocols | |
サーバーはプロトコルの切り替えを要求中 | |
102 Processing | |
処理が継続中であることを示す | |
103 Early Hints | |
レスポンスヘッダ確定前にヘッダを伝達する |
200番台(処理の成功)のHTTPステータスコード例
200番台のHTTPステータスコード例には以下のものがあります。
200番台 |
200 OK |
リクエストの成功を示す | |
201 Created | |
リクエストは完了しURIが返されたことを示す | |
202 Accepted | |
リクエストは受理されたが処理は未完了 | |
203 Non-Authoritative Information | |
信頼できないローカルやプロキシ等からの情報 | |
204 No Content | |
内容がなくレスポンスエンティティが存在しない | |
205 Reset Content | |
ユーザーエージェントの画面をリセットする場合に示される | |
206 Partial Content | |
部分的GETリクエストが受理された | |
207 Multi-Status | |
WebDAVの拡張ステータスコード | |
208 Already Reported | |
すでに報告したWebDAVの拡張ステータスコード | |
226 IM Used | |
Delta encoding in HTTPの拡張ステータスコード |
300番台(リダイレクト)のHTTPステータスコード例
300番台のHTTPステータスコード例には以下のものがあります。
300番台 |
300 Multiple Choices |
ユーザーやエージェントに選択肢を提示する場合に示される | |
301 Moved Permanently | |
リクエストしたリソースが恒久的に移動されている場合に示される | |
302 Found | |
URLリダイレクトを実行 | |
303 See Other | |
レスポンスが他のURLに存在する場合に示される | |
304 Not Modified | |
リソースが更新されていない場合に示される | |
305 Use Proxy | |
リクエストを行わなければならない場合に示される | |
306 (Unused) | |
以前使用されていたコードが現在未使用であることを示す | |
307 Temporary Redirect | |
リクエストメソッドを変更してはならない一時的リダイレクト | |
308 Permanent Redirect | |
リクエストメソッドを変更してはならない恒久的リダイレクト |
400番台(処理の失敗)のHTTPステータスコード例
400番台のHTTPステータスコード例には以下のものがあります。
400番台 |
400 Bad Request |
クライアントのリクエストが不正もしくはおかしい場合に示される | |
401 Unauthorized | |
Basic認証やDigest認証を行う必要がある | |
402 Payment Required | |
クライアントの支払いが必要で現段階ではリクエストを処理できない | |
403 Forbidden | |
ページは存在するが閲覧が禁止されている | |
404 Not Found | |
サーバーに接続はできたが該当ページは未検出 | |
405 Method Not Allowed | |
許可されていないメソッドを使用した場合に示される | |
406 Not Acceptable | |
ヘッダに受理できない内容が含まれている場合に示される | |
407 Proxy Authentication Required | |
プロキシ認証を行う必要がある場合に示される | |
408 Request Timeout | |
リクエストが時間内に完了していない場合に示される | |
409 Conflict | |
リクエストが現在のリソースと競合するため完了できない場合に示される | |
410 Gone | |
リソースは恒久的に移動もしくは消滅した場合に示される | |
411 Length Required | |
Content-Lengthヘッダがなくサーバーがアクセスを拒否 | |
412 Precondition Failed | |
前提条件が偽で失敗した場合に示される | |
413 Payload Too Large | |
リクエストエンティティがサーバーの許容範囲を超えペイロードが大きすぎる場合に示される | |
414 URI Too Long | |
URIが長すぎてサーバーが拒否した場合に示される | |
415 Unsupported Media Type | |
指定されたメディアタイプがサーバーでサポートされていない | |
416 Range Not Satisfiable | |
リソースのサイズを超えるデータが要求された場合に示される | |
417 Expectation Failed | |
Expectヘッダによる拡張ができなかった場合に示される | |
421 Misdirected Request | |
誤ったリクエストである場合に示される | |
422 Unprocessable Entity | |
WebDAVの拡張ステータスコードで処理できないエンティティの場合に示される | |
423 Locked | |
WebDAVの拡張ステータスコードでロックされている場合に示される | |
424 Failed Dependency | |
WebDAVの拡張ステータスコードで依存関係が失敗している場合に示される | |
425 Too Early | |
Early dataを受け入れない場合に示される | |
426 Upgrade Required | |
アップグレードが要求されている場合に示される | |
428 Precondition Required | |
条件付きリクエストが必要な場合に示される | |
429 Too Many Requests | |
短時間に大量の要求が送信され要求が多すぎてサーバーが拒否した場合に示される | |
431 Request Header Fields Too Large | |
データ量が多くリクエストヘッダーフィールドが大きすぎるためサーバーが拒否した場合に示される | |
451 Unavailable For Legal Reasons | |
法的な理由によって取得不可能である場合に示される |
500番台(サーバーエラー)のHTTPステータスコード例
500番台のHTTPステータスコード例には以下のものがあります。
500番台 |
500 Internal Server Error |
サーバーの内部にエラーが発生した場合に示される | |
501 Not Implemented | |
実装されていないメソッドを使用した場合に示される | |
502 Bad Gateway | |
ゲートウェイ及びプロキシサーバが不正な要求を受理し拒否した場合に示される | |
503 Service Unavailable | |
サービスの利用が不可能で一時的にサーバーにアクセスできない場合に示される | |
504 Gateway Timeout | |
ゲートウェイ及びプロキシサーバはサーバーから適切なレスポンスを受けられずタイムアウトした状態 | |
505 HTTP Version Not Supported | |
リクエストされたHTTPバージョンがサポートされていない場合に示される | |
506 Variant Also Negotiates | |
Transparent Content Negotiation in HTTPで定義されている拡張ステータスコードであることを示す | |
507 Insufficient Storage | |
WebDAVの拡張ステータスコードでストレージの容量不足の場合に示される | |
508 Loop Detected | |
WebDAVの拡張ステータスコードでループが検出された場合に示される | |
510 Not Extended | |
An HTTP Extension Frameworkで定義されている拡張ステータスコードで拡張ができない場合に示される | |
511 Network Authentication Required | |
ネットワークに対して認証が必要である場合に示される |
404 not found(404エラー)が起こる原因
404エラーが起こる原因は主に以下があります。
・URLの記載ミス
・リダイレクトができていない
・旧URLのまま表示している
・リンク切れ
それぞれ解説します。
URLの記載ミス
URLを手動入力した際にスペルを1文字でも間違えた場合、サーバーがそのリクエストに応えられず、404エラーが返されます。URLを打ち込んで404エラーが起きた場合は、再度スペルをチェックしてみましょう。
ホームページ上で、何らかの原因で記載URLを修正できない場合は、誤ったURL先で正しいURLにリダイレクトする設定を行うことが大切です。
関連記事:リダイレクトとは?種類や設定方法、必要なタイミングを解説
リダイレクトができていない
ページのURLを新しくしたものの、旧URLから新規URLへのリダイレクトの設定ができていない場合、当然ながら404エラーが起きます。
ドメイン移管などでページのURLが新しくなる場合は、必ず元のページに301リダイレクトを設定しましょう。
リダイレクトの設定をすることで、旧リンクからでも新リンクへ自動的に移動し、正しくページを表示させられます。
旧URLのまま表示している
削除済みの古いURLを表示している場合にも404エラーが起きます。ドメイン移管などでページのURLを変更した場合には、旧URLの記載を新しいURLに修正することを忘れないようにしましょう。特に、ページとページを繋ぐ内部リンクは修正漏れが多発するため注意が必要です。
リンク切れ
リンク先が見られなくなっている状態のことを、リンク切れと言います。リンク先のページが削除されていたり、リンクの貼り間違えが起こったりすることによって発生します。こういったリンク切れの場合にも404エラーが発生します。
特に、最終更新日から日数が経過しているページで起こりやすいことなので、長期にわたってホームページのメンテナンスが滞っている場合、隅々までリンクが切れていないかチェックしましょう。
404 not found(404エラー)とソフト404の違い
404エラーの中にも「404 not found」とは別に、「ソフト404」と呼ばれるものあります。ここでは、両者における違いをご説明します。
● ソフト404とは
ソフト404とは
ソフト404とは、404エラーと同様に、リンク先のページが存在しないときに起こるエラーのことです。しかし、HTTPステータスコードは404ではなく、サーバーのリクエストに対して正しくページ処理を行っていることを示す200が返されます。
404 not found(404エラー)はSEOに悪影響を与えるか
結論から申し上げると、404 not found(404エラー)はSEOに悪影響を与えることはありませんが、上述のソフト404はSEOの評価に悪影響を与えます。
なぜなら、ソフト404は通常の404エラーとは異なり、正常なページとしてクローリングされてしまうためです。
しかし、ソフト404が表示されるページには中身が存在しないため、検索エンジンからは低品質のコンテンツとして判断されてしまうことが特徴です。
また、本来クロールされるべきページのクローリングが遅くなり、悪影響を与えてしまうので早急な対処が必要になります。
関連記事:クローラーとは?検索エンジンの仕組みを解説します!
404 not found(404エラー)ページの確認方法
Google Analyticsを見ることで、404エラーページの確認ができます。手順は下記のとおりです。
1. Google Analyticsにアクセスし、「行動>サイトコンテンツ>ランディングページ」にアクセス
2. セカンダリディメンションで「ページタイトル」を追加
3. セカンダリディメンション欄の「アドバンス」をクリックしてページタイトルで絞り込みを行う
4. ページタイトルに404エラーページのタイトルを記載することで確認をすることができます
基本的に、上記の手順を行って404ページが出ない場合、問題のあるページがないと認識して構いません。したがって、今後もエラーページが出ることがないよう、細かなメンテナンスを繰り返しましょう。
関連記事:Google Analytics(グーグルアナリティクス)とは?設定方法や使用用途を解説
404 not found(404エラー)の対処方法
404 t found(404エラー)の対処方法としては以下が挙げられます。
・404エラーページを独自に作成
・301リダイレクトを設定する
・サイトマップの設置を行う
404エラーページを独自に作成
404エラーページを独自に作成することにより、Webサイト離脱率を抑える効果が期待できます。標準での404エラーページは文字のみのシンプルなデザインでユーザーは見た瞬間に「Webページが存在しない」と認識してしまいます。
そのため無意識にページを閉じてWebサイトを離脱してしまう可能性が高くなります。ですがオリジナルの404エラーページを用意して、次の行動を促す文言やURLを記載しておけば、ユーザーはそのままWebサイトを離脱することなく再度Webサイトに戻ってくる可能性が高くなります。
こういったWebサイト離脱率の観点から、404エラーページを独自に作成することはSEO的にも非常に有効です。
301リダイレクトを設定する
404エラーはWebページを削除した際などによく発生するため、当該Webページを削除する前に301リダイレクトを設定します。
設定したあと、当該Webページに移動せず301リダイレクトで設定したWebページに移動すれば、リダイレクトはしっかり機能しています。そしてリダイレクトが機能していることが確認できたあとに、当該Webページを削除するようにします。
サイトマップの設置を行う
404エラーページにサイトマップを設置することも有効な対処方法です。サイトマップは当該Webサイトの案内図のような役割がありますので、意図せず404ページをユーザーに表示させてしまった場合でも、ユーザーはサイトマップから次の行動へ移ることができます。こちらもユーザーのWebサイト離脱率の観点から、設置しておくとSEO的にも非常に有効です。
404 not found(404エラー)ページの作り方
404エラーページは、CMS等で設定されているデフォルトのものや、レンタルサーバーによって作られたものの場合、訪問者の離脱率が高くなります。
しかし、ページを訪れたユーザーに「このページ内には、ユーザーが求めているコンテンツは存在しない」ことを伝えると同時に、本来全てのページにあるグローバルナビなどを設置することで、404ページであっても離脱率を抑えられます。
離脱率が下がることでサイト全体のパフォーマンスが向上し、間接的にSEOの効果が高まることに期待できます。そこでここでは、404エラーページを作る際のポイントについて詳しくご紹介していきます。
1. エラーページであることを記載する
2. デザインをサイト全体に合わせる
3. 遷移させたいページへのリンクを記載する
1.エラーページであることを記載する
404について理解していないユーザーにとって、404エラーページは「よく分からないページ」に他なりません。訪れたユーザーに対して、正しく404エラーページである旨を伝えることで、別ページへの遷移を促せます。視認性の高いフォントやサイズ、色を用いて、はっきりとエラーページであることをユーザーに伝えましょう。
2.デザインをサイト全体に合わせる
404エラーページのデザインをサイト全体と合わせることで、独自性を発揮します。404エラーページが作りこまれたサイトは、ユーザーに信頼感を与えられます。また、グローバルナビなどの表示を統一することで他のページへの遷移を促せるため、サイト全体のパフォーマンスを高めます。
3.遷移させたいページへのリンクを記載する
遷移させたいページのリンクを記載して、ユーザーが次にするべき行動を明確に提示しましょう。ユーザーの次の行動を示すことで、離脱のリスクを減らせられるためです。また、ドメイン移管などで新旧のURLが異なる場合は、必ず新URLへ誘導するよう設定しておきましょう。
404 not found(404エラー)ページを設定する方法
実際に404エラーページを作っても、正しく設定しなければ404エラーが起きたときに表示されません。ここでは、404エラーページの設定方法をご紹介します。
● レンタルサーバーから行う場合(Xserver)
● WordPressを使用する場合
● .htaccessから行う場合
レンタルサーバーから行う場合(Xserver)
各レンタルサーバーの管理画面から、404エラーページを設定できます。レンタルサーバーの会社によって設定方法は異なるものの、概ね同様です。今回は、Xserverを例にして解説します。
まず、管理画面からサーバーパネルを開き「エラーページ設定」をクリックします。次に、エラーページ設定では、各エラーコードと設置場所を設定できます。「404(ファイルが存在しない)」の列の設置場所を確認し、状態を「ON」にして「確認画面に進む」をクリックします
最後に内容を確認し、問題が無ければ「設定を完了する」をクリックすれば完了です。
上記3ステップを踏むだけで簡単に404エラーページを設置できるため、自作しない場合はサーバーから必ず設定しましょう
WordPressを使用する場合
WordPress上でも、404エラーページを設定できます。404.phpファイルをテーマフォルダの直下に作成することで、自動的にファイルが読み込まれ、404エラー発生時に設定されたファイルのコンテンツが表示されます。
ただし、WordPressのテーマの中には404.phpがデフォルトで存在していることがあるので注意が必要です。必ず、事前に確認してから404.phpファイルを作成しましょう。
また、WordPressでは「WP 404 Auto Redirect to Similar Post」というプラグインを使うことで、404エラーページにアクセスしたユーザーを別のページへ遷移させることも可能です。
404エラーページにアクセスしてほしくない場合は、上記プラグインの利用を検討しても良いでしょう。
.htaccessから行う場合
404エラーページは作成しただけでは、404エラーページとしてではなく、通常のコンテンツの一部だと認識されます。そのため、404エラーが起きた際に作成したページが表示されません。
そこで、HTTPステータスコードを404エラーで返すために.htaccessを使用します。たとえば、404エラーページを「404.html」という名前のファイルで作成したとしましょう。この404エラーページを、ドメイン直下のルートディレクトリに置きます。
次に、同じ階層に設置している.htaccess内に、「ErrorDocument 404 /404.html 」を追記します。これによって、404エラーページで404.htmlの内容を表示できます。
まとめ
本記事では、404 not found(404エラー)が起こる原因や対処方法等を解説しました。
サイト運営者にとって、404エラーページは非常に重要な役割があることを理解できたのではないでしょうか。404エラーページを適切に設定することで、ユーザーの離脱を防ぎ、サイト全体のパフォーマンスを高められます。
まずは本記事の内容を参考に、404エラーページの作成や、既存のページがエラーとして表示されていないか確認することから始めてみてはいかがでしょうか。
よくあるご質問
404の仕組みは?
404の仕組みは以下のとおりです。
1.ユーザーがWebページにアクセスしようとする
2.ブラウザがWebページのサーバーにアクセスをリクエストする
3.Webページが存在しない場合、サーバーは404エラーページを表示する
なお、404は「よんひゃくよん」もしくは「よんまるよん」と読みます。404 not foundと表示されているときは、「よんひゃくよん(よんまるよん)のっとふぁうんど」と発音します。
404ページは必要?
404ページは、ユーザーにとってもWebサイト運営側にとっても必要です。ユーザーにとっては、404ページが表示されることで、入力したURLに間違いがないか再確認できます。また、Webサイト運営側も404ページを表示させることで、検索エンジンのクローラーの通り道を用意でき、マイナス評価を受けずに済むことがあります。
404エラーメッセージの例は?
404ページを表示させるときは、次のメッセージもあわせて表示しましょう。
●お探しのページは見つかりませんでした
●サイトのトップページからお探しください
また、メッセージに加え、次の情報も記載するとより親切です。
●関連すると思われるページのリンク
●トップページのリンク
●カテゴリ一覧ページ
●サイト内検索ができる検索窓