サイトのリダイレクト

サイトのリダイレクト

meta refreshや.htaccessを使ったリダイレクトについて

ウェブサイトを運用していますと、サイトの移転やドメインの変更、特定のディレクトリのコントロールなどのスキルが必要になってきます。
その際に活躍するのが各種リダイレクト(ページ転送)の記述になります。
正しい知識を持って記述しなければ、最悪検索エンジンからのペナルティを受けてしまうことにもなりかねません。

ここでは目的毎のリダイレクト手法についてみていきましょう。


リダイレクトの種類

サイトのリダイレクトには大きく3つの手法があります。
Meta Refresh(メタリフレッシュ)のみ.htaccessではなくhtml内に記述します。

リダイレクト種301リダイレクト302リダイレクトMeta refresh
.htaccessに記述✔︎✔︎
html内に記述(headタグ内)✔︎
ページランク引継ぎ✔︎
恒久的なアドレス変更✔︎
一時的なURL変更向き✔︎✔︎
リダイレクト目的別の手法

301リダイレクト

.htaccessファイルを使用した最もポピュラーなリダイレクト手法になります。
サイトが移転した、アドレスが変わった場合に使用します。

移行前の旧サイトの評価資産を引き継ぐことができるので、恒久的なアドレス変更に向いています。 

302リダイレクト

.htaccessファイルに記述をして、サーバ側でリダイレクトの処理を行います。
301リダイレクトの違いとしては、移行前のサイトの資産(検索エンジンの評価)を移行先のサイトへ引き継ぐことが出来ません。
一時的なメンテナンス画面の表示、サイト障害による別サイトへの退避など数時間から数日の間使うのが302リダイレクトとなります。

Meta Refresh(メタリフレッシュ)

HTMLタグの一種で最も簡単にリダイレクトが出来ます。
サイトに訪れた人を指定のサイトへ飛ばすことができます。
サイトのアドレスが変わった時にユーザーにお知らせすることが出来ますね。

指定のサイトへ何秒後にリダイレクトさせる、といった使い方が可能です。
注意点としては、移行前のサイトの資産(検索エンジンの評価)を移行先のサイトへ引き継ぐことが出来ない、ということです。

あくまでも移動させる、という手法になります。<pre>〜</pre>のコードを各ページの<head>タグ内に記述させてください。


301リダイレクト記述例(恒久的)

例) http://abc.defghi.jk/ から https://www.sample.com/ にリダイレクト

RewriteEngine on
RewriteCond %{HTTP_HOST} abc\.defghi\.jk [NC]
RewriteRule .* https://www.sample.com%{REQUEST_URI} [L,R=301]

例) abc.htmlを https://www.sample.com/ にリダイレクト

RewriteEngine On 
RewriteRule ^abc\.html$ https://www.sample.com/ [R=301,L]

 PHPファイルでhttps://www.sample.com/ にリダイレクト

<?php
header(‘Location: https://www.sample.com/’, true, 301); 
exit(); 
?>

302リダイレクト記述例(一時的退避)

 例) http://abc.defghi.jk/ から https://www.sample.com/ にリダイレクト

RewriteEngine on
RewriteCond %{HTTP_HOST} abc\.defghi\.jk [NC]
RewriteRule .* https://www.sample.com%{REQUEST_URI} [L,R=302]

例) abc.htmlを https://www.sample.com/ にリダイレクト

RewriteEngine On 
RewriteRule ^abc\.html$ https://www.sample.com/ [R=302,L]  

 PHPファイルでhttps://www.sample.com/ にリダイレクト

<?php
header(‘Location: https://www.sample.com/’, true, 302); 
exit(); 
?>

meta refresh記述例(headタグ内)

 例) https://www.sample.com/ に0秒後にリダイレクト

<pre>
<meta http-equiv=”refresh” content=”0;URL=https://www.sample.com”>
</pre>

 例) https://www.sample.com/ に20秒後にリダイレクト

<pre>
<meta http-equiv=”refresh” content=”20;URL=https://www.sample.com”>
</pre>