Webサイトで301 Moved PermanentlyというHTTPステータスコードが表示される原因とはどのような意味なのでしょうか。この記事では、301 Moved Permanentlyの意味や原因について詳しく解説します。
Webサイトを利用したり運営したりしていると、さまざまなエラーコードやHTTPステータスコードに遭遇します。今回はエラーコードではありませんが、表示されると戸惑う人が多い301 Moved Permanentlyについて解説します。301 Moved Permanentlyとはどのような意味のステータスコードで、どのような意味があるのでしょうか。
301 Moved Permanentlyの意味について見ていきましょう。
Webサイトをブラウザに表示するときには、ブラウザからサーバーに対してリクエストが送られて、リクエストに対してどのようにサーバーが対応したかという情報がHTPレスポンスステータスコードとして送り返されます。
301 Moved Permanentlyはサーバーからブラウザに返ってくるHTTPレスポンスステータスコードの一種類です。HTTPレスポンスステータスコードには、番号によって次のようにさまざまな意味があります。
100番台:クライアントからのリクエストを受け入れ可能
200番台:クライアントからのリクエストの受理に成功
300番台:ページが移動したので強制的にリダイレクトされる
400番台:クライアント側(ユーザー側)のエラー
500番台:サーバーエラー
301 Moved Permanentlyは300番台なので、ページの移動に関するHTTPレスポンスステータスコードであることがわかります。
具体的に301 Moved Permanentlyがページの移転に関してどのような意味を持つのかと言うと、アクセスしたアドレスのページが永久的・恒久的に移動したことを表します。301 Moved Permanentlyが表示されたページは、その後リダイレクトで強制的に移動するページへ完全に移行したことを意味しています。
最初にアクセスしたページへ戻ってくることは今後ないので、ブックマークやお気に入りのURLはリダイレクトした新しいページへ変更する必要があります。
似たようなステータスコードに「302」があります。302もページが移動されたことを確認するステータスコードですが、一時的な移動を意味します。何らかの理由で、また元のURLに戻ってくることを確認するためのステータスコードです。
301 Moved Permanentlyが表示される原因とはどのような原因なのか確認しておきましょう。
301 Moved Permanentlyが表示される原因とは、サイトの運営者がリダイレクトされる新しいURLへ完全に移行したことを、サイトの利用者とクローラーに対して伝える目的で、古いURLのサーバーのLocationヘッダーに設定したためです。
クライアントがページの表示をリクエストしても、Locationヘッダーで示されたURLへ完全に移動したことを301 Moved Permanentlyで返答します。
301 Moved Permanentlyが返されて一時的に表示されたクライアント側のブラウザは、今度は301 Moved Permanentlyに記載されている新しいURLへのアクセスをリクエストします。301 Moved Permanentlyに記載されているURLが正しければ、新しいURLのサイトがリソースをレスポンスして、表示できるようにします。
一度アクセスしたページとは違うページが表示されるリダイレクトは、301 Moved Permanentlyでは自動で行われるために、特にユーザーの操作は必要ありません。
また、301 Moved Permanentlyのリダイレクトが行われたときには、ユーザーのブラウザの履歴には、リダイレクトされる前のURLは残らずに、リダイレクト後のURLへのアクセス履歴のみが確認できます。
なお、サイトの運営者が301 Moved Permanentlyを設定するメリットは、クローラーに対して移行前のページと移行後のページが全く同じ物であることを確認させる目的もあります。
301 Moved Permanentlyを設定することによって、Googleの移動前の評価をそのまま新しいページへ引き継がせることができるSEO面での対策の意味合いもあります。