404 not foundとは、クライアントがリクエストしたWebページが見つからなかった時に出てくるHTTPステータスコードのこと。
要は「そんなWebページない…」というサーバーからの訴えです。
404ページが出るのはこんなとき
・ページが削除されている
・URLが間違っている
何も設定していないと404エラーページは「エラーが出た」ということしか分からない状態です。
サイト運営者がやるべきこと
オリジナル404エラーページの作成
エラーページがそのままの状態だとユーザーはサイトから離脱してしまう恐れがあります。
上の画像のような「デフォルトの404エラーページ」が表示されたときユーザーは、
「サイトに問題があったんじゃないか」なんて思うかもしれません。
この状態だと同じサイト内で、関連のページをもう一度探すこともできませんので、離脱率が非常に高くなってしまいます。
なので、離脱を防ぐために「オリジナル404エラーページ」の設置をすることが望ましいとされています。
コンテンツを移動したならリダイレクト
URLが変わってしまっただけならば新しいページに自動で移動するようにしてあげましょう。
詳しくは「リダイレクト」を参照してください。
オリジナルエラーページの設定方法
.htaccessを使用
オリジナルエラーページの設定で一番メジャーな方法です。
設定自体はそう難しくありません。ただ「404 not foundになったらこのページを表示してあげて」という指示を出すだけです。
まず前提として「オリジナル404エラーページのHTMLファイルが出来上がっている」とします。
オリジナル404エラーページができたら、今度は「.htaccess」のファイルを作り、中にこう記述します。
ErrorDocument 404 /ファイル名.html
今回の場合、404エラーページのHTMLファイルの名前が「404.html」なので、「ファイル名」のところには「404」と記述します。
ファイルの設置場所
完成したら、「.htaccess」ファイルはルートディレクトリ(ディレクトリの一番上)に設置してください。
というのも、「.htaccess」というのは「同じフォルダ内とその下の階層までしか影響を与えない」からです。
オリジナル404エラーページはすべてのページに影響させたい指令なので、ディレクトリの一番上に置いておきましょう。
【注意】ファイル名のところにURLを入れてはいけない
簡単に理由を説明すると「設定したURLにリダイレクト(強制遷移)させられてしまうから」です。
URLにしてしまうとこのような問題が起こります。
・ブラウザの「戻る」を押してもまた「エラーページ」に移動してしまう。
・URLが変わってしまう為、打ち直しが面倒
・404エラーではなくなる
といった不都合が出てくるわけです。
ファイル名で設定した場合は、リダイレクトするわけではなく「間違えたURLのまま、表示されるページがオリジナル404エラーページになる」というものです。
2つの違いをまとめるとこんな感じ
・URLで設定 ⇒ このURLに移動してね
・ファイル名で設定 ⇒ このページを表示してね
といった違いがあります。
【参考記事】
WordPressの場合
WordPressではデフォルト設定で、404 not foundになった場合「トップページ」を表示するようになっています。
オリジナル404エラーページを表示したい場合は、作ったファイルを「404.php」として保存し、それをテーマフォルダ直下に設置すると、404エラーページとして適用してくれます。
「404 not found」のおさらい
・404 not foundは「ページが見つからない」というサーバーからの訴え
・404 not foundになった場合に備えてオリジナルエラーページを作ることが望ましい
・コンテンツを移動しただけならばリダイレクトの設定をしよう
関連用語
その他参考になる記事