リダイレクトは、ユーザーがサイトやページを訪れた際に、自動的に別のURLに転送する仕組みです。
サイトの移動やURLの変更時にリダイレクトについて把握していると、SEOにとって重要なタイミングです。その際、複数の種類のリダイレクトをどのように使用するかが多くの人にとって疑問かもしれません。
この記事では、SEOの視点から、リダイレクトの意味と概要の基礎から、おすすめの種類と効果の違い、具体的な設定方法まで詳しく説明します。
リダイレクトってそもそも何?どういう意味?
![What Is A Redirect Anyway? What Do You Mean What Is A Redirect Anyway? What Do You Mean](https://ik.imagekit.io/rehres/sites/10/2023/12/11092610/png_20230729_161627_0000.png)
リダイレクトは、特定のサイトやページを訪れたユーザーを自動的に別のURLに転送する仕組みです。
例えば、管理しているサイトがこれまで使用していたURLが新しいURLに変更されるとします。この場合、何もしなければ既存のユーザーは旧URLにアクセスし続け、新しいサイトやページが表示されません。
これはリダイレクトが必要な瞬間です。リダイレクトを設定することで、古いページから自動的に新しいページに移行し、ユーザーを新しいページに案内することができます。
別の
- デバイスに応じて異なるURLを設定
- 支払いが完了した後に自動的にページを遷移させる
リダイレクトは他の目的にも使われます。
リダイレクトの重要性
リダイレクトを設定する目的の一つは、使い勝手の問題を回避することです。
リダイレクトがない場合、ユーザーは古いサイトで古い情報を引き続き見ることになります。また、古いサイトが閉鎖された場合(404)、ユーザーは新しいサイトに移動する必要があります。
適切にリダイレクトを設定することで、このような使い勝手の低下を防ぐことができます。
リダイレクトはSEOの観点からも重要です。URLを変更する際にリダイレクトを設定しないと、Googleなどの検索エンジンは新しいページを別のページと見なすため、これまで蓄積された評価がリセットされてしまいます。
リダイレクトを正しく設定すると、古いページの検索エンジン評価が新しいページに引き継がれるため、ランキングなどのパフォーマンスにほとんど損失がない状態で移行することができます。
![Purpose of N Redirect Purpose of N Redirect](https://ik.imagekit.io/rehres/sites/10/2023/12/11092613/png_20230729_164452_0000.png)
ただし、サイトの刷新時には他の注意点もあります。以下の資料では、サイトを刷新する際に留意すべきSEOのポイントをまとめていますので、参考にしてください。
いつリダイレクトを設定する必要がありますか?
前述の通り、リダイレクトはウェブサイトの操作時において使い勝手やSEOの観点から注意が必要なポイントです。具体的には、いつリダイレクトが必要になるのでしょうか。リダイレクト設定が主に必要となるのは以下の場合です。
- サイトを刷新する場合(URLが変更される場合)
- サイトのドメインを変更する場合
- 異なるURLでPCからスマートフォンに移行したい場合
- メンテナンス時など、一時的に閲覧ができない状態の場合
- 期間限定キャンペーンなど、一時的に閲覧したいページがある場合
このようなリダイレクトが必要なケースは多くあります。
サイトが更新された場合のリダイレクトの方法については、以下の記事を参照してください。
リダイレクトの種類と違い
リダイレクトには2種類あります:
- サーバーサイドリダイレクト(.htaccessやPHPを使用)
- クライアントサイドリダイレクト(JavaScriptやメタリフレッシュを使用)
よく見かける301リダイレクトと302リダイレクトはサーバーサイドのリダイレクトであり、GoogleがSEOの文脈で推奨する方法です。
ここでは、同じサーバーサイドリダイレクトである301リダイレクトと302リダイレクトの違いと特徴を見てみましょう。
301リダイレクト
![301 Redirect 301 Redirect](https://ik.imagekit.io/rehres/sites/10/2023/12/11092616/png_20230730_061819_0000.png)
「301リダイレクト」は、URLが永久に変更された場合に使用される転送ステータスコードです。
以下のように、「将来的に元のURLは使用されなくなる」場合に301リダイレクトが行われます。
- サイト全体が更新され、URLが変更された場合
- SSLに変換後、httpからhttpsに変更する場合
- URLの正規化を実装する場合
検索エンジンは「新しいURLが表示されるべき」と認識し、基本的にはインデックスが新しいURLに迅速に移行し、以前のページの評価も継承されます。
以下も参考にしてください:301リダイレクトはリンクジュースを伝える?
302リダイレクト
![302 Redirect 302 Redirect](https://ik.imagekit.io/rehres/sites/10/2023/12/11092619/png_20230730_062133_0000.png)
「302リダイレクト」は、URLが一時的に変更された場合に使用される転送処理ステータスコードです。
302リダイレクトを行う場合は、以下のように一時的な変更を伝えるために使用します。
- A/Bテストでリダイレクトテストを行う場合
- メンテナンス中にアクセスを一時的に無効にする場合
- PCやスマートフォンに表示されるURLを変更したい場合
- キャンペーンページなどを一時的に経由したい場合
302リダイレクトは一時的な変更であり、検索エンジンも元のURLに戻る可能性があると判断します。結果として、新しいURLのインデックス作成には301リダイレクトよりも時間がかかる傾向があります。
ウェブサイトを移動する場合、301リダイレクトをお勧めします。302リダイレクトでもページの評価は引き継がれますのでご安心ください。
![301 redirect vs 302 redirect 301 redirect vs 302 redirect](https://ik.imagekit.io/rehres/sites/10/2023/12/11092621/20230729_221616_1.jpg)
サーバーサイドリダイレクト
ここからは、リダイレクトの仕組みの違いについて説明します。サーバーサイドでリダイレクトを設定する方法は2つあります:
- .htaccessによるリダイレクト
- phpによるリダイレクト
.htaccessによるリダイレクト
.htaccessによるリダイレクトは管理が容易で設定も簡単なため、最も推奨されるリダイレクトの方法です。
ただし、サーバーがApacheを使用し、サーバー上で.htaccessファイルにアクセスできる場合に限り、.htaccessを設定できます。
1つのファイルでまとめて説明するだけでなく、各ファイルやディレクトリごとに詳細な設定も行えます。wwwの有無や末尾のスラッシュの有無など、一括対応には.htaccessを使用すると便利です。
PHPによるリダイレクト
PHPによるリダイレクトは、htmlファイルの上部にheader関数を記述するリダイレクト方法です。
リダイレクト時にステータスコードを設定することもできますが、デフォルトでは302リダイレクトとなっているため、サイトを移動する際には必ず301リダイレクトを設定してください。
URLごとに設定できるのは便利ですが、管理の観点からは.htaccessがおすすめです。
クライアントサイドリダイレクト
サーバーサイドでのリダイレクトを紹介しましたが、クライアントサイドでもリダイレクトを設定する場合があります。
クライアントサイドでのリダイレクトの設定方法は2つあります。
- JavaScriptによるリダイレクト
- meta refreshによるリダイレクト
JavaScriptによるリダイレクト
JavaScriptによるリダイレクトは、リダイレクト元のページに「scriptタグ」内で「JavaScript」を記述することによってリダイレクトを設定する方法です。
JavaScriptのリダイレクトはGoogleがうまく処理してくれるため、サーバーサイドのリダイレクトが不可能な場合には最初の選択肢となります。ただし、ユーザーがJavaScriptを無効にしている場合は適用されないことに注意してください。
また、知らないとパラメータやリファラ情報を拾えず、どのページから訪れたかもわからなくなるため、計測に影響を与えます。
以下の参考サイトを参考に、開発部門と相談しながら実装しましょう。
meta refreshによるリダイレクト
メタリフレッシュによるリダイレクトは、metaタグの「http-equiv属性」に「refresh」を設定することによってリダイレクトを設定する方法です。したがって、HTMLリダイレクトやメタリフレッシュリダイレクトとも呼ばれ、過去には最も一般的なリダイレクト方法の一つでした。しかし、近年、HTMLの標準を設定しているW3CやGoogleによって非推奨化され、ほとんど目にすることはありません。基本的には、.htaccessやPHP、JavaScriptでのリダイレクトも不可能な場合に最後の手段として使用してください。
リダイレクトの種類の概要
リダイレクトタイプの要約
![Summary Of Redirect Types Summary Of Redirect Types](https://ik.imagekit.io/rehres/sites/10/2023/12/11092624/png_20230730_061451_0000.png)
リダイレクトには「サーバーサイド」と「クライアントサイド」の2つのタイプがありますが、確実性とSEOの観点からはサーバーサイドリダイレクトが推奨されています。
さらに、.htaccess'' and
PHPリダイレクト」は典型的なサーバーサイドリダイレクトであり、「.htaccess」は管理の観点から最も推奨されています。
一方、クライアントサイドのリダイレクトには「JavaScriptリダイレクト」と「メタリフレッシュ」の2つのタイプがありますが、それぞれに欠点があるため、サーバーサイドリダイレクトが使用できない場合にのみ使用することをおすすめします。特に、「メタリフレッシュ」は最終手段として使用すべきです。
リダイレクトの設定方法
ここでは、以下の4つのリダイレクトの設定方法を紹介します。
- .htaccess
- PHP
- JavaScript
- メタリフレッシュ
.htaccess
サーバー上の.htaccessファイルを確認してください。サーバー上にファイルが存在しない場合は、テキストエディタなどで新しい.htaccessファイルを作成し、適切なリダイレクトを記述してください。
リダイレクションの範囲によって説明が異なりますので、以下を参照してください。
ページ単位
<IfModule mod_rewrite.c>
Rewrite Engine on
RewriteRule ^(リダイレクト元URL)$ (リダイレクト先URL)[R=301,L]
</IfModule>
ディレクトリごと
<IfModule mod_rewrite.c>
Rewrite Engine on
Rewrite Base /
RewriteRule ^古い(元のディレクトリ)/(.)$ /新しい(リダイレクト先ディレクトリ)/$1 [R=301,L]
</IfModule>
各ドメインに対して
<IfModule mod_rewrite.c>
Rewrite Engine on
RewriteCond %{HTTP_HOST} ^(元のドメイン)
RewriteRule ^(.) (新しいドメイン)$1 [R=301,L]
</IfModule>
SSLによるURLの変更の場合
<IfModule mod_rewrite.c>
Rewrite Engine on
RewriteCond %{HTTPS} off
RewriteRule ^(.) (SSLリダイレクトのURL)$1 [R=301,L]
</IfModule>
URLの正規化(wwwなしのURLに変更する場合)
<IfModule mod_rewrite.c>
Rewrite Engine 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)';
}
→
(リダイレクトURL)の部分は、()を含めずに書いてください。
「サーバーがリダイレクトできません」といった場合には、JavaScriptを使用してリダイレクトを設定することも可能です。
メタリフレッシュ
リダイレクトの案内ページを表示した後にリダイレクトする場合は、メタリフレッシュも使用できます。
※リダイレクト先URLの部分では()は除外して書いてください。
ただし、SEOの評価を引き継げないため、Googleも非推奨としており、ブラウザによってもサポートされていません。したがって、他のリダイレクトが絶対に使用できない場合にのみ検討するべきです。
また、リダイレクト目的で使用する際には秒数を0秒に設定しましょう。そうすると、他のリダイレクトと同様に扱われます。
リダイレクト警告と詐欺対策の取り扱い方
リダイレクトが行われる際に発生する2種類の警告があります。ここからは、それぞれの警告の対処方法について紹介します。
- リダイレクト警告が表示された場合の対処方法
- 無効なリダイレクトが表示された場合の対処方法
リダイレクト警告が表示された場合の対処方法
リダイレクト先が閲覧者に不利益なものである場合、またはページが関連性がない場合に警告が発生することがあります。以下の4つの原因が考えられます:
- Cookieによる原因
- リダイレクト先がSSLに対応していない場合
- リダイレクト先に関連性がないページの場合
- リダイレクトURLが短縮URLの場合
- リダイレクトチェーンが長くなり、リダイレクトループが発生する場合
警告が表示された場合、セキュリティを強化するためにリダイレクト先をSSL対応に変更するか、短縮URLの代わりに元のURLの説明に変更することで解決できます。
もし警告メッセージがまだ消えない場合、自分のクッキーを削除し、コンピュータ自体に問題がないか確認することを推奨します。
無効なリダイレクトが表示された場合の対処方法
無許可のリダイレクトが判定された場合、検索ランキングの低下などのペナルティが発生するため、即座に改善が必要です。 ただし、いつ無効なリダイレクトが表示されるのでしょうか?
次の2つの原因が考えられます:
- 検索エンジンは正しいリダイレクトを見ているが、ユーザーは異なるページを見ている(クローキング)
- リダイレクト先のページが元のページと全く関係のないものである(スパムページなど)
リダイレクトを設定しても、無許可のリダイレクトがまだ表示されている場合は、Googleがあなたのサイトが関連性がないと判断した可能性が非常に高いです。したがって、元のページとリダイレクト先は関連する必要があります。
例えば、同じキーワードや説明を設定するか、スマートフォンからリダイレクト先に移動する際にURLが正しいかどうかを確認することをおすすめします。
リダイレクト設定期間
最後に、リダイレクトの設定期間について紹介します。リダイレクトを設定しても、クローラーがリダイレクトを検出する前にキャンセルした場合、評価は新しいページに引き継がれず、ランキングが下がったり、検索結果に表示されなくなることがあります。
理想的には、少なくとも1年間はリダイレクトを保持しておいてください。
また、支払い後のページ遷移にリダイレクトを使用する際、リダイレクトの設定方法によって自動的に切り替わらないことがあります。そのため、「自動的に切り替わらない場合はここをクリックしてください」といったメッセージを含めることをおすすめします。
リダイレクトの正しい使い方
リダイレクトを正しく設定しないと、これまで頑張ってきたSEOの評価を手放すだけでなく、使い勝手の大幅な低下をもたらすことにもなります。
サイトのリニューアルやSSLなど、URLを変更する機会はあまりありませんので、リダイレクトの重要性を理解し、対応漏れがないようにすることが重要です。
関連記事: URLリダイレクトがSEOに影響するのか?解説