リダイレクトとは?種類や必要性、設定方法までを詳しく解説
ページのメンテナンス時や、新しいURLへ移行したい場合に活用する設定がリダイレクトです。特に長期間サイト運営を行っている場合であれば、ページが積み重ねてきたSEOの評価は重要な資産といっても過言ではありません。
仮に新しいURLを一から使用するとSEOの評価はリセットされますが、リダイレクトを設定することによって、SEO情報の引き継ぎが可能となります。

リダイレクトとは?
リダイレクトは、古いサイトやページから新しいURLへ転送することです。
例えばサイトのドメインを変えた場合、古いURLのままでページは表示されません。ユーザーが仮に古いURLにアクセスした際は、何も表示されずにエラーページとなってしまいます。
そのため新しいURLへ誘導する役目として、リダイレクトは重要な設定です。ここでは、リダイレクトの仕組みを詳しく解説していきます。
リダイレクトの仕組み
設定したURLへ自動で転送する仕組みがリダイレクトです。
通常「http.example」にアクセスしてきユーザーには、URLの情報をそのまま表示します。しかし新しいURLとして「http.example-2」を転送先に設定することによって、元のURLである「http.example」にアクセスしてきたユーザーを自動で転送できます。
リダイレクトの流れ
- ユーザーが「http.example」にアクセス
- Webサーバーがユーザーへ「http.example-2」へのアクセスを要求
- ユーザーが「http.example-2」にアクセス
- Webサーバーが「http.example-2」の情報を返答
厳密には一度Webサーバーからユーザーへのアクセス要求を挟みますが、ユーザー側からは見た目が変わらずに自動で転送されている状態となります。
リダイレクトの必要性
リダイレクト設定が必要な理由は、閲覧ユーザーの利便性とSEOの評価を維持するためです。特にSEOの評価はサイト運営で欠かせない要素のため、どのサイトにも共通して重要な設定といえるでしょう。
ここでは、リダイレクト設定の必要性について詳しく解説していきます。
ユーザビリティを高めるため
リダイレクトを設定する主な理由は、ユーザビリティを高めるためです。
仮にサイトのリニューアルやページのメンテナンス時など別のURLを使用するタイミングでは、新しいURLをユーザーへ知らさなければいけません。
もしも何も設定していなければ、ページが表示されないだけでなく、ユーザーはサイト内でページを探し続ける状態となります。求めているページが見つからなければほとんどのユーザーはサイトから離脱してしまい、最終的にはサイト全体の評価を下げることにもつながるでしょう。
このようにリダイレクト設定がなければ新規・既存問わずに重要な顧客を失う行為となるため、ユーザービリティを高め、適切なURLを表示させることは重要です。
SEO対策を強化するため
リダイレクト設定が重要な理由は、ユーザービリティだけでなくSEOを対策するためでもあります。
仮に設定をしないままでいると、古いURLと新しいURLはまったくの別物と扱われます。そのため古いURLで積み重ねてきたSEOの評価は何も活かせません。
しかし正しく転送先に設定を行えば、古いURLのSEO情報を引き継ぐことが可能です。
特にアクセス数の多いページや、問い合わせ・購入への成果が高いページであれば、SEO情報の引き継ぎは欠かせない要素といえるでしょう。
SEOで評価を得ることは難しいため、長期間運営していたサイトであればあるほど重要な役割をもちます。
リダイレクトの種類
リダイレクトの主な種類は、301と302リダイレクトです。どちらも新しいURLへ転送する仕組みは同じですが、用途が異なります。検索結果に表示されるURLにも違いがあるため、目的に応じた設定を行いましょう。
ここでは、リダイレクトの2種類を解説していきます。
301リダイレクト
301リダイレクトは、永続的な転送を行う場合の設定になります。具体的な使用タイミングはこちら。
- サイト全体を移動する場合
- ページを完全に移動し、古いページを使用することがない場合
- ページをSSL化する場合
- 複数ページを一つに正規化する場合
- SEO情報を引き継ぎたい場合
301リダイレクトを使用すると検索エンジンは「古いURLに戻すことがない」という判断になり、古いURLからSEO情報を引き継げます。そのためサイト全体のリニュアールやドメインを変更する際に適した設定です。
また検索結果に古いURLは表示されないようになるため、ページの正規化を考えている場合にも使用しましょう。
302リダイレクト
302リダイレクトは、一時的な転送を行う場合の設定になります。
具体的な使用タイミングはこちら。
- 一部のページを短期的にリニューアルしたい場合
- メンテナンス専用のページへ誘導したい場合
- 期間限定で設置するキャンペーンページへ誘導したい場合
302リダイレクトの場合、ほとんどが1ヶ月以内の短い期間だと考えましょう。検索エンジンも「後から古いURLに戻す」という判断になるため、検索結果には古いURLも表示されます。
しかし長期間放置していると転送先URLにSEO情報が移る可能性もあるため、設定期間には注意をしましょう。301と302リダイレクトでは用途が異なるため、明確に使い分けることが重要です。
リダイレクトの設定方法
リダイレクトは記述先や設定方法から、サーバーサイドとクライアントサイドの2種類となります。
ここでは2つのリダイレクト設定を解説していきます。
サーバーサイドリダイレクト
まず1つ目の設定方法がサーバーサイドリダイレクトです。サーバーサイドはGoogleが推奨しているリダイレクトでもあり、Webサーバー上で設定する方法となります。
古いURLにアクセスするとサーバーが自動的にリダイレクトするため、ユーザーには新しいURLがすぐに表示される点が特徴です。
サーバーサイドでは、以下の設定方法を紹介します。
- .htaccessの設定
- PHPの設定
.htaccessの設定
.htaccessの設定は以下の流れとなります。
①テキストエディタで「.htaccess」ファイルを作成
②301リダイレクトの場合は以下をファイルに記述
aaaページからbbbページへ転送する場合
RewriteEngine on
RewriteRule ^aaa$ http://www.url.com/bbb [R=301,L]
③ファイルをWebサーバーにアップロード
[R=301,L]を [R=302,L]に変更すると、302リダイレクトになります。
ディレクトリごとの転送は以下になります。
- aaaからbbbへ転送する場合
- RewriteEngine on
- RewriteRule ^aaa(.*)$ /bbb$1 [R=301,L]
ドメインごとの転送は以下になります。
- aaaからbbbへ転送する場合
- RewriteEngine On
- RewriteCond %{http_host} ^www.aaa.com
- RewriteRule ^(.*) https://www.bbb.com/$1 [R=301,L]
PHPの設定
PHPの設定は、header関数を活用する方法になります。PHPでリダイレクト設定するには、HTMLファイルの先頭に以下を記述します。
<?php
http_response_code( 301 ) ;
header( “Location: aaa” ) ;
exit ;
aaaの欄に、転送先のURLを入力しましょう。
また転送先が同じディレクトリの場合は、aaaの前に「./」を追加します。
クライアントサイドリダイレクト
HTMLファイルにリダイレクト情報を記述する設定方法がクライアントサイドリダイレクトです。よくある例として「本ページは移転したため、3秒後に自動で転送されます。」といった文言が表示されます。
また転送先に正しく情報が引き継げない場合があるため、使用する際は注意をしましょう。
クライアントサイドでは、以下の設定方法を紹介します。
- JavaScriptの設定
- meta refreshのリダイレクト設定
JavaScriptの設定
サーバーサイドが使えない場合に、代替として利用できるのがJavaScript設定がです。JavaScriptであればクローラーが認識できるためSEO情報を引き継げますが、確実性は無いため注意しましょう。
JavaScriptで設定するには、HTMLファイルの<head>~</head>内に以下を記述します。
<script type=”text/JavaScript”>
<!–
setTimeout(“link()”, 0);
function link(){
location.href=’https://(aaa)’;
}
–>
</script>
aaaの欄に、転送先のURLを入力します。
またsetTimeoutには任意の秒数を入力できますが、0秒と入力しましょう。あまりにもリダの秒数が長いと、ユーザーが離脱する可能性が高まります。したがって最も短い0秒がおすすめです。
meta refreshの設定
meta refreshはHTMLファイルに直接記述することで、クライアントサイドリダイレクトを設定する方法です。
設定は簡単なもののGoogleからは推奨されていないため、SEO情報の引き継ぎを行えない可能性があります。したがってできるだけ前述で紹介した設定をおすすめします。
meta refreshのリダイレクト設定は、HTMLファイルの<head>~</head>内に以下を記述します。
<head>
<meta http-equiv=”refresh” content=”0;URL=aaa”>
</head>
aaaの欄に、転送先のURLを入力します。
またJavaScriptの設定と同様に、setTimeoutには0秒と入力しましょう。
リダイレクト設定時の注意点
リダイレクトは少しでも設定が間違っていると正しく転送できません。なかには転送が永遠に続いてしまう状態もあるため、設定時だけでなく定期的な確認をおすすめします。
ここでは、リダイレクト設定時の注意点について詳しく解説していきます。
リダイレクトループにならないようにする
リダイレクトが正しく設定されていない場合、ページを永遠に転送し続けてしまうリダイレクトループの状態になることがあります。リダイレクトループが発生するとユーザーはページへアクセスできないため、転送先や設定を再確認しましょう。
リダイレクトの確認は、無料ツールの「リダイレクトチェッカー」で確認できます。リダイレクト順に処理速度も表示されるため、定期的な確認にも活用可能です。
リダイレクト先を確認する
根本的な問題ではありますが、リダイレクト先が正しく設定されていなければページの転送は行われません。そのためリダイレクト先はかならず確認しましょう。
特にクライアントサイドリダイレクトを設定する場合、ユーザーのPCやブラウザ環境によって正常に作動しないことがあります。
さまざまな状況に対応するためにも「転送しない場合は下記をクリック」などの文言とともに転送先のURLを設置し、安心してユーザーを誘導できる状態にしておきましょう。
リダイレクト警告の原因と対処法
リダイレクト設定をしたものの、ページを開くと「リダイレクト警告」と表示されてしまう場合があります。リダイレクト警告はGoogleがなんらかの判断によって、転送先へのアクセスを危険視した場合に表示されるアラートです。
表示されるまま放置するとユーザーへ不安を与えてしまうため、早急に対象をしましょう。
ここでは、リダイレクト警告の原因と対処法について詳しく解説していきます。
ブラウザに保存されたCookie
最初に考えられる原因が、ブラウザに保存されているCookieです。Cookieとはユーザーがアクセスした際のログイン情報のことをいい、簡単に削除できるため最初に試してみましょう。
Cookieの削除方法はブラウザによって異なりますが、基本的に各ブラウザの設定画面から行えます。
GoogleChromeの場合は以下の流れです。
- Chromeの「設定」を開く
- 「プライバシーとセキュリティ」→「Cookieと他のサイトデータ」を選択
- 「すべてのCookieとサイトデータを表示」→「すべて削除」をクリックすると削除完了
非SSL化ページへのリダイレクト
つぎに考えるべき原因は、非SSL化ページへのリダイレクトです。Googleはセキュリティ強化の観点からSSLを推奨しています。そのためSSL化されていないページへ転送する際は、セキュリティ問題として警告が表示される仕組みです。
もしもリダイレクト設定を行いたい場合は転送先をSSL化し、再度設定しなおすことで解決できます。
関連性が無いページへのリダイレクト
続いての原因は、元のURLと関連性が無いページへリダイレクト設定を行っている場合です。Googleは元のURLからSEO情報を引き継ごうとするため、内容の違いや関連性を確認しています。
そのため仮にまったく関連性の無いページへリダイレクトを行っている場合、Googleからはエラーとして警告を発する仕組みとなるため注意をしましょう。
SEO情報を正しく引き継ぐためにも、できるだけ元のURLと同じ内容であり、関連性が強いページを設定することが重要です。
短縮URLを使用している場合
最後の原因が、リダイレクト先に短縮URLを使用している場合になります。
短縮URLは、本来は長いURLであっても簡潔化できる点がメリットです。しかし短縮URLから表示する場合は専用のサーバーを通す必要があるため、ページを表示するためには2つのサーバーを経由することになります。
リダイレクト設定では関連性の無いページへのアクセスはエラーの要因となり、短縮URLであっても警告が出やすいといえるでしょう。
したがって短縮URLは使用せずに、本来のURLをリダイレクト先に設定することが重要です。

- 前の記事
オウンドメディアとは?企業に必要な理由や作り方、運用手順など 2022.01.01
- 次の記事
パラメーターとは?Webにおける意味や活用方法を徹底解説 2022.01.01