リダイレクトとは?301と302の設定方法

目次
リダイレクトとは
ユーザーを自動的に別ページへ移動させる設定です。ホームページのリニューアル時や、ドメイン変更の際にURLが変わる場合などで、多く使われています。
リダイレクトをするメリット
ページエラーが発生しないので、ユーザー離脱率を下げることができます。また、適正な設定を行うことで、古いページのSEO評価を新しいページでも引き継ぐことができます。
302リダイレクト(一時的なもの)
「サイトメンテナンスのため、一時的に別サイトを表示したい」など、一時的な移動であり、元のURLに戻る予定がある場合に使用します。
.htaccessファイルを使用する場合(Apacheサーバー)
Redirect 302 /old-urlhttp://www.example.com/new-url
PHPでサーバーサイドスクリプトを使用する場合
<?php
header("Location: http://www.example.com/new-url", true, 302);
exit();
?>
JavaScriptを使用する場合
JavaScriptを使用する場合、window.location.replace
を使ってリダイレクトを実行します。ただし、SEOの観点からはサーバーサイドでのリダイレクトが推奨されます。
window.location.replace("http://www.example.com/new-url");
301リダイレクト(永続的な設定)
永久的にURLを変更した際に使用します。SEOにおいて、リンクの評価を新しいURLに引き継ぐため、googleからは推奨されてます。
301リダイレクトに関する。google記事はこちらです。
.htaccessファイルを使用する場合(Apacheサーバー)
この例では、/old-url
にアクセスしたユーザーが永久的にhttp://www.example.com/new-url
にリダイレクトされます。
Redirect 301 /old-url http://www.example.com/new-url
もしくは、RewriteRule
を使用する方法もあります
こちらの設定では、正規表現を用いてold-url
にアクセスした場合にリダイレクトが行われます。
RewriteEngine on
RewriteRule ^old-url$ http://www.example.com/new-url [R=301,L]
PHPでサーバーサイドスクリプトを使用する場合
このPHPスクリプトを実行すると、ユーザーは永久的に新しいURLにリダイレクトされます。
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.example.com/new-url");
exit();
?>
まとめ
リダイレクトには「302リダイレクト(一時的なもの」と「301リダイレクト(永続的なもの)」の2種類あります。
適切に設定をすることでSEO評価を引き継いだり、ユーザーの利達率を下げることができます。
ぜひ本記事をご参考いただけると幸いです。