リダイレクトとは?種類ごとの違いや仕組み、注意点、SEO効果について解説
リダイレクトとは、サイトやページに訪れたユーザーを、別のURLへ自動的に転送する仕組みのことです。
サイト移転やURLの変更時などでリダイレクトを意識するときが、SEO上重要なタイミングであることが多いです。そうした際に、数種類のリダイレクトをどのように用いればいいか気になっている方も多いのではないでしょうか。
今回の記事では、リダイレクトの意味や概要の基本から、推奨される種類と効果の違い、具体的な設定方法までを、SEOの観点で詳しく解説します。
この記事のポイント
- リダイレクトとは、ユーザーを別URLに自動で転送する仕組みを指す
- サーバーサイドとクライアントサイド(ブラウザ)で行われるリダイレクトの2種類があり、基本的にはサーバーサイドリダイレクトが推奨される
- 301リダイレクトは、URLが恒久的に変更された場合に用いられ、302リダイレクトは一時的な転送を表す
また、以下の資料では、リダイレクト設定するタイミングであるサイトのリニューアル時にSEO上で気をつけるべきポイントをまとめています。
\サイトリニューアルで気をつけるべきポイントはこちらから/
目次
そもそもリダイレクトとは?どんな意味?
リダイレクトとは、特定のサイトやページに訪れたユーザーを、別のULへ自動的に転送する仕組みのことを指します。
例えば、運営しているサイトがこれまで使っていたURLから、新しいURLに変更したとします。このときに何もしないままでは、既存のユーザーは古いURLへとアクセスし続け、新しいサイトやページが閲覧されない事態が発生します。
このタイミングこそが、リダイレクトの必要な時です。リダイレクトを設定することで、古いページから新規ページへ自動的に遷移するため、ユーザーを新しいページに誘導することができるようになります。
ほかにも、
- 使用するデバイスによってURLを出し分ける
- 決済完了後、自動的にページを遷移させる
といった目的などでもリダイレクトは活用されます。
リダイレクトの重要性
リダイレクトを設定する目的の1つに、ユーザビリティが悪くならないようにすることがあります。
リダイレクトを設定していないままだと、ユーザーは旧サイトの更新されていない古い情報を見続けることになります。また、旧サイトをクローズ(404)してしまった場合は、新サイトにユーザー自身が移動しなければなりません。
適切にリダイレクトを設定すれば、こういったユーザビリティの悪化を防ぐことができます。
また、SEOの観点から考えてもリダイレクトは重要です。URLを変更した際にリダイレクト設定していないと、Googleなどの検索エンジンは、新しいページを別ページとみなすため、これまで積み上げた評価がリセットされてしまうのです。
正しくリダイレクトの設定を行えば、旧ページの検索エンジンの評価が新しいページに引き継がれるため、順位などのパフォーマンスをほとんど落とすことなく移行できます。
ただし、サイトリニューアル時のリダイレクトには、ほかにも注意しなければならない点があります。以下の資料にはサイトリニューアル時に気をつけるべきSEO上のポイントをまとめていますので、ぜひ参考にしてください。
\サイトリニューアルで気をつけるべきポイントはこちらから/
リダイレクトの設定が必要なタイミングとは?
前述したとおり、リダイレクトはウェブサイトの運営を行なっていく上でユーザビリティやSEOの観点からも覚えておくべきポイントです。
実際には、どういったときにリダイレクトが必要なのでしょうか。リダイレクトの設定が必要になるのは、主に以下のようなタイミングのときです。
- サイトのリニューアルを行なったとき(URLを変更)
- サイトのドメインを変更したとき
- PCからURLが異なるスマートフォンに移行させたいとき
- メンテナンス時など一時的に閲覧できないとき
- 期間限定キャンペーンなど一時的に閲覧してもらいたいページがあるとき
このようにリダイレクトが必要な状況は多様にあります。
サイトリニューアル時のリダイレクト方法については、以下の記事にてわかりやすく解説していますので、ぜひ参考にしてください。
リダイレクトの種類と違い
リダイレクトには大きく分けて、以下の2種類があります。
- .htaccessやPHPを用いるサーバーサイドのリダイレクト(HTTPリダイレクト)
- JavaScriptやmeta refreshを用いるクライアントサイドのリダイレクト
よく目にする「301リダイレクト」や「302リダイレクト」は、サーバーサイドのリダイレクトにあたり、SEOの文脈でGoogleが推奨する方法になります。
ここからは同じサーバーサイドのリダイレクトである「301リダイレクト」と「302リダイレクト」の違いや特徴についてみていきましょう。
301リダイレクト
「301リダイレクト」とは、URLが恒久的に変更された場合に用いられる転送処理のステータスコードです。
301リダイレクトは、以下のように「元のURLを今後使うことがない場合」に行います。
- サイトを丸ごとリニューアルしてURLが変更された場合
- SSL化をしてhttpからhttpsに変更した場合
- URLの正規化を実施する場合
検索エンジンも「新URLが表示すべきページ」だと認識し、基本的には速やかに新URLへインデックスが移行され、前のページの評価もそのまま引き継がれます。
302リダイレクト
「302リダイレクト」は、URLが一時的に変更された場合に用いられる転送処理のステータスコードです。
302リダイレクトをする場合は、以下のように一時的な変更を伝えるときに使います。
- A/Bテストでリダイレクトテストを実施するとき
- メンテナンス時に一時的に閲覧不可にするとき
- PCとスマートフォンで表示するURLを変えたいとき
- 一時的にキャンペーンページなどを経由してもらいたいとき
302リダイレクトは、一時的な変更の意味の通り、検索エンジンも「いつか元のURLに戻る可能性がある」と判断します。そのため、新URLのインデックス登録には、301リダイレクトに比べると時間がかかる傾向です。
ウェブサイト移転時などは301リダイレクトが推奨されます。なお、302リダイレクトでもページ評価は引き継がれますので、安心してください。
301リダイレクトと302リダイレクトの特徴や違いをまとめると、以下の通りです。
もしここまで読まれて、内容や設定方法が難しいようでしたら以下のバナーよりナイルへご相談ください。ナイルが力になります。
サーバーサイドのリダイレクト
ここからは、リダイレクトする仕組みの違いについて解説します。サーバーサイドでリダイレクトを設定する場合は、以下の2つの方法があります。
- .htaccessによるリダイレクト
- PHPによるリダイレクト
.htaccessによるリダイレクト
.htaccessによるリダイレクトは、管理のしやすさ、設定のしやすさから最も推奨できるリダイレクト方法です。
ただし、.htaccessは、Apacheが使用されているサーバーであること、またサーバー上で.htaccessファイルにアクセスすることができるという条件が整っていないと、設定することはできないので注意しましょう。
1ファイルにまとめて記述できるほか、ファイル別やディレクトリ別など細かく設定することができます。wwwの有無や末尾のスラッシュ(トレイリングスラッシュ)など一括の対応は.htaccessで行うと便利です。
PHPによるリダイレクト
PHPによるリダイレクトとは、htmlファイルの先頭にheader関数を記述するリダイレクト方法です。
なお、リダイレクト時のステータスコードを設定することができますが、デフォルトの場合は302リダイレクトになってしまうため、サイト移転時などは301リダイレクトを必ず設定しましょう。
URLごとに設定ができることは便利ではあるのですが、管理の観点からは.htaccessがおすすめです。
クライアントサイドのリダイレクト
サーバーサイドでのリダイレクトについて紹介しましたが、クライアントサイドでリダイレクトを設定するケースもあります。
クライアントサイドでリダイレクトを設定する場合は、以下の2つ方法が用いられます。
- JavaScriptによるリダイレクト
- meta refreshによるリダイレクト
JavaScriptによるリダイレクト
JavaScriptによるリダイレクトとは、リダイレクト元のページ内の「scriptタグ」にリダイレクト用の「JavaScript」を記述してリダイレクトを設定する方法です。
JavaScriptによるリダイレクトをGoogleは適切に処理できるため、サーバーサイドのリダイレクトができない場合の第一候補になります。なお、ユーザーがJavaScriptを無効にしている場合は当然適用されないので注意しましょう。
また、特に意識しないとパラメータやリファラ情報を拾えなくなり、どのページから訪問したのかがわからなくなってしまうため、計測に影響を及ぼします。
以下の参考サイトを元に開発部門と相談しながら実装をしましょう。
参考:やはり、お前らのJavaScriptでのリダイレクト実装は間違っている - Qiita
metarefreshによるリダイレクト
meta refreshによるリダイレクトとは、metaタグの「http-equiv属性」に“refresh”を設定することでリダイレクトを設定する方法です。
そのため、htmlリダイレクトやmeta refreshリダイレクトとも呼ばれることもあり、昔は良く見られるリダイレクトの方法のひとつでした。
しかし近年では、HTMLの基準を定めるW3C やGoogleからも非推奨とされており、あまり見かけることもありません。基本的には.htaccessやPHP、JavaScriptによるリダイレクトもできない場合の最後の手段として使うようにしましょう。
リダイレクトの種類まとめ
リダイレクトには「サーバーサイド」と「クライアントサイド」で行うリダイレクトがあり、確実性やSEOの観点ではサーバーサイドのリダイレクトが推奨されています。
また、サーバーサイドのリダイレクトは「.htaccess」「PHPリダイレクト」が代表的であり、管理などの観点から「.htaccess」が最も推奨されます。
一方、クライアントサイドのリダイレクトには「JavaScriptリダイレクト」「meta refresh」の2種類がありますが、それぞれデメリットもあるため、サーバーサイドリダイレクトが使用できない場合に使用するのがおすすめです。なかでも、「meta refresh」は最後の手段としましょう。
リダイレクトの設定方法
ここからはこれまで紹介した、以下の4つのリダイレクトの設定方法をそれぞれ紹介します。
- .htaccess
- PHP
- JavaScript
- meta refresh
.htaccess
.htaccessのファイルがあるかサーバー内を確認します。サーバー内にファイルがない場合は、テキストエディタなどで新たに.htaccessファイルを作成し、該当するリダイレクトの記述を行いましょう。
リダイレクトの範囲によって記述が異なりますので、以下を参考にしてください。
ページ単位の場合
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(リダイレクト元URL)$(リダイレクト先URL)[R=301,L]
</IfModule>
ディレクトリ単位の場合
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^old(元のディレクトリ)/(.*)$ /new(リダイレクト先のディレクトリ)/$1 [R=301,L]
</IfModule>
ドメイン単位の場合
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(元のドメイン)
RewriteRule ^(.*) (新しいドメイン)$1 [R=301,L]
</IfModule>
SSL化によるURLの変更の場合
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*) (SSL化したリダイレクト先URL)$1 [R=301,L]
</IfModule>
URLを正規化する場合(www有りからwww無しにする場合)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www有ページURL)
RewriteRule ^(.*) (www無しURL)$1 [R=301,L]
</IfModule>
上記の方法でリダイレクトが設定できない場合は、以下の記事を参考にしてみてください。
PHP
次にPHPでリダイレクトの設定を紹介します。特定のページをリダイレクトする場合は以下の通りです。
<?php
header('Location: (リダイレクト先のURL)', true, 301);
exit();>
*記述時、(リダイレクト先のURL)部分の()は除く。
PHPでそのままリダイレクトを設定すると302リダイレクトになってしまうため、301リダイレクトを設定したい場合は、上記のように記述してください。
JavaScript
クライアントサイドでリダイレクトする場合は、JavaScriptを使って以下のように記述します。
<script type="text/javascript">
setTimeout("link()", 0);
function link(){
location.href='(リダイレクト先のURL)';
}
</script>
*記述時、(リダイレクト先のURL)部分の()は除く。
「使用しているサーバーでは、リダイレクトできない......」といったケースで、JavaScirptを使ったリダイレクトを設定することがあるので覚えておきましょう。
metarefresh
リダイレクトを伝えるページを表示してからリダイレクトをしたい場合は、meta refreshも利用可能です。
<meta http-equiv="refresh"content="リダイレクト先に飛ばすまでの秒数;URL=(リダイレクト先のURL)">
*記述時、(リダイレクト先のURL)部分の()は除く。
しかしSEOの評価を引き継げなかったり、ブラウザによってサポートされていなかったりすることもあり、Googleからも非推奨となっています。そのため、ほかのリダイレクトがどうしても利用できない場合のみ、利用を検討すると良いでしょう。
また、リダイレクト目的で使用する場合は、秒数を0秒に設定しましょう。そうすることで、扱いとしてはそのほかのリダイレクトと同じように処理されます。
リダイレクトの設定の際の注意点
リダイレクトを設定する際は、同じテーマ同士のページをリダイレクトするようにしましょう。旧ページと新ページで内容が異なれば、ユーザーの混乱を招きますし、SEOの評価にも影響を与える恐れがあります。
また、上記のことを踏まえた上で、3つの注意点があります。
注意点1 サイト移転後すぐにリダイレクトを解除しない
リダイレクト設定は、 サイト移転後もそのままにしておいて問題ありませんが、管理の手間を考慮して解除するケースが多いです。
しかし、サイト移転が完了したからといって、すぐにリダイレクトを解除するのはおすすめできません。すぐに解除するとSEOの評価引き継ぎが終わっていなかったり、ブックマークしているユーザーが移転を確認できていなかったりする場合があるためです。
リダイレクトの期間に明確な基準はありませんが、GoogleのGary氏は「少なくとも1年。ユーザーのために、可能であれば無期限にリダイレクトを保持してみてください。」と発言しているため、最低でも1年は設定しておくのがおすすめです。
注意点2 リダイレクトチェーンを避ける
リダイレクトはサイトの遷移に便利ですが、リダイレクトでページをつなげるリダイレクトチェーンは避けなければなりません。
リダイレクトチェーンとは、例えばページAからページBへリダイレクトし、そのページBからページCへもリダイレクトし、さらにそのページCからページDへリダイレクトしている状態のことを指します。
この例では3回もリダイレクトが続いており、ページAにアクセスしてからページDに到達するまでに時間がかかります。ユーザーの体験が損なわれるほか、SEOの評価を下げる要因にもなりかねません。
長期間サイトを運営しているとリダイレクトの関係性が複雑になり、リダイレクトチェーンが発生しやすくなるため、定期的に確認して整理しましょう。
注意点3 リダイレクトループを避ける
リダイレクトループとは、リダイレクト処理が繰り返されて終わらない状態を指します。
例えば、ページAからページB、ページBからページAと、ページA・B間をループしている状態です。リダイレクトループが発生した場合、ブラウザにエラーが表示され、どのページにもアクセスできない状態に陥ります。
リダイレクトループに陥ると読者が読みたいページにアクセスできないため、原因を突き止めて修復しなければなりません。ただし、ページ設定の変更でミスをするとサイト全体が崩れてしまう恐れがあるため、専門的な知識を持つエンジニアに対応してもらいましょう。
なお、サイトをリニューアルする場合は、リダイレクト以外にも注意しておきたいポイントがあります。「サイトリニューアルでSEO上、絶対に気をつけるべき11のポイント」を無料でダウンロードできる資料にまとめているので、ぜひご活用ください。
リダイレクトの確認方法
リダイレクトを確認する方法は、大きく分けて2つあります。
リダイレクトの確認方法
ツールを使った確認が簡単でおすすめですが、手動でも確認できます。どちらの方法でも対応できるように、対応方法を覚えておきましょう。
手動で確認する方法
Google Chromeのブラウザを使用している場合、手動でリダイレクトを確認する方法が2つあります。
- デベロッパーツールを使用する
- 拡張機能を使用する
デベロッパーツールとは、Google Chromeの開発者向け検証ツールのことです。Google Chromeの画面右上にある3点リーダーアイコンから、「その他ツール」→「デベロッパーツール」と選択することで起動できます。
デベロッパーツールで確認する方法は、下記を参考にしてください。
- 「Network」タブを選択
- 「Preserve log」にチェックを入れる
- 動作確認したい旧URLにアクセスする
- 「Name」の右側にある「Status」で状態を確認する
- 「Name」から動作確認をしたいURLを選択する
- 右側に表示される画面からタブ「Headers」の「General」にてリダイレクトの動作確認をする
少し手順を踏む必要はありますが、難しいことはありません。
また、拡張機能「Redirect Path」を導入することでも、リダイレクトの確認が可能です。
「Redirect Path」をインストールして有効化した後、動作確認をしたい旧URLにアクセスします。拡張機能のアイコンに「301」や「302」などリダイレクトの表示がされれば、リダイレクト処理がされています。
ツールを使って確認する方法
リダイレクトの確認は、ツールを使う方法が簡単です。代表的なリダイレクトチェックツールは、下記が挙げられます。
いずれのツールを使う場合でも、動作確認をしたいURLを入力してボタンを押すだけで完了します。手動確認よりも簡単なので、基本的にはツールを使うのがおすすめです。
リダイレクトの警告や不正が出た時の対処法
リダイレクトが実行される際に、以下の2種類の警告が出ることがあります。ここからは、それぞれ警告が出てしまった時の対処法を紹介します。
- リダイレクトの警告が出た場合の対処法
- 不正なリダイレクトが出た場合の対処法
リダイレクトの警告が出た場合の対処法
リダイレクト先が閲覧者にとって不利益になるものや、関連のないページの場合は警告が出てしまうこともあります。具体的な原因は、以下の5つが考えられます。
- cookieが原因の場合
- リダイレクト先がSSL化できていない場合
- リダイレクト先が関係ないページの場合
- リダイレクト先のURLを短縮URLにしている場合
- リダイレクトループ、リダイレクトチェーンが長くなる場合
警告が出てしまう場合は、リダイレクト先をSSL化しセキュリティ面を強化したり、短縮URLではなく元のURLに記述を変更したりなどで解消されるでしょう。
それでも警告がなくならない場合は、一度自分のCookieを削除し自分のパソコン自体に問題がないか確認してみるのがおすすめです。
不正なリダイレクトが出た場合の対処法
不正なリダイレクトと判断されると検索順位が下がるなどのペナルティが発生してしまうため、早急な改善が必要です。ですが、そもそも不正なリダイレクトとは、どういった場合に表示されるのでしょうか。
原因としては、以下の2つに該当している可能性があります。
- 検索エンジンでは正しいリダイレクト先が表示されるが、ユーザーには異なるページが表示される場合(クローキング)
- リダイレクト先が元ページと全く関係のないページ(スパムページなど)の場合
リダイレクトの設定ができていても、不正なリダイレクトの表示が出てしまう場合は、Googleから関連性がないと判断されてしまっている可能性が高いです。そのため、元ページとリダイレクト先に関連性を持たせる必要があります。
例えば、同じキーワードの設定やディスクリプションの設定にしてみたり、スマートフォンからリダイレクト先へ移動する場合のURLが正しいものになっているか確認してみたりするのがおすすめです。
リダイレクトの設定期間に関して
最後に、リダイレクトの設定期間に関して紹介します。リダイレクトの設定をしてもクローラーがリダイレクトを検出する前に解除してしまうと、新ページへ評価の引き継ぎがされず、順位の下落や、検索結果に表示されないという事態が発生します。
そのため、理想はずっと、最低でも1年間はリダイレクトを維持するようにしましょう。
この記事もチェック
また、決済後のページ遷移などでリダイレクトを使用する際に、リダイレクトの設定の仕方によっては自動で切り替わらないことも少なくありません。そのため、「自動で切り替わらない場合はこちらをクリック」などの文言を記載しておくことをおすすめします。
リダイレクトに関するよくある質問
最後に、リダイレクトに関するよくある質問を紹介します。
リダイレクトに関するよくある質問
WordPressでのリダイレクトの設定
WordPressでリダイレクトを設定する際は、「Redirection」というプラグインの導入がおすすめです。具体的な手順は下記を参考にしてください。
- 「Redirection」をインストールし、有効化する
- 左メニューの「ツール」から「リダイレクション」をクリック
- 「新しい転送ルールを追加」という画面で、旧URLと新URLを入力する
基本設定は301リダイレクトになっていますが、「編集」→「歯車アイコン」で302リダイレクトに変更できます。
リダイレクトの危険性やリスクについて
リダイレクトは、設定を間違えると意図しないページに読者を誘導してしまい、ユーザーの体験を損ねる恐れがあります。
SEOにも悪影響を与える可能性があり、サイトそのものの評価を下げる要因となりかねません。
リダイレクトは便利、かつ重要な設定ですが、ちょっとした設定ミスが大きなリスクにつながります。リダイレクト設定を間違えていないか定期的に見直して、適切な状態を保つようにしましょう。
リダイレクトの解除について
302リダイレクトは用事が済めば解除しますが、301リダイレクトは永続的なものなので基本的に解除する必要はありません。
リダイレクトを解除してしまうと、ブックマークから直接訪問するユーザーが、見たい記事へたどり着けなくなる恐れもあります。そのため、できればリダイレクトを解除せずにメディアを運営していくのがおすすめです。
メンテナンスにかかる手間の削減を目的にリダイレクトを解除する場合は、最低でも1年以上経ってから解除するのが好ましいとされています。
リダイレクトを正しく活用しよう
リダイレクトを正しく設定しないと、せっかくこれまで頑張ってきたSEOの評価を手放すだけなく、ユーザービリティを大きく下げることにもつながります。
サイトリニューアルやSSL化など、URLを変更する機会は決して少なくないからこそ、リダイレクトの重要性をしっかりと理解し、対応に抜け漏れが発生しないようにしましょう。
リダイレクトに関して、お困りでしたら弊社のコンサルタントがサポートいたしますので、お気軽にお問い合わせください。
なお、ナイルでは、サイトリニューアルでSEO上、気をつけるべきポイントをまとめた資料をご用意しております。
具体的な内容については、ダウンロードの上、ご確認ください。
サイトリニューアルで後悔したくない方へ
サイトリニューアルによる検索流入悪化、コンバージョン悪化を防ぐポイントを資料にまとめました。無料相談もお気軽にご利用ください!リニューアル実施の前後は問いません!
関連記事