リダイレクトとは?初心者でも絶対分かる徹底解説|設定方法も紹介
「リダイレクトとは?」
「サイト移転をしたのでリダイレクトをかけたいが、どのようにすれば良いの?」
リダイレクトとは、Webサイト運営における基礎的な技術の1つで、ユーザーを正しいURLへ転送する方式です。
しかし、まだサイト運営を始めて日が浅い方はリダイレクトの方法がわからず困っている方もいるのではないでしょうか。
この記事ではリダイレクトの基本的な知識と種類、書き方やセキュリティ面でのリスク、注意点をまとめています。
最後まで読めばリダイレクトの基本知識が身につき、サイトで必要なリダイレクト処理を実現できるはずです。
1.リダイレクトとは?初心者向けに解説
ウェブサイトを運営する上で避けて通れない技術の一つが「リダイレクト」です。
ここからはリダイレクトの仕組みやいつ必要かなど、基礎知識を解説します。
- リダイレクトの基本的な仕組み
- リダイレクトが必要な状況
- リダイレクトされるとどうなるか
(1)リダイレクトの基本的な仕組み
リダイレクトは、ユーザーが特定のURLにアクセスした際に、自動的に別のURLへ転送する仕組みです。
例えば、WebサイトのURLを変更した場合に古いURLにアクセスしてきたユーザーを新しいURLへ自動的に転送できます。
これにより、ユーザーは手動でURLを入力し直したり、あらためて公式サイトを検索し直す必要がなく、スムーズにコンテンツにアクセスすることができます。
(2)リダイレクトが必要な状況
リダイレクトが必要になる状況は多岐にわたります。
最も一般的なのが、wwwの有無による統一が必要となるケースです。
例えば、「www.example.com」と「example.com」を同一のサイトとして扱いたい場合、どちらかに統一するためにリダイレクトを使用します。
wwwの有無により、検索エンジンが別のURLと認識してしまい、検索エンジンの評価が割れてしまうためです。
また、近年特に重要性が増しているのが、HTTPSへの正規化です。
セキュリティ対策として、HTTP版のサイトからHTTPS版へ全てのトラフィックを転送する必要があります。
さらに、ドメインを移転する際にも、リダイレクトは欠かせません。
古いドメインから新しいドメインへユーザーを適切に誘導することで、アクセス数の損失を防ぎ、SEO評価も維持することができます。
(3)リダイレクトされるとどうなるか
ユーザーが旧URLにアクセスすると、ブラウザは自動的に新しいURLへ転送を行います。
この処理は通常、ユーザーが気づかないほどのスピードで瞬時に実施されます。
転送時には、ブラウザのアドレスバーに表示されるURLが新しいものに変更され、自動的に遷移する仕組みです。
リダイレクトは瞬時に実施されますが、あえてスピードを遅くし「10秒後に自動的に遷移します」などと表示させる場合もあります。
また、検索エンジンは適切に設定されたリダイレクトを検知すると、自動的にインデックスの更新を実施します。
この際、旧URLが持っていた評価を新URLに引き継ぐため、SEOの観点からも安全な移行が可能です。
2.リダイレクトの種類
リダイレクトには複数の種類があり、それぞれ異なる用途や特徴をもっています。
状況に応じて、以下の種類から目的と合致するリダイレクトを選びましょう。
- 301リダイレクト
- 302リダイレクト
- 303リダイレクト
- 307リダイレクト
- 308リダイレクト
- メタリフレッシュ
(1)301リダイレクト
301リダイレクトは、「Moved Permanently(恒久的な移動)」を示すステータスコードです。
このリダイレクトは、URLの完全な変更や、ドメインの移転時に使用します。
「古いURLから新しいURLへ、完全に切り替える」場合に使用するリダイレクトと考えるとわかりやすいでしょう。
そのため、サイトの構造を変更する際には、最も推奨されるリダイレクト方式となっています。
(2)302リダイレクト
302リダイレクトは、「Found(見つかりました)」を示すステータスコードで、一時的な転送に使用されます。
例えば、サイトのメンテナンス中やキャンペーンページへの一時的な転送などに適しています。
301と混同しがちなリダイレクトですが、一時的なら302を恒久的なら301を選べば問題ありません。
なお、万が一301と302を取り違えたとしても、さほど問題ではないともいわれています。
Google社のジョン・ミューラー氏は過去に動画で「301と302の違いは些細なものであり、仮に取り違えたとしてもSEOに大きな影響はない」と回答しているためです。
とはいえ、アルゴリズムは常に変化しているため、場合に応じてリダイレクトは使い分けた方が良いでしょう。
(3)303リダイレクト
303リダイレクトは、「See Other(他を参照)」を示すステータスコードです。
このリダイレクトの特徴は、必ずGETメソッドで転送が行われることです。
GETメソッドとは、ブラウザがサーバーに対して情報を要求する際の手法の1つ。
主に情報を「閲覧する」際に使われる方式です。
主にフォームの送信後やオンラインショッピングの決済完了後など、データの二重送信を防ぎたい場合に使用されます。
例えば、ユーザーが注文フォームを送信した後、注文確認ページへ遷移する際などにも303リダイレクトが使用されるケースが多いです。
(4)307リダイレクト
307リダイレクトは、「Temporary Redirect(一時的なリダイレクト)」を示すステータスコードです。
302リダイレクトと似ていますが、HTTPメソッド(GETやPOST)が維持される点が大きな違いです。
302リダイレクトではリダイレクト時に送信した情報は失われますが、307リダイレクトでは送信したデータはそのまま維持されます。
ネットショッピングを具体的事例として、この違いを理解しましょう。
まず前提として、ネットショッピングでは注文フォームで情報を入力し、入力を確定するとその情報がシステムに転送されて処理される仕様が一般的です。
しかし、システムがメンテナンス中の場合などは、バックアップサーバーで注文情報を処理しなければなりません。
この場合にリダイレクト方式の違いで、正しく情報を転送できるかに違いが出ます。
【302リダイレクトの場合】
- お客様が入力した注文情報がPOSTで送信される
- 302リダイレクトでバックアップサーバーに転送
- GETメソッドに変わってしまう
- 注文情報が失われる
- お客様は再度入力が必要になる
【307リダイレクトの場合】
- お客様が入力した注文情報がPOSTで送信される
- 307リダイレクトでバックアップサーバーに転送
- POSTメソッドが維持される
- 注文情報も維持される
- お客様は再入力不要で注文完了
まとめると302リダイレクトでは入力した情報が維持されず、顧客に何度も情報入力をしてもらう必要が生じます。
そこで、顧客に手間なくリダイレクト処理ができる307リダイレクトを活用する必要があるのです。
(5)308リダイレクト
308リダイレクトは、「Permanent Redirect(恒久的なリダイレクト)」を示す比較的新しいステータスコードです。
301リダイレクトと同様に恒久的な転送を示しますが、HTTPメソッドが必ず保持される点が異なります。
特にRESTful APIなど、HTTPメソッドの維持が重要なケースで使用されます。
2つのシステムがインターネットを開始、情報を安全に交換するためのインターフェイスです。
例えば、スマホアプリで天気情報を取得する場合を例として考えてみましょう。
301リダイレクトを使用した場合は、データの送信方式が変更されるため、データが正しく届きません。
しかし、308リダイレクトを使えば古い送信データが維持されたまま情報を新しく取得するので、いちいち地域情報を入力し直す必要がなくなります。
(6)メタリフレッシュ
メタリフレッシュは、HTMLのmetaタグを使用したクライアントサイドでのリダイレクト方式です。
コンテンツのHTMLに直接記述が可能でサーバー側での設定が不要という利点がありますが、検索エンジンからは非推奨の方法です。
一時的な転送や、サーバー設定が変更できない環境での代替手段として使用されることがあります。
あくまで一時的なイベントやメンテナンスの表示、サーバー側の制限がある場合にのみ使用しましょう。
3. リダイレクトのSEOへの影響
リダイレクトの設定は、検索エンジンでのサイト評価に大きな影響を与える可能性があります。
適切な設定を行うことで、SEO評価を維持しながらURLの移行を実現できます。
- Googleの公式見解
- 検索エンジンの評価の転送
- インデックスへの影響
- リンクジュースの受け渡し
(1)Googleの公式見解
Googleは、恒久的なURL変更の際には301リダイレクトの使用を推奨しています。
特にサイト移転時には、段階的な移行と適切なリダイレクト設定の組み合わせが重要と見解を示しています。
モバイルサイトのリダイレクトについては、ユーザーエージェントに基づく適切な転送設定が必要です。
先程紹介したように、307リダイレクトと302リダイレクトにさほど差はないという見解もありますが、基本的に用途に応じたリダイレクト設定をするのが良いでしょう。
(2)検索エンジンの評価の転送
適切なリダイレクト設定により、既存ページの検索エンジン評価を新しいURLに引き継ぐことができます。
特に301リダイレクトを使用した場合、ページランクやドメイン評価などのSEO要素がスピーディに新URLに転送されます。
ただし、この評価の転送は、関連性の高いコンテンツ間での移行であることが前提です。
リダイレクト先のコンテンツが元のページと大きく異なる場合、評価の引き継ぎは期待できません。
(3)インデックスへの影響
適切なリダイレクトが設定されている場合、検索エンジンは新URLのインデックスを優先します。
これにより、検索結果での重複を防ぎ、クローラーロボットが効率的にサイトを巡回できます。
一方、不適切なリダイレクト設定は、インデックスの重複やクロール効率の低下のリスクがあるため注意しましょう。
(4)リンクジュースの受け渡し
リンクジュースとは、外部サイトからのリンクによってもたらされる評価価値のことを指します。
適切なリダイレクト設定により、既存のリンクジュースを新しいURLへ転送することが可能です。
特に301リダイレクトの場合、リンクジュースの大部分が新URLに引き継がれるとされています。
4. リダイレクトの設定方法
リダイレクトの設定方法は、使用しているサーバーやCMSによって異なります。
それぞれの環境に適した方法を選択することが重要です。
- サーバーサイドでの設定
- WordPressでのリダイレクト設定
- HTMLでのリダイレクト方法
- YouTubeでのリダイレクト設定
- リダイレクトURL作成ツール
(1)サーバーサイドでの設定
Apacheサーバーでは、.htaccessファイルを使用してリダイレクトを設定することができます。
最も基本的な設定方法は、Redirect命令を使用する方法です。
Redirect 301 /old-page.html https://www.example.com/new-page.html
より柔軟な設定が必要な場合は、mod_rewriteモジュールを利用します。
RewriteEngine On
RewriteCond %{http_host} ^www.old.com/
RewriteRule ^(.*) https://www.new.com/$1 [R=301,L]
(2)WordPressでのリダイレクト設定
WordPressでリダイレクトを設定する方法は、主にプラグインを使用する方法とfunctions.phpを編集する方法の2種類があります。
プラグインを使用する場合、「Redirection」や「301 Redirects」などの専用プラグインが便利です。
これらのプラグインは、直感的な操作でリダイレクトの設定が可能です。
また、アクセスログの確認や404エラーの監視など、追加機能も提供しています。
functions.phpを編集する方法は、より細かな制御が可能ですが、PHPの知識が必要となる点に注意してください。
(3)HTMLでのリダイレクト方法
HTMLでリダイレクトを設定する場合、metaタグを使用する方法とJavaScriptを使用する方法があります。
metaタグによるリダイレクトは、ページのhead部分にリフレッシュ命令を記述します。
<meta http-equiv=”refresh” content=”秒数; URL=https://www.new.com/”>
JavaScriptによるリダイレクトは、window.location.hrefを使用するケースが多いです。
ただし、これらのクライアントサイドでのリダイレクトは、SEOの観点からは推奨されません。
あくまでやむを得ない場合のリダイレクトとして使用しましょう。
(4)YouTubeでのリダイレクト設定
YouTubeでは、チャンネルURLのカスタマイズ機能を使用してリダイレクトを設定できます。
これにより、覚えやすい独自のURLを設定し、視聴者を効率的に誘導することが可能です。
また、動画説明欄では完全なURLを記載することで、視聴者を外部サイトへリダイレクトして誘導できます。
(5)リダイレクトURL作成ツール
リダイレクトURLを効率的に作成するために、様々なオンラインツールが提供されています。
これらのツールを使用することで、複雑なリダイレクトルールも簡単に生成可能です。
ただし、生成されたコードは必ず実環境でテストしてから使用しましょう。
例として、いくつかリダイレクトURL作成ツールを紹介します。
5. リダイレクトの実装における注意点
リダイレクトを実装する際には、いくつかの重要な注意点があります。
これらを適切に理解し対応することで、安全で効果的なリダイレクトを実現できます。
- リダイレクトループの回避
- リダイレクトチェーンの最小化
- モバイルサイトのリダイレクト
- HTTPSへの移行時のリダイレクト
(1)リダイレクトループの回避
リダイレクトループとは、URLの転送が無限に循環してしまう状態を指します。
例えば、AページからBページへ、BページからAページへというように転送が続く状態です。
このような状態が発生すると、ブラウザはエラーを表示し、ページにアクセスできなくなります。
回避するには、リダイレクトの設定を書き出すなどして確認し、ループが起きないように設定しましょう。
(2)リダイレクトチェーンの最小化
リダイレクトチェーンとは、複数のリダイレクトが連続して発生する状態です。
例えば、AページからBページ、BページからCページというように転送が連続する状況を指します。
このような連鎖が発生すると、ページの読み込み速度が著しく低下しユーザーエクスペリエンスが低下してしまいます。
また、検索エンジンのクロール効率も悪化し、SEO評価に悪影響を与える可能性がある点にも注意してください。
(3)モバイルサイトのリダイレクト
モバイルサイトへのリダイレクトでは、ユーザーエージェントの適切な判定が重要です。
スマートフォンやタブレットなど、様々な端末に対して適切なコンテンツを提供する必要があります。
ただし、近年はレスポンシブデザインの採用が推奨されており、デバイスごとのリダイレクトはほぼ使われていません。
(4)HTTPSへの移行時のリダイレクト
HTTPSへの移行時は、全てのHTTPリクエストを適切にHTTPSへリダイレクトする必要があります。
この際、サブドメインを含む全てのURLに対して、漏れなくリダイレクトを設定することが重要です。
また、ページ内の画像やスクリプトなど、全てのリソースもHTTPSに対応させる必要があります。
混在コンテンツ(HTTP/HTTPSの混在)が発生すると、ブラウザで警告が表示される可能性があるため注意しましょう。
6. リダイレクトの危険性と対策
リダイレクトは便利な機能である一方で、悪用されるリスクも存在します。
適切な対策を講じることで、安全なリダイレクトの実装が可能となります。
- フィッシング詐欺などの悪用事例
- セキュリティリスクと防止策
- リダイレクト攻撃とその対策
(1)フィッシング詐欺などの悪用事例
リダイレクトの悪用で最も多いのが、フィッシング詐欺です。
悪意のある第三者が、正規サイトを装って不正なサイトへリダイレクトさせる手法が用いられます。
特にオープンリダイレクト(任意のURLへの転送を許可する設定)は、悪用のリスクが高くなります。
このような攻撃を防ぐには、リダイレクト先のURLを厳密に検証してください。
(2)セキュリティリスクと防止策
リダイレクトにおける主なセキュリティリスクには、意図しない転送や情報漏洩があります。
これらを防ぐため、リダイレクト先のドメインをホワイトリスト方式で制限することが推奨されます。
ホワイトリスト方式とは、安全なものだけを許可するというデータ送信の考え方です。
デフォルトでは全て「禁止」になっており、安全だと確認済みのやり取りのみを許可するためセキュリティ面でも安心して利用できるため、ネットショップの会員情報の管理などにも利用されています。
また、セキュリティヘッダーを適切に設定し、不正なリダイレクトを防止する必要があります。
定期的なセキュリティ監査を実施し、リダイレクトの設定に問題がないか確認することも重要です。
(3)リダイレクト攻撃とその対策
リダイレクト攻撃には、オープンリダイレクトの悪用以外にも様々な手法があります。
強制的なリダイレクトやスプーフィング攻撃などが代表的な攻撃手法です。
スプーフィング攻撃とは、リファラーを偽装して正常なアクセスに見せかけて会員情報を盗むなどの不正行為を意味します。
リファラーとは、ユーザーがどこから流入したかの情報です。
これらの攻撃を防ぐには、URLの厳密な検証と強制的なHTTPS通信の設定が必要です。
7. リダイレクトの解除方法
リダイレクトの設定を解除する必要が生じた場合、正しい手順で行うことが重要です。
環境や設定方法によって、適切な解除手順が異なります。
- サーバー設定でのリダイレクト解除
- WordPressでのリダイレクト解除
- ブラウザキャッシュのクリアによる一時的なリダイレクト解除
(1)サーバー設定でのリダイレクト解除
Apacheサーバーでリダイレクトを解除する場合、.htaccessファイルの編集が必要です。
該当するリダイレクト設定を削除し、ファイルを保存することで解除が完了します。
設定変更後は、必ずサーバーの再起動やキャッシュのクリアを行う必要があります。
変更後は、設定ファイルの文法チェックを行い、サービスを再起動して解除されているか確認しましょう。
(2)WordPressでのリダイレクト解除
WordPressでプラグインを使用している場合、管理画面からリダイレクトルールを削除しましょう。
リダイレクションプラグインなどでは、個別のリダイレクトルールを簡単に無効化または削除できます。
functions.phpでリダイレクトを設定している場合は、該当するコードを削除または無効化します。
最後にWordPressのキャッシュをクリアして、正常に解除されているか確認してください。
(3)ブラウザキャッシュのクリアによる一時的なリダイレクト解除
ブラウザのキャッシュが原因で、リダイレクトが継続する場合があります。
このような場合、ブラウザのキャッシュをクリアすることで一時的に解決できます。
各ブラウザのキャッシュをクリアするためのショートカットキーや設定画面を利用しましょう。
ただし、これは一時的な解決策であり、根本的な解決には適切なリダイレクト設定の見直しが必要です。
8. リダイレクトを活用すべきシチュエーション
リダイレクトは、適切なタイミングで使用することでSEO評価を引き継いだまま、正しいURLへユーザーを転送できます。
以下では、リダイレクトが特に効果を発揮する具体的なケースを説明します。
- ドメイン変更時
- サイト構造の変更時
- 一時的なメンテナンス時
- A/Bテストでの使用
- SNSマーケティング実施時
(1)ドメイン変更時
ドメインを変更する際は、旧ドメインから新ドメインへの301リダイレクトが不可欠です。
この設定により、既存のユーザーや検索エンジンに新しいドメインを適切に伝えることができます。
移行期間中は、旧ドメインも維持しながら、段階的に新ドメインへの移行を進めることが推奨されます。
(2)サイト構造の変更時
サイトの構造を変更する際は、古いURLから新しいURLへのリダイレクトが必要です。
そのため、URLの対応表を作成し、全てのページが適切に転送されるよう設定しましょう。
特に、人気のあるページやSEO評価の高いページについては、慎重にリダイレクトを設定する必要があります。
(3)一時的なメンテナンス時
サイトのメンテナンス中は、全てのアクセスをメンテナンス告知ページへリダイレクトします。
この場合、302リダイレクトを使用することが適切です。
メンテナンス終了後は速やかにリダイレクトを解除し、通常のアクセスを復旧させるようにしてください。
(4)A/Bテストでの使用
A/Bテストを実施する際、ユーザーを異なるバージョンのページへリダイレクトすることがあります。
この場合、ユーザーのセグメント分けに基づいて、適切なバージョンへ転送を行います。
テスト用のリダイレクトの場合は一時的な転送であるため、通常302リダイレクトが使用されます。
(5)SNSマーケティング実施時
SNSでのキャンペーンやプロモーション実施時、専用のランディングページへのリダイレクトが有効です。
この場合、トラッキングパラメータを含むURLを使用し、アクセス解析を行うことができます。
キャンペーン期間が終了した後は、適切にリダイレクトを解除するか、別のページへ転送するよう設定を変更します。
9.リダイレクトがうまくされない場合の対処法
リダイレクトの設定後、意図した通りにリダイレクトしないケースがしばしば発生します。
その場合のトラブルの解決策についても理解しておきましょう。
- リダイレクトでよく起きるトラブルと解決策
- リダイレクトのテスト方法
(1)リダイレクトでよく起きるトラブルと解決策
最も一般的なトラブルは、ブラウザのキャッシュが残っていることによる問題です。
キャッシュが古い情報を保持している場合、新しいリダイレクト設定が反映されないことがあります。
サーバー側のキャッシュも、リダイレクトの動作に影響を与える可能性があるため、万が一トラブルが起きた際はチェックしてください。
また、.htaccessファイルの文法エラーや、リダイレクトルールの競合も頻繁に発生する問題です。
これらの問題を解決するには、まずエラーログを確認することから始めます。
次に、テスト環境での検証を行い、どこでエラーが発生しているか確認しましょう。
最後に、段階的に設定を変更しながら、正しくリダイレクトができているかチェックしていきます。
(2)リダイレクトのテスト方法
リダイレクトのテストには、複数のツールや方法を組み合わせることが推奨されます。
オンラインの診断ツールを使用すると、より詳細な分析が可能です。
特に重要なのは、以下の点を確認することです。
- リダイレクト先のURLが正しいか
- 適切なステータスコードが返されているか
- リダイレクトチェーンが発生していないか
- レスポンス時間が適切か
ブラウザの開発者ツールを使用すると、実際のリダイレクトの挙動を視覚的に確認できます。
特にネットワークタブでは、リダイレクトの連鎖や応答時間を詳細に分析することができます。
また、Googleの検索コンソールを使用することで、検索エンジンから見たリダイレクト確認が可能です。
10.リダイレクトについて初心者が抱きがちな質問
リダイレクトの実装において、初心者の方々からよく寄せられる質問について解説します。
- リダイレクトはいつまでかけ続ければ良いですか?
- サーチコンソールで「リダイレクトエラー」が出ましたが、どう解決すれば良いですか?
(1)リダイレクトはいつまでかけ続ければ良いですか?
リダイレクトをいつまでかけるかは、リダイレクトの種類と目的によって異なります。
301リダイレクトの場合、最低でも6ヶ月から1年程度の維持が必要です。
検索エンジンが新しいURLを完全に認識し、インデックスを更新するために半年から1年程度の期間が必要とされているためです。
ただし、外部からの重要なリンクが存在する場合は、さらに長期間リダイレクトをかけ続けなければならない場合もあります。
一方、302リダイレクトは、必要な期間のみ設定を維持します。
例えば、キャンペーン終了時やメンテナンス完了時などは、終わった時点で解除しましょう。
(2)サーチコンソールで「リダイレクトエラー」が出ましたが、どう解決すれば良いですか?
まずはリダイレクトエラーが起きている原因を探りましょう。
サーチコンソールでは、問題のあるURLと具体的なエラー内容が表示されるので、内容を確認すればおおよその原因がわかるはずです。
多くの場合はリダイレクトチェーンの発生が原因の場合が多いので、設定を確認してループを解除すれば解決するでしょう。
まとめ
リダイレクトは、Webサイト運営において必要不可欠な技術です。
適切な実装により、ユーザーをスムーズに最新情報へ誘導し、なおかつSEO評価を引き継げます。
初心者の方はまずはWordPressのプラグインなどを使用したリダイレクト処理から、リダイレクトの仕組みを理解してください。
リダイレクトには複数の種類がありますが、目的に応じて適切なリダイレクトを選択しましょう!