簡単web関連

【保存版】Webぺージのリダイレクトについて

HTMLについて
  1. リダイレクトについて
  2. 最適なリダイレクト方法はこちら!
  3. クライアントサイドのリダイレクトを使用する場合

リダイレクトについて

サイトの移管や、製品の販売終了・キャンペーンの期間終了などで、ページにたどり着いたユーザーを別の新しい情報が載ったページに遷移させる「リダイレクト」と呼ばれる方法ですが、その方法に関して種類があることをご存知ですか?

リダイレクトには、大きく分けて以下の2種類の方法があります。

サーバーサイドのリダイレクト

ユーザーが訪れた時、サーバーはリダイレクト先のページをブラウザに返します。
この方法では、リダイレクト元の情報をユーザーが見ることはありません。

例:301リダイレクト、302リダイレクト など

クライアントサイドのリダイレクト

ユーザーが訪れた時、サーバーはリダイレクト元、リダイレクト先、両方の情報を返したのち、
ブラウザがリダイレクトを実行します。

例:JavaScriptによるリダイレクト、Meta Refreshによるリダイレクト など

最適なリダイレクト方法はこちら!

可能であれば、Googleが推奨している「301リダイレクト」か「302リダイレクト」を使用ください。
「.htaccess(分散設定ファイル)」を使用する必要があるため、どうしても使用が出来ない場合は、クライアントサイドのリダイレクトを使用しますが、別物のページとして認識されるため、基本的にはPageRankは引き継がれませんのでご注意ください。

301と302リダイレクトはどちらを使うべき?

結論としては、この2つはリダイレクトの意図によって使い分けてください。

301リダイレクト … 恒久的な転送

ページの移動で元のURLを使用しない場合に使います。
検索エンジンにリンク先のページを表示して欲しい時に使用します。
ほとんどのケースでこちらを使用します。

302リダイレクト … 一時的な転送

あまり使用されることはありませんが、
一時的なURLの変更などの場合はこちらを使用します。

以前は、302リダイレクトに関しては、
一時的な転送なので移転先のページに評価を引き継ぐことは無いと言われておりましたが、
2017年に発表された仕様変更により、どちらでも引き継がれるようになりました。

.htaccess…
Apacheを用いたサーバーにて、ベーシック認証、404エラーページの作成、リダイレクト設定などを行う時に使用するファイル。サーバー管理者の許可が必要

クライアントサイドのリダイレクトを使用する場合

サーバー権限などによって、サーバーサイドのリダイレクトが使えない場合は、以下のいずれかの方法でリダイレクトしてください。

ヘッダー内に以下の記述を追加するだけで対応可能です。

META Refreshによるリダイレクト

<meta http-equiv=”refresh” content=”0;URL=https://zatsu-dan.com“>

JavaScriptによるリダイレクト

<script>
<!––
 setTimeout(“link()”, 0);
 function link(){
  window.location = “https://zatsu-dan.com”;
 }
––>
</script>

数字(0)の部分…リダイレクトを開始するまでの時間
URLの部分…リダイレクト先のURL

リダイレクトまでの時間を設定する場合は、ページの上部に「こちらのページは移転しました。〇秒後にジャンプします」などのコメントをいれてあげると親切です。