リダイレクトとは、英語で「方向を変える」という意味ですが、IT分野においては、ページを訪れたユーザーを指定したURLへ自動的に転送する設定のことを表します。この際、検索エンジンに対して、元のページのリンク評価やランキングを新しいページに引き継ぐよう指示するリダイレクトは、SEOの効果を維持しながらページの移動が可能です。
リダイレクトには301と302がありSEO担当者も混同しやすいため、正しい知識が必要です。
本記事では301/302リダイレクトとは何か、それぞれの違いと設定方法、SEO効果についても解説します。
なお、すぐにリダイレクトの書き方が知りたいという場合、以下の章をご確認ください。
301リダイレクトの設定方法
302リダイレクトの設定方法
301リダイレクトとは?
301リダイレクトとは”Permanent Redirect”(恒久的な転送」を意味し、サイトやページ完全に移動させる際に使用します。移転が完了して今後は常に移転先を参照して欲しいという意味が含まれています。
301や302というのはW3Cが定めるステータスコードの一種で、300番台のステータスコードはリダイレクト(転送)を意味します。
リダイレクトとは、WEBページに訪れたユーザーを別のURLに誘導・転送するためのしくみです。これにより、リダイレクトを設定されたページにアクセスしたユーザーを、自動的に設定されたURLに転送することができます。
特に、HTTPステータスコードを伴うリダイレクトはHTTPリダイレクトと呼ばれます。
検索エンジンのクローラーもこの指示に従うため、移転前のページが獲得していたSEO評価(PageRank)を、移転先に引き継ぐことが可能です。
仮に、転送設定を行わないで別の場所に移動してしまうと、ページがなくなってしまうだけなく評価も失われてしまうため、リダイレクトにより新しいサイトにユーザーを誘導するとともに、ページ評価も正しく引き継ぐ必要があります。
リダイレクトについて詳しくは以下の記事もご覧ください。
リダイレクトとは?リダイレクトの種類と設定方法
https://www.sakurasaku-marketing.co.jp/labo/blogs/redirect
301リダイレクトを設定するシチュエーション
301リダイレクトをいつ設定すべきかについては、ステータスコードの意味に基づいて、恒久的な移転を知らせる目的で使うのが適当です。
たとえば以下のようなシチュエーションが考えられます。
- サイトをドメインごと移転する場合
- サイト内の一部のページだけを移転する場合
- URLの正規化目的で使用される場合で、ユーザーにも検索エンジンにも重複ページを見せる必要がない場合
1と2のリダイレクトに関しては、ページやサイトが指定されたURLに移転が完了し、おそらく元のURLに戻らないことを意味しています。
3に関しては、wwwのありなしやindex.htmlのありなしなどで、まったく同じコンテンツが表示されてしまうような場合に、一方から他方の正規とするURLにリダイレクトを行うような場合です。
このようなケースでは常に正規としたURLを参照すればよいので、301の恒久的な転送を行うのが適切です。
一方、ECサイトにおける色違いの商品を別々のURLで表示しているような場合、検索エンジンに重複ページと扱われる可能性が高く、どちらかだけを検索結果に表示させるために正規化を行うケースがあります。
しかし、301リダイレクトを行ってしまうとユーザーも色違いの商品を見られなくなってしまいますので、こういった場合の正規化はcaonicalで行います。
検索エンジンもユーザーも、非正規のページにアクセスする必要がないケースでの正規化には301リダイレクトを使用します。
301リダイレクトの設定方法
301リダイレクトは、.htaccessやphpなどで設定が可能です。
ここからは、.htaccessとPHPでの一般的な書き方について解説します。
なお、CMSを使っている場合は、プラグインで設定できることもあります。
たとえばWordPressでリダイレクトが設定できるプラグインには以下のようなものがあります。
Redirectionを使ったWordPressのリダイレクト方法
https://www.sakurasaku-marketing.co.jp/labo/blogs/wordpress-redirect
.htaccessでの301リダイレクトの書き方
.htaccessとはサーバーの制御ファイルのようなものです。
サーバーによっては使えないことがあるものの、このファイルを用いてリダイレクトを設定することが一般的です。
各シチュエーションでは、ファイル内に以下のような記述を行うことで設定が可能です。
ページ単位でリダイレクトする場合
RewriteEngine on
RewriteRule ^old.html$ http://www.sample.com/new.html [L,R=301]
ドメイン単位でリダイレクトする場合
RewriteEngine On
RewriteCond %{http_host} ^www.old.com
RewriteRule ^(.*) https://www.new.com/$1 [R=301,L]
httpからhttpsにリダイレクトする場合
RewriteEngine on
RewriteCond %{ HTTPS} off
RewriteRule ^(.*)$ https://%{ HTTP_HOST}%{REQUEST_URI} [L,R=301]
wwwありからwwwなしへのリダイレクト
RewriteEngine on
RewriteCond %{ HTTP_HOST} ^sample\.com
RewriteRule ^(.*)$ http://www.sample.com/$1 [R=301,L]
以下の記事もご参考ください。
.htaccessによるリダイレクトの設定方法
https://www.sakurasaku-marketing.co.jp/labo/blogs/htaccess-redirect
phpによる301リダイレクト
phpでも301リダイレクトを設定できますが、設定を一元管理できる.htaccessの場合と比べると管理がしづらくなるかもしれません。
phpでは各ページの先頭にリダイレクトのコードを記載する形となるため、ページ数の多いサイトでは煩雑になるためです。
設定時にはHTML(php)ファイルの先頭に以下のように記述します。
<?php
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://new.com/new.html" );
exit;
注意点としては、phpのリダイレクトコードはページの先頭に記載する必要があります。
上記コードより上部に何か記載されていると、リダイレクトは機能しません。
302リダイレクトとは?
302リダイレクトとは、かつては”Temporary Redirect”(一時的な転送)を意味していたリダイレクトで、完全に移転したわけではないという際に使用されます。
現在では302のステータスコードは”Found”(見つかった)を意味するものとなっていますが、現在は転送が行われているものの、引き続き元のURLを使い続けるというニュアンスがあります。
しかし、SEOに関しては、Googleの仕様変更により、302リダイレクトであっても301と同じように扱われるようになりました。
かつては301リダイレクトとの違いとして、302リダイレクトは、転送前のページを評価し続け、ページランクは移転先のページに引き継ぐことはないと言われていましたが、仕様変更に伴い、引継ぎがされるようになったのです。
これにより、現在では301、302どちらのリダイレクトを設定しても、ページランクは引き継がれます。
30x redirects don't lose PageRank anymore.
— Gary 鯨理/?? Illyes (@methode) July 26, 2016
302リダイレクトを設定するシチュエーション
302リダイレクトが301と同じように扱われるとはいえ、ステータスコードの意味に沿って使うほうが好ましいと考えられます。
たとえば以下のようなケースでは302リダイレクトを設定したほうがよいと考えられます。
- リニューアルやメンテナンスなどで、一時的に別のURLでページを公開している場合
- PCとスマホで別々のURLを用いており、デバイスに応じてリダイレクトを行う場合
- 国・IPなど条件に応じてリダイレクトを行う場合
1は、いずれもとのURLに戻るという、まさに一時的であるリダイレクトです。301リダイレクトとは異なり、近い内に本来のページに戻ること前提とした引越しのような意味合いをもたせる際に設定します。
2や3については必ずしも一時的ではありませんが、条件に応じてリダイレクトを行っているために302のステータスコードを用いたほうがよいケースです。
302リダイレクトの設定方法
302リダイレクトも301リダイレクトと同様に、.htaccessやphpにより設定します。
設定を一元管理できる.htaccessにて行うのがおすすめです。
.htaccessでリダイレクトする場合
RewriteEngine on
RewriteRule ^old.html$ http://www.sample.com/new.html [R=302,L]
phpで設定する場合
<?php
header("Location: /new.php",TRUE,302);
header("Location: /new.php");
exit;
301と302の違いと使い分けは?
301と302リダイレクトの使い分けは基本的にはステータスコードの意味合いに沿って行っていれば問題ありません。
つまり、移転が恒久的であれば301を、一時的または条件付きであれば302を使用します。
なお、ユーザーに対しては301と302のどちらを用いても、自動的にページ遷移が行われます。301であっても302であっても同じ挙動で見分けがつかないため、ユーザー向けにはどちらを設定してもほぼ問題ないでしょう。
SEOを行う場合、検索エンジンに対してどう設定したらよいかは注意すべきです。
前述のとおり、Googleは301も302もPageRankを転送し、好きなほうを使ってよいと発表されていますので、以前よりは使い分けに厳密になる必要性は薄れています。
それでも、シチュエーションに応じて、ステータスコードの意味合いに近いものを使用するのが好ましいです。
もし移転先URLを今後ずっと使い続ける予定なら301を使用したほうがいいでしょう。
301リダイレクトと302リダイレクトに違いがあるとすれば、SEO上、完全な移転として認識されるまでの速度が異なるからです。
元のURLの持つ評価を転送先に譲渡することは301/302とも同じですが、検索エンジンが移転したことを確信し処理するまでの速度が301の方が速いからです。
恒久的な移転であるのに302リダイレクトを使用している場合、SEO評価が移転するのに時間がかかってしまう可能性があります。
逆に一時的な移転であるのに301リダイレクトを使用しており、再びURLが変更されてしまうような場合、Googleがどのページを評価してよいか混乱してしまう可能性があります。
なお、W3Cの定義によると、現在の302はかつてのTemporary Redirectではなく、Found(発見した)となっています。
302の本来の意味である、一時的な転送以外での目的で使用するウェブマスターが増えたためと言われており、Googleもこうした事情を受けて仕様を変更した可能性があります。
ステータスコードは本来の意味に沿って使うに越したことはありません。
まとめると、以下の表のようになります。
301リダイレクト | 302リダイレクト | |
---|---|---|
ユーザー | 転送する | 転送する |
PageRank | 転送する | 転送する |
主な用途 | 完全な移転 正規化 | 一時的な移転 条件付きリダイレクト |
Googleが 完全な移転として 認識するまでの時間 | 短い | 長い |
リダイレクトのSEO効果
前述したように、リダイレクトはSEOにおいて重要な役割を果たします。リダイレクトを設定することで古いURLの評価を新しいURLに移転させることができるからです。
古いURLの価値を新しいURLへと引き継げば、検索順位を維持できる可能性が高いです。そのため、検索順位が下がる心配も少なくなります。
古いURLの検索順位やリンクの価値をそのまま新しいURLへ引き継ぐことができるのは、リダイレクトの特徴であり、SEOにおける大きなメリットといえるでしょう。
また、異なるURLで同じコンテンツが存在する場合、リダイレクトを使用し、1つのURLに統一することで重複コンテンツの問題を回避できます。重複コンテンツがあるとランキングの低下を引き起こす可能性があるため、注意してください。
リダイレクトを正確に設定しておけば、ユーザーの導線だけでなく、URLごとの評価も管理することができるため、SEO効果の最大化が図れます。
301リダイレクトのテストと確認
301リダイレクトの設定後は、適切に機能しているかをテストしましょう。ブラウザとオンラインツールを使用した確認方法をそれぞれ解説します。
ブラウザを使用した確認方法
ブラウザのデベロッパーツールを利用することで、301リダイレクトの動作が確認できます。
まずは、デベロッパーツールを開き、ネットワークタブでリクエストのステータスコードを確認してください。ステータスコードが「301 Moved Permanently」になっていれば、301リダイレクトが適切に機能している証拠です。
併せて、レスポンスヘッダーの「Location」に、リダイレクト先のURLが表示されているかも確認しましょう。
また、実際のユーザー視点での動作確認も重要です。301リダイレクトの設定後、実際に古いURLから新しいURLへリダイレクトできているか、ブラウザを開いてユーザー視点から動作をチェックしてみてください。
ブラウザのデベロッパーツールとユーザー視点での動作確認というダブルチェックを行なえば、安心してユーザーを新しいページへ誘導させられます。
オンラインツールを使用した確認方法
301リダイレクトの設定は、HTTPステータスコードチェッカーなどのオンラインツールでも確認できます。
オンラインツールは、URLを入力するだけでリダイレクトの有無や状態だけでなく、ステータスコードも即座に確認できる簡単な方法です。301リダイレクトの設定が確認できるおもなオンラインツールとしては、以下のようなものがあります。
- Redirect Checker(リダイレクトチェッカー)
- HTTPステータスコードチェッカー
- WhereGoes
Webサイトのリダイレクト設定を簡単に検証し、ステータスコードやリダイレクト先のURLを確認できるため、デベロッパーツールを使用せずにリダイレクトの確認が可能です。
また、複数のURLを一括でチェックできるオンラインツールも登場しています。特に、複数のリダイレクトが絡む場合や、デベロッパーツールを使用せずに迅速に確認したい場合に便利です。
301リダイレクトのよくある誤りと対策
301リダイレクトを正しく設定するためにも、よくある誤りと対策を心得ておきましょう。特に、誤ったURLへの設定と複数リダイレクトのチェーンには注意が必要です。
誤ったURL設定
リダイレクトが機能していない場合、誤ったURLで設定している可能性があります。まずは、URLの正確性を確認し、誤りがないか注意深くチェックすることが重要です。
301リダイレクト設定で誤ったURLを設定すると、ユーザーには404 エラーページが表示されてしまいます。ユーザーエクスペリエンスやSEOに悪影響をおよぼすことがあります。
特に、リダイレクトのURLを設定する際は、大文字・小文字の違いや余分なスペースに注意してください。正確なURLかどうかを何度も確認し、ブラウザやオンラインツールでリダイレクトが機能しているかをテストすることが重要です。
また、サイトのリダイレクト設定を定期的に監視し、問題が発生した場合は迅速に修正します。ログファイルの分析やエラーレポートの確認も必要です。
複数リダイレクトのチェーン
複数のリダイレクトを連鎖的に設定すると、検索エンジンやユーザーに混乱を招くおそれがあるので注意が必要です。
複数リダイレクトのチェーンとは、ユーザーがアクセスした最初のURLから最終的な目的地に到達するまでに複数のリダイレクトが発生する一連のプロセスを指します。
リダイレクトチェーンは、ユーザーエクスペリエンスやSEO上の評価を下げるリスクがあるため、適切に管理することが重要です。
複数のリダイレクトチェーンを避けるには、直接的なリダイレクト設定を心がけてください。例えば、
「example.com/old-page」>「example.com/new-page1」>「example.com/new-page2」
というリダイレクトチェーンがある場合、以下のように修正します。
「example.com/old-page」>「example.com/new-page2」
また、リダイレクトチェーンを定期的に監視し、不要なリダイレクトを特定して修正しましょう。サイトのURL構造を整理し、必要最小限のリダイレクトで運用できるように管理することも有効な対策です。
301リダイレクトの事例
301リダイレクトの事例として、URL変更に伴う例とコンテンツ統合の例を紹介します。
URL変更の際の301
URL構造を変更し、すべての旧URLを301リダイレクトで新URLに転送するケースです。
特に大規模サイトのURL構造を変更することは、多くのリソースと計画を必要とする作業です。しかし、301リダイレクトを設定することで検索エンジンとユーザーの両方に好まれる、クリーンでわかりやすいURLを提供できます。
また、301リダイレクトを上手に活用することで、SEO価値の保持やユーザーエクスペリエンスの向上、トラフィックの損失防止、サイト管理の効率化、ブランドの信頼性向上などさまざまなメリットが生まれます。
ただし、URL構造を変更する際は、正確なリダイレクトの設定はもちろん、どのページをどのURLにリダイレクトするかを綿密に計画することが重要です。
コンテンツ統合
複数ページを統合し、301リダイレクトを設定することで、SEO価値の保持やユーザーエクスペリエンスの向上などさまざまなメリットをもたらします。
なぜコンテンツを統合する必要があるかというと、重複コンテンツを整理し、ナビゲーションの改善につながるからです。ユーザーが目的の情報を見つけやすくするには、コンテンツを統合し301リダイレクトを設定する必要があります。
たとえば、301リダイレクトを設定したうえで、旧URLの内容を新URLにマージする場合、SEO評価を集中させることで検索順位が向上するだけでなく、統合後はより質の高いコンテンツが提供できるので、ページビュー数や訪問者数の増加も期待できるでしょう。
まとめ
何かしらの理由でサイトの移転が必要な場合は、必ず301リダイレクト、もしくは302リダイレクトを設定します。
どちらも移転元ページのページランクを引き継ぐので特に意識して使い分ける必要はありませんが、恒久的な移転の場合は、処理速度が勝っている点を考慮し301リダイレクトを設定するようにしましょう。
.htaccessによるリダイレクトが使えない場合など、その他の設定方法については以下を参照ください。
リダイレクトとは?リダイレクトの種類と設定方法