リダイレクトは、サイトやページを訪れるユーザーを別のURLに自動的に転送するメカニズムです。
サイトを移動したりURLを変更したりする際にリダイレクトを意識していると、SEOにとって重要なタイミングとなることがよくあります。その時、多くの人がさまざまな種類のリダイレクトの使い方について疑問に思っているかもしれません。
この記事では、リダイレクトの意味と概要の基本から、推奨される種類と効果の違い、具体的な設定方法まで、SEOの観点から詳細に説明します。
リダイレクトとは一体何ですか?どういう意味ですか?
リダイレクトは、特定のサイトやページを訪れるユーザーを別のURLに自動的に転送するメカニズムです。
例えば、あなたが管理しているサイトでこれまで使用していたURLが新しいURLに変更されたとしましょう。この時何も行わなければ、既存のユーザーは古いURLにアクセスし続け、新しいサイトやページは表示されなくなります。
リダイレクトが必要な瞬間です。 リダイレクトを設定することで、古いページから新しいページに自動的に遷移できるため、ユーザーを新しいページに案内することができます。
別の、
- 使用するデバイスに応じてURLを分ける
- 支払いが完了した後、自動的にページ遷移する
リダイレクトは他の目的でも使用されます。
リダイレクトの重要性
リダイレクトを設定する目的の一つは、ユーザビリティ上の問題を避けることです。
リダイレクトがないと、ユーザーは古いサイトで古い情報を見続けることになります。 また、古いサイトが閉鎖されている場合(404)、ユーザーは新しいサイトに移動する必要があります。
リダイレクトを適切に設定することで、この種のユーザビリティの劣化を防ぐことができます。
SEOの観点からもリダイレクトは重要です。 URLを変更した際にリダイレクトを設定しないと、Googleなどの検索エンジンは新しいページを異なるページと見なすため、これまでに積み上げてきた評価がリセットされてしまいます。
リダイレクトを正しく設定すれば、古いページの検索エンジン評価が新しいページに引き継がれるため、ランキングなどのパフォーマンスの損失をほとんど伴わずに移行できます。
ただし、サイトのリニューアル時にリダイレクトに関して注意すべき他の点もあります。 以下の資料は、サイトをリニューアルする際に注意すべきSEOのポイントをまとめていますので、ご参照ください。
リダイレクトを設定する必要があるのはいつですか?
上述のように、リダイレクトはウェブサイトを運営する際のユーザビリティとSEOの観点から覚えておくべきポイントです。 実際にリダイレクトが必要なのはいつでしょうか? リダイレクトの設定は主に以下のタイミングで必要です。
- サイトがリニューアルされたとき(URLが変更されたとき)
- サイトのドメインを変更したとき
- 異なるURLのPCからスマートフォンに移行したいとき
- メンテナンス中など、一時的に閲覧できないとき
- 期間限定キャンペーンなど、一時的に閲覧したいページがあるとき
そのようなリダイレクトが必要な状況は多くあります。
サイトが更新された際のリダイレクト方法についての分かりやすい説明は、以下の記事をご参照ください。
リダイレクトの種類と違い
リダイレクトには2種類あります:
- .htaccessまたはPHPを使用したサーバーサイドリダイレクト(HTTPリダイレクト)
- JavaScriptまたはメタリフレッシュを使用したクライアントサイドリダイレクト
一般的に見られる301リダイレクトと302リダイレクトはサーバーサイドリダイレクトであり、GoogleがSEOの文脈で推奨する方法です。
ここから、301リダイレクトと302リダイレクトの違いと特徴を見てみましょう。同じサーバー側のリダイレクトです。
301リダイレクト
「301リダイレクト」は、URLが恒久的に変更された場合に使用される転送ステータスコードです。
「元のURLは将来的に使用されない」場合、次のように301リダイレクトが行われます。
- サイト全体が更新され、URLが変更されるとき
- SSLへの移行後にhttpからhttpsに変更するとき
- URLの正規化を実施する際
検索エンジンはまた、“新しいURLが表示されるべきである”ことを認識しており、基本的にインデックスは新しいURLに迅速に移行し、以前のページの評価も引き継がれます。
こちらもお読みください: 301リダイレクトはリンクジュースを引き継ぐのか?
302リダイレクト
「302リダイレクト」は、URLが一時的に変更されるときに使用される転送処理のステータスコードです。
302リダイレクトを行う際には、一時的な変更を以下のように伝えます。
- A/Bテストでリダイレクトテストを行う際
- メンテナンス中にアクセスを一時的に無効にする場合
- PCやスマートフォンに表示されるURLを変更したい場合
- キャンペーンページなどを一時的に通過したい場合
302リダイレクトは一時的な変更であり、検索エンジンもそれがいつか元のURLに戻る可能性があると判断します。 その結果、新しいURLのインデックス作成には301リダイレクトよりも時間がかかる傾向があります。
ウェブサイトを移動する際には301リダイレクトを推奨します。 302リダイレクトでもページ評価が引き継がれることにご安心ください。
サーバーサイドリダイレクト
ここからリダイレクトのメカニズムの違いを説明します。 サーバー側でリダイレクトを設定する方法は2つあります:
- .htaccessによるリダイレクト
- phpによるリダイレクト
.htaccessによるリダイレクト
.htaccessによるリダイレクトは、管理が容易で設定も簡単なため、最も推奨されるリダイレクト方法です。
ただし、.htaccessはサーバーがApacheを使用しており、サーバー上で.htaccessファイルにアクセスできる場合にのみ設定できます。
1つのファイルにまとめて記述できるだけでなく、各ファイルやディレクトリごとに詳細な設定を行うこともできます。 wwwの有無やトレーリングスラッシュのような一括対応に.htmlを使うことで便利です。
Phpによるリダイレクト
PHPによるリダイレクトは、htmlファイルの先頭にヘッダー関数を記述するリダイレクト方法です。
リダイレクト時にステータスコードを設定できますが、デフォルトは302リダイレクトですので、サイトを移動する際は301リダイレクトを設定することを忘れないでください。
各URLに対して設定できるのは便利ですが、管理の観点からは.htaccessを推奨します。
クライアントサイドリダイレクト
サーバー側でリダイレクトを導入しましたが、クライアント側でリダイレクトが設定されるケースもあります。
クライアント側でリダイレクトを設定する方法は2つあります:
- JavaScriptによるリダイレクト
- メタリフレッシュによるリダイレクト
JavaScriptによるリダイレクト
JavaScriptによるリダイレクトは、リダイレクト元ページの「scriptタグ」にリダイレクト用の「JavaScript」を記述することによってリダイレクトを設定する方法です。
JavaScriptリダイレクトはGoogleによって適切に処理されるため、サーバーサイドのリダイレクトが不可能な場合の第一選択となります。 ユーザーがJavaScriptを無効にしている場合は適用されないことに注意してください。
また、これを知らない場合、パラメータやリファラー情報を取得することができず、どのページから訪問したかもわからず、測定に影響を及ぼすことになります。
以下の参考サイトを基に、開発部門と相談しながら実装していきましょう。
メタリフレッシュによるリダイレクト
メタリフレッシュによるリダイレクトは、メタタグの「http-equiv属性」に「refresh」を設定することでリダイレクトを設定する方法です。したがって、これはHTMLリダイレクトまたはメタリフレッシュリダイレクトとも呼ばれ、過去には最も一般的なリダイレクト方法の1つでした。
しかし、近年では、W3CやGoogleによって廃止されており、HTMLの標準を設定していますが、ほとんど見られません。基本的には、.htaccess、PHP、またはJavaScriptを使用してリダイレクトすることも不可能な場合の最後の手段として使用してください。
リダイレクトの種類の概要
リダイレクションには「サーバーサイド」と「クライアントサイド」の2種類があり、確実性と SEO の観点からサーバーサイドリダイレクションが推奨されます。
さらに、.htaccess'' and
「PHP リダイレクト」は典型的なサーバーサイドリダイレクトであり、「.htaccess」は管理の観点から最も推奨されます。
一方で、クライアント側のリダイレクトには「JavaScriptリダイレクト」と「メタリフレッシュ」の2種類がありますが、それぞれに欠点があるため、サーバー側のリダイレクトが使用できない場合には、これらの使用が推奨されます。 特に、「メタリフレッシュ」は最後の手段であるべきです。
リダイレクトの設定方法
ここから、次の4つのリダイレクトの設定方法を紹介します。
- .htaccess
- PHP
- JavaScript
- メタリフレッシュ
.htaccess
.htaccessファイルの存在をサーバーで確認してください. ファイルがサーバーに存在しない場合は、テキストエディタなどで新しい.htaccessファイルを作成し、適切なリダイレクトを書いてください。
リダイレクションの範囲に応じて説明が異なるため、以下を参照してください。
ページユニット
<IfModule mod_rewrite.c>
リライトエンジンのオン
RewriteRule ^(リダイレクト元URL)$(リダイレクト先URL)[R=301,L]
</IfModule>
各ディレクトリについて
<IfModule mod_rewrite.c>
リライトエンジンのオン
ベースの書き換え /
RewriteRule ^old(original directory)/(.)$ /new(redirected directory)/$1 [R=301,L]
</IfModule>
各ドメインについて
<IfModule mod_rewrite.c>
リライトエンジンのオン
RewriteCond %{HTTP_HOST} ^(original domain)
RewriteRule ^(.) (new domain)$1 [R=301,L]
</IfModule>
SSLによるURL変更の場合
<IfModule mod_rewrite.c>
リライトエンジンのオン
RewriteCond %{HTTPS} off
RewriteRule ^(.) (SSL redirect URL)$1 [R=301,L]
</IfModule>
URLを正規化する際(wwwありからwwwなしへ)
<IfModule mod_rewrite.c>
リライトエンジンのオン
RewriteCond %{HTTP_HOST} ^(www page 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)の部分の()を除外してください。
「使用しているサーバーはリダイレクトできません……」などのケースでは、JavaScriptを使用してリダイレクトを設定できますので、覚えておいてください。
メタリフレッシュ
リダイレクトを促すページを表示した後にリダイレクトしたい場合、meta refreshを使用することもできます。
<meta http-equiv=”refresh”content=”リダイレクト先にジャンプするための秒数; URL=(リダイレクト先のURL)”>
*書く際は、(リダイレクトURL)の部分で()を除外してください。
ただし、Googleによっても非推奨とされており、SEO評価を引き継がず、ブラウザによってもサポートされていません。したがって、他のリダイレクトが絶対に使用できない場合にのみ使用を検討すべきです。
また、リダイレクト目的で使用する場合、秒数を0秒に設定しましょう。 それは他のリダイレクトと同様に扱われます。
リダイレクトの警告と詐欺への対処法
リダイレクトが実行されると発生する可能性のある2種類の警告があります。 ここからは、それぞれの警告への対処法を紹介します。
- リダイレクト警告が表示された場合の対処法
- 無効なリダイレクトが表示された場合の対処法
リダイレクト警告が表示された場合の対処法
リダイレクト先が視聴者に不利な場合、またはページが無関係な場合、警告が発行されることがあります。 考えられる原因は4つあります:
- クッキーによるもの
- リダイレクト先がSSLに対応していない場合
- リダイレクト先と関連性のないページの場合
- リダイレクトURLが短縮URLである場合
- リダイレクトループ、リダイレクトチェーンが長くなるとき
警告が表示された場合、SSLにリダイレクト先を変更してセキュリティを強化するか、短縮URLの代わりに元のURLに説明を変更することで解決できます。
警告がまだ消えない場合は、自分のクッキーを削除し、コンピュータ自体に問題があるか確認することをお勧めします。
無効なリダイレクトが表示された場合の対処法
不正なリダイレクトと判断されると、検索順位の低下などのペナルティが発生するため、即時の改善が必要です。 しかし、そもそも不正なリダイレクトはいつ現れるのでしょうか?
考えられる原因は二つあります:
- 検索エンジンは正しいリダイレクトを確認しますが、ユーザーは異なるページを見ています(クロークニング)
- リダイレクト先が元のページとは無関係なページ(スパムページなど)である場合
リダイレクトを設定していても、まだ不正なリダイレクトが表示される場合、Googleがあなたのサイトは関連性がないと判断した可能性が高いです。 したがって、元のページとリダイレクト先は関連している必要があります。
たとえば、スマートフォンからリダイレクト先に移動する際、同じキーワードや説明を設定すること、またはURLが正しいかどうかを確認することをお勧めします。
リダイレクト設定期間
最後に、リダイレクトの設定期間について紹介します。 リダイレクトを設定したとしても 、クローラーがリダイレクトを検出する前に それをキャンセルした場合 、評価は新しいページに引き継がれず、ランキングが低下するか、ページが検索結果に表示されなくなります。
理想的には、リダイレクトを少なくとも1年間保持してください。
また、支払い後のページ遷移にリダイレクトを使用する場合、リダイレクトの設定方法によっては自動的に切り替わらないことは珍しくありません。 したがって、「自動的に切り替わらない場合はここをクリックしてください」というメッセージを含めることをお勧めします。
リダイレクトを正しく使用してください
リダイレクトを正しく設定しないと、これまで努力してきたSEO評価を手放すだけでなく、使いやすさの大幅な低下にもつながります。
サイトのリニューアルやSSLなど、URLを変更する機会はあまり多くないため、リダイレクトの重要性を理解し、対応に漏れがないことを確認することが重要です。
関連記事: URLのリダイレクトはSEOに影響しますか?解説