リダイレクトとは、あるページへ訪れたユーザーを別のURLへ自動で移動させることを意味します。
SEO対策においてリダイレクトを用いるシチュエーションはしばしばあります。そこでこの記事ではリダイレクトが使われるシチェエーションや、リダイレクトの設定方法について解説していきます。
301リダイレクトと302リダイレクトの違い
リダイレクトには301リダイレクトと302リダイレクトの二つがあります。以下では両者の違いを理解してもらうために、それぞれの特性や使うシチュエーションについて紹介していきます。
言葉の定義と継続性について
301リダイレクトは恒久的な転送を意味する言葉です。対象のページへクリックすると別の対象ページへ遷移させることができる状態を、継続させるために用いられます。
一方、302リダイレクトは、一時的な転送を意味する言葉であり、遷移させる状態を一時的に留めておくために使われます。
リダイレクトの状態が一時的な302リダイレクトに対して、ソースコードで指定されている限りは継続的に状態が続くため、301リダイレクトを完全な移行と呼びます。
使うシチュエーション
301リダイレクトの場合
301リダイレクトは主に、前ページからの評価の受け継ぎをしたい場合に用いられます。具体的な使用の例としては、以下のシチュエーションが想定できます。
- 別ドメインへ移行する場合
- SSL化を設定する場合
- パーマリンク(URLの末部分)や階層(ディレクトり)名が変わる場合
- 重複コンテンツが自サイトで見つかった場合
- www有無を統一する場合
301リダイレクトを行わずに、URLを移動させるとGoogleからの評価が継承されず、そのページからのアクセスは無くなってしまうので気をつけてください。
302リダイレクトの場合
反対に302リダイレクトは、遷移先のURLに評価が継承されず、元のURLに残ります。302リダイレクトは、大体、数日〜1週間以内の間、特定のページを遷移させる状態にしたい場合に用いられます。
具体的な使う例としては、以下のようなシチュエーションが想定できます。
- 季節物のキャンペーンページを一時的にトップページに持ってくるため、トップページのURLから遷移させたい
- 地域の情報によって提供する情報(URL)を変えたい
- ソースコードが異なるので、スマホユーザーからのアクセスはPCページからスマホページへ遷移させたい
.htaccessを使ったリダイレクトの設定方法
SEO対策を行う方の多くは、『.htaccess(※)』を介してリダイレクトを行います。SEO対策において最も推奨されているリダイレクトのやり方だからです。
※.htaccess:ディレクトリ単位の設置や設定ができるファイル。ご利用のサーバーがApache(Webサーバーのソフトウェア)を用いられている場合にご利用可能です。
以下ではシチュエーション別に、.htaccessを使ったリダイレクトの手法を紹介していきます。
ページ単位でリダイレクトする場合
まず、Wordpressを使っている方であれば、Wordpressのフォルダに『.htaccess』のファイルが保存されていると思います。そうでない方は、テキストエディタで、拡張子を.htaccessにしたファイルを作成しましょう。
作成したら、ページ単位でリダイレクトする方法の記載例を以下でまとめたので、ドメイン、URL名を適切な形に書き換えてご利用ください。
【例】「http://リダイレクト.com/page/1/」から「http://リダイレクト.com/page/2/」への移行
redirect 301 /page/1 http://リダイレクト.com/page/2/
ディレクトリ単位でリダイレクトする場合
続いてディレクトリ単位でリダイレクトする場合を紹介します。
ディレクトリとは、URLをスラッシュで区切る際、2階層目に来るものを指し、末端のページをまとめるフォルダに該当します。
ディレクトリ名にはどのような内容のページが含まれているのかを示すために、カテゴリ名が用いられることが多いです。
ディレクトリで指定する場合は、以下のような記述方式になります。
「https://web-come.com/seo/」から「https://web-come.com/marketing/」
RewriteEngine on
RewriteRule ^seo(.*)$ /marketing$1 [L,R=301]
この手続きを行うことで、以下のようにファイル名が変更されます。
httpからhttpsへリダイレクトする場合
SSL化する際には全ページのURLの冒頭をhttpsへ変えなければなりません。
記載方法の例は以下を参考ください。
# httpからhttps Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https:// web-com.com /$1 [R=301,L]
引用:ssl化について
wwwあり(なし)からなし(あり)へリダイレクトする場合
wwwの有無を統一するためのリダイレクトの記述方法は以下の通りになります。
《引用》
# wwwなしへの統一 Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www. web-com.com \.com RewriteRule ^(.*)$ https:// web-com.com /$1 [R=301,L] # wwwありへの統一 Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^ web-com.com RewriteRule ^(.*)$ https:// www.web-com.com /$1 [R=301,L]
引用元:www有無を統一させる方法
.htaccess以外のリダイレクトの設定方法
続いて『.htaccess』への記述以外でリダイレクトする方法について紹介します。
php【条件分岐が複雑な場合】
まず条件分岐を行うなど内容が複雑になる時、phpを介してリダイレクトを行います。
その際、リダイレクト元のファイルに、リダイレクトに関するコードを記述します。
記述の例については以下の通りです。
【例】『webcome1.php』から『webcome2.php』へのリダイレクト
<?php
//webcome1.phpのファイル内
header( "Location: ./webcom2.php" ) ;
exit ;
?>
javascript【htaaccessが使えない場合】
htaaccessの使用やphpでリダイレクトできない場合、javascriptを使ってリダイレクトするのが一般的です。転送元のファイルにリダイレクトに関する記述をします。
記述方法は、以下を参考にしてください。
《引用》
<script type=”text/javascript”> <!– setTimeout(“link()”, 0); function link(){ location.href=’https://(転送先のURL)’; } –> </script>
引用元:SEO研究所サクラサクラボ
javascriptが向こうのブラウザ環境でアクセスした場合、転送されないので注意してください。
meta refresh【秒数指定で遷移させたい場合】
『ホームページ移転のため〜秒後に移転先へ飛びます』のように遷移させるまでの時間を設ける場合に、『meta refresh』を用います。
『meta refresh』は転送元のファイルのhtmlのheadタグの中に記述をします。
【例】5秒後に「webcome2.html」へ転送される場合
<meta http-equiv=”refresh” content=”5;URL=’webcome2.html'” />
引用元:SEO研究所サクラサクラボ
記述方法はこの通りになり、content=”●の箇所には具体的な秒数を指定できます。SEOの観点からこの方式によるリダイレクトは推奨されておりません。
リダイレクトを行う上でSEO上、気をつけるべきこと
最後にリダイレクトを行う上での注意点を紹介します。
悪い評価も継承する
まずリダイレクトは、前ページの評価を受け継ぐために行われますが、前ページの評価が悪かった場合、その評価も継承されます。つまりは元のページがペナルティを受けていたり、検索順位が低かった場合、リダイレクトさせるべきではないでしょう。
一時的にアクセス数が落ちる
すぐ評価を受け継げるわけではありません。リダイレクト後のURLで正しくインデックスされるまでに1ヶ月以内の時間を要しますし、その間、一時的に検索順位が下がるので、結果的にアクセス数が落ち込む可能性が高いです。
評価が100%継承されるわけではない
またリダイレクトを行ったからといって、100%、前のページの評価が引き継がれるとは限りません。一般的には10%以内の範囲内で、評価が落ちると言われているので、リダイレクトする際はその点も配慮すると良いでしょう。