リダイレクトとは?仕組み・種類・設定方法をわかりやすく解説

リダイレクトとは?仕組み・種類・設定方法をわかりやすく解説

リダイレクトとは、あるURLにアクセスしたユーザーや検索エンジンを、別のURLへ自動的に転送する仕組みです。

WebサイトのリニューアルやURL変更、ドメイン移転などを行う際に欠かせない設定であり、適切に実施できているかどうかは、ユーザー体験やSEOにも影響します。

この記事では、リダイレクトの基本的な仕組みから種類、設定方法、確認方法、SEO上の注意点まで、初心者にもわかりやすく解説します。

WebサイトのリニューアルやURL変更を検討中の方へ

GMOらくらくホームページ制作では、Webサイトの制作やリニューアルに関するご相談を受け付けています。URL変更に伴うリダイレクト設定やSEO対策を含め、Webサイト全体の運用を見直したい方は、サービス内容をご確認ください。

\ Webサイトの制作・リニューアルをまとめて相談 /

目次

リダイレクトとは?仕組みをわかりやすく解説

リダイレクトとは、ユーザーがあるURLへアクセスしたときに、自動的に別のURLへ移動させる処理のことです。

たとえば、次のようなケースで使用されます。

  • ページのURLを変更した
  • Webサイトをリニューアルした
  • ドメインを移転した
  • HTTPからHTTPSへ変更した
  • 複数のページを1つに統合した

リダイレクトを設定することで、古いURLへアクセスしたユーザーを、新しいページへ迷わせずに案内できます。

また、Googleなどの検索エンジンに対して、ページが別のURLへ移動したことを伝える役割もあります。

リダイレクトが必要な理由

旧URLの評価を新URLへ統合しやすくするため

URLを変更したにもかかわらずリダイレクトを設定しない場合、検索エンジンは旧URLと新URLの関係を正しく認識できない可能性があります。

その結果、旧URLに向けられていた外部リンクなどのシグナルが、新URLへ適切に統合されにくくなることがあります。

適切なリダイレクトを設定することで、ページが移動したことを検索エンジンへ明確に伝え、URL変更による検索パフォーマンスへの影響を抑えやすくなります。

ただし、リダイレクトを正しく設定した場合でも、サイト移転や大規模なURL変更の直後は、検索順位や検索流入が一時的に変動することがあります。

ユーザーの離脱を防ぐため

古いURLへアクセスした際に404エラーが表示されると、ユーザーは目的の情報へたどり着けません。

そのままWebサイトから離脱してしまう可能性もあります。

旧URLから関連性の高い新URLへリダイレクトを設定すれば、ユーザーを適切なページへ案内でき、混乱や離脱を防ぎやすくなります。

リンク切れを防ぐため

URLを変更すると、検索結果、外部サイト、SNS、ブックマーク、過去のメールなどに古いURLが残る場合があります。

リダイレクトを設定しておけば、古いリンクからアクセスされた場合でも、新しいページを表示できます。

リンク切れを減らすことは、Webサイトの利便性や信頼性を維持するうえでも重要です。

リダイレクトが必要になるタイミング

リダイレクトは、主に次のような場面で必要になります。

  • Webサイトをリニューアルしたとき
  • URLの構造を変更したとき
  • ドメインを変更・移転したとき
  • HTTPからHTTPSへ移行したとき
  • 複数のページを統合したとき
  • ページを別の場所へ移動したとき
  • URLの末尾や表記を統一するとき
  • 「wwwあり」と「wwwなし」を統一するとき

一方で、すべての削除ページをリダイレクトすればよいわけではありません。

削除したページと同等、または関連性の高い転送先がない場合は、無理にトップページなどへ転送せず、404または410のステータスコードを返すことも検討します。

404と410の違い

404は、指定されたページが見つからないことを示すステータスコードです。

410は、そのページが恒久的に削除されたことを明示するステータスコードです。

検索エンジンでは、削除済みページについて404と410が基本的に同様に処理されることがあります。

そのため、通常の削除では404でも問題ありません。ページを意図的かつ恒久的に削除したことを明確に示したい場合は、410を使用する選択肢があります。

リダイレクトの種類

リダイレクトには、主に301、302、307、308などのHTTPステータスコードを使用する方法と、HTMLやJavaScriptを使用する方法があります。

それぞれの違いを理解し、目的に合った方法を選ぶことが重要です。

301リダイレクト:恒久的な転送

301リダイレクトは、ページやURLが恒久的に移動した場合に使用します。

主な利用場面は次のとおりです。

  • URLを恒久的に変更した
  • Webサイトを新しいドメインへ移転した
  • HTTPからHTTPSへ移行した
  • 複数の重複ページを1つに統合した

301リダイレクトは、検索エンジンに対して、旧URLから新URLへ恒久的に移動したことを伝える強いシグナルになります。

一般的なWebページの恒久移転では、広く利用されている方法です。

302リダイレクト:一時的な転送

302リダイレクトは、ページを一時的に別のURLへ移動する場合に使用します。

主な利用場面は次のとおりです。

  • メンテナンス中だけ別のページを表示する
  • 期間限定でキャンペーンページへ誘導する
  • 一時的に代替ページを表示する
  • 将来的に元のURLへ戻す予定がある

302リダイレクトでは、検索エンジンは通常、転送元URLを検索結果に残す可能性があります。

そのため、恒久的なURL変更に302を使用すると、新しいURLへの移転が検索エンジンへ明確に伝わらない場合があります。

元のURLへ戻す予定がない場合は、301または308を使用するのが基本です。

307リダイレクト:一時的な転送・HTTPメソッドを維持

307リダイレクトも、一時的な転送に使用します。

302との主な違いは、POSTなどのHTTPメソッドとリクエスト本文を維持したまま転送することです。

たとえば、フォーム送信やAPIリクエストなどで、POSTをGETへ変更せずに一時転送したい場合に使用します。

一般的なWebページの一時転送では302が使用されることも多いですが、HTTPメソッドを確実に維持する必要がある場合は307が適しています。

308リダイレクト:恒久的な転送・HTTPメソッドを維持

308リダイレクトは、301と同様に恒久的な転送を示します。

301との違いは、POSTなどのHTTPメソッドとリクエスト本文を維持することです。

主に、APIエンドポイントなど、リクエスト方法を変更せずにURLを恒久移転させる必要がある場合に使用されます。

ただし、POSTリクエストを308で転送する場合は、転送先で同じ処理が再実行される可能性があります。

決済、注文、会員登録などの処理では、二重送信や二重登録が発生しない設計も必要です。

一般的なWebページの恒久移転では301が広く使用されていますが、HTTPメソッドを維持する必要がある場合は308を検討します。

301・302・307・308の違い

ステータスコード移転期間HTTPメソッド主な用途
301恒久的変更される場合がある一般的なページやドメインの恒久移転
302一時的変更される場合があるメンテナンスや期間限定の転送
307一時的維持されるPOSTやAPIを含む一時的な転送
308恒久的維持されるPOSTやAPIを含む恒久的な転送

SEOを目的とした恒久的なURL変更では、サーバーサイドの301または308リダイレクトを使用するのが基本です。

通常のWebページであれば、一般的には301リダイレクトが使用されます。

meta refreshによるリダイレクト

meta refreshは、HTMLのmetaタグを使って別のURLへ転送する方法です。

<meta http-equiv="refresh" content="0; url=https://example.com/new-page">

Googleは、待機時間が0秒のmeta refreshを恒久的なリダイレクトとして認識する場合があります。

ただし、ブラウザや支援技術の動作によっては、ユーザーを混乱させる可能性があります。また、サーバーサイドリダイレクトと比べると、転送処理がページ読み込み後になる場合があります。

そのため、サーバー設定を変更できる場合は、301や302などのHTTPリダイレクトを優先してください。

meta refreshは、サーバー側で設定できない場合の代替手段として使用します。

JavaScriptリダイレクト

JavaScriptを使って、別のURLへ移動させる方法もあります。

window.location.replace("https://example.com/new-page");

GoogleはJavaScriptをレンダリングし、JavaScriptによるリダイレクトを認識できます。

ただし、JavaScriptのレンダリングには時間がかかる場合があり、スクリプトのエラーや読み込み失敗によって、転送が正しく認識されない可能性もあります。

そのため、SEOを考慮する場合は、JavaScriptよりもサーバーサイドリダイレクトを優先します。

JavaScriptリダイレクトは、サーバー設定を変更できない場合などに限定して使用する方法です。

URL変更を伴うリニューアルは事前設計が重要

Webサイトのリニューアルでは、公開後にリダイレクトを考えるのではなく、公開前に旧URLと新URLの対応関係を整理する必要があります。

まず、既存サイトのURL一覧を取得し、次のような対応表を作成します。

旧URL新URL対応方法
/old-service/service301
/old-price/price301
/campaign/campaign-2026302
/deleted-page転送先なし404または410

旧ページと新ページの内容を確認し、原則として1対1で関連性の高いページへ転送します。

該当するページがない場合は、無理にトップページへ転送せず、404や410を返す方が適切な場合があります。

WebサイトのリニューアルやURL変更を検討中の方へ

GMOらくらくホームページ制作では、Webサイトの制作やリニューアルに関するご相談を受け付けています。URL変更に伴うリダイレクト設定やSEO対策を含め、Webサイト全体の運用を見直したい方は、サービス内容をご確認ください。

\ Webサイトの制作・リニューアルをまとめて相談 /

リダイレクトの設定方法

リダイレクトの設定方法は、使用しているWebサーバーやCMS、CDNなどによって異なります。

ここでは、代表的な設定方法を紹介します。

Apacheサーバーで設定する方法

Apacheサーバーでは、サーバー設定ファイルや.htaccessファイルを使用してリダイレクトを設定できます。

特定のディレクトリ以下を転送する場合

Redirect permanent "/old-page" "https://example.com/new-page"

ApacheのRedirectは前方一致で処理されます。

そのため、上記の設定では、/old-pageだけでなく、/old-page/sampleなども転送対象になる場合があります。

特定のURLだけを完全一致で転送したい場合は、RedirectMatchを使用します。

特定のURLだけを転送する場合

RedirectMatch 301 "^/old-page/?$" "https://example.com/new-page"

.htaccessを編集する際は、記述ミスによってWebサイト全体が表示されなくなる可能性があります。

事前にバックアップを取得し、設定後は必ず動作確認を行ってください。

Nginxで設定する方法

Nginxでは、設定ファイルのserverまたはlocationブロックにリダイレクトを記述します。

特定のページを転送する場合

location = /old-page {
    return 301 https://example.com/new-page;
}

location =を使用することで、指定したURLに完全一致する場合だけ転送できます。

ドメイン全体を移転する場合

server {
    server_name old.example.com;
    return 301 https://new.example.com$request_uri;
}

$request_uriを付けることで、旧ドメインのパスやパラメータを維持したまま、新しいドメインへ転送できます。

たとえば、次のように転送されます。

https://old.example.com/service?page=2
↓
https://new.example.com/service?page=2

Nginxの設定変更後は、設定ファイルの構文を確認してから再読み込みを行ってください。

PHPで設定する方法

PHPでは、header()関数を使用してリダイレクトできます。

<?php
header("Location: https://example.com/new-page", true, 301);
exit;

header()を使用する前にHTMLや文字列を出力すると、正常にヘッダーを送信できない場合があります。

そのため、リダイレクト処理はファイルの先頭付近で実行し、処理後はexitで終了させます。

ただし、Webサーバー側で設定できる場合は、PHPよりもApacheやNginxなどのサーバー設定を優先するのが一般的です。

JavaScriptで設定する方法

window.location.replace("https://example.com/new-page");

location.replace()を使用すると、転送元ページがブラウザの履歴に残りにくくなります。

ただし、JavaScriptリダイレクトは、サーバーサイドリダイレクトを設定できない場合の代替手段として使用してください。

WordPressで設定する方法

WordPressでは、次のような方法でリダイレクトを設定できます。

  • リダイレクト管理プラグインを使用する
  • .htaccessを編集する
  • Webサーバーの設定ファイルを編集する
  • レンタルサーバーの管理画面を使用する
  • CDNやWAFの転送機能を使用する

プラグインを使用する場合は、更新状況、対応しているWordPressのバージョン、利用者数、サポート状況などを確認してください。

リダイレクト設定が増えすぎると管理が複雑になるため、URLの対応表を別途管理しておくことも重要です。

リダイレクト設定時の注意点

旧URLと新URLを1対1で対応させる

旧URLは、内容が同じ、または近い新URLへ転送することが重要です。

複数の旧URLを無関係な1ページへまとめて転送すると、ユーザーが目的の情報へたどり着けません。

検索エンジンから、不適切な転送やSoft 404として扱われる可能性もあります。

無関係なトップページへ転送しない

転送先が見つからないからといって、すべての削除ページをトップページへ転送するのは避けましょう。

旧ページとトップページの内容に関連性がない場合、ユーザー体験を損なうだけでなく、検索エンジンが正しい移転として認識しない可能性があります。

適切な代替ページがない場合は、404または410を返します。

リダイレクトループを避ける

リダイレクトループとは、複数のURLが互いに転送し合い、最終ページへ到達できない状態です。

たとえば、次のような設定です。

ページA → ページB → ページA

リダイレクトループが発生すると、ブラウザに「リダイレクトが繰り返し行われました」などのエラーが表示され、ページを閲覧できなくなります。

リダイレクトチェーンを作らない

リダイレクトチェーンとは、最終ページへ到達するまでに複数回の転送が発生する状態です。

ページA → ページB → ページC → ページD

転送回数が増えるほど、ユーザーの待ち時間が長くなり、ブラウザや検索エンジンの処理も非効率になります。

可能な限り、旧URLから最終URLへ直接転送してください。

ページA → ページD

過去のリダイレクト設定が残っている場合は、転送先を最新のURLへ更新します。

URLパラメータや末尾のパスを確認する

ドメイン移転やディレクトリ単位の転送では、URLパラメータや末尾のパスが正しく維持されているか確認してください。

設定方法によっては、すべてのURLが同じページへ転送されたり、必要なパラメータが失われたりすることがあります。

リダイレクトをすぐに削除しない

サイト移転後のリダイレクトは、検索エンジンやユーザーが新URLへ移行するために、一定期間維持する必要があります。

少なくとも1年間を目安として維持し、可能であれば外部リンクやブックマークからのアクセスを考慮して、より長期間残すことを検討してください。

内部リンクを新URLへ更新する

リダイレクトを設定した後も、Webサイト内のリンクが旧URLのままでは、アクセスのたびに不要な転送が発生します。

次の項目は、新URLへ更新してください。

  • グローバルナビゲーション
  • 記事内の内部リンク
  • パンくずリスト
  • CTAボタン
  • 画像リンク
  • canonicalタグ
  • XMLサイトマップ
  • hreflang
  • 構造化データ内のURL
  • OGP内のURL

リダイレクトは、内部リンクを修正しなくてよい仕組みではありません。

可能な範囲で、サイト内のURLを直接新URLへ書き換えます。

リダイレクトの確認・テスト方法

リダイレクト設定後は、公開前と公開後の両方で動作確認を行います。

確認すべき項目は次のとおりです。

  • 旧URLから正しい新URLへ移動するか
  • 想定したステータスコードが返されているか
  • リダイレクトループが発生していないか
  • リダイレクトチェーンが長くなっていないか
  • URLパラメータが維持されているか
  • HTTPとHTTPSが正しく統一されているか
  • 「wwwあり」と「wwwなし」が統一されているか
  • スマートフォンでも正常に転送されるか

ブラウザで確認する

旧URLをブラウザへ直接入力し、正しいページへ移動するか確認します。

ただし、ブラウザは301リダイレクトをキャッシュする場合があります。

設定変更後の確認では、シークレットウィンドウや別のブラウザを使用するか、キャッシュを削除してテストしてください。

ブラウザの開発者ツールで確認する

Google ChromeやFirefoxの開発者ツールを開き、ネットワークタブからステータスコードと転送先を確認できます。

確認の流れは次のとおりです。

  • 開発者ツールを開く
  • 「ネットワーク」タブを選択する
  • 旧URLへアクセスする
  • 最初のリクエストを選択する
  • ステータスコードとLocationヘッダーを確認する

curlコマンドで確認する

コマンドラインを使用できる場合は、curlでHTTPヘッダーを確認できます。

curl -I https://example.com/old-page

リダイレクト先まで追跡する場合は、-Lを付けます。

curl -I -L https://example.com/old-page

転送回数や最終URLを確認する際に便利です。

Google Search Consoleで確認する

Google Search ConsoleのURL検査ツールを使用すると、GoogleがURLをどのように認識しているか確認できます。

ただし、URL検査ツールは大量のURLを一括確認する用途には向いていません。

サイト全体のリダイレクトを確認する場合は、クローラーツールやスクリプトなども併用します。

ステータスコード確認ツールを使用する

Web上のHTTPステータスコード確認ツールを使用する方法もあります。

ただし、外部ツールへURLを入力する場合は、社内限定ページや公開前のURL、機密情報を含むURLを入力しないよう注意してください。

ステータスコード確認ツールの一例

リダイレクトがSEOに与える影響

正しく設定した場合

適切なリダイレクトを設定すると、次のような効果が期待できます。

  • 旧URLと新URLの関係を検索エンジンへ伝えられる
  • 外部リンクなどのシグナルを新URLへ統合しやすくなる
  • URL変更による検索パフォーマンスへの影響を抑えやすくなる
  • 古い検索結果やリンクから新ページへ案内できる
  • ユーザーの離脱を防ぎやすくなる

ただし、リダイレクトを設定すれば、検索順位が必ず維持されるわけではありません。

ページ内容、サイト構造、内部リンク、クロール状況なども影響します。

設定を間違えた場合

リダイレクトの設定を誤ると、次のような問題が発生する可能性があります。

  • 無関係なページへ転送される
  • リダイレクトループが発生する
  • リダイレクトチェーンが長くなる
  • 新URLが検索エンジンに認識されにくくなる
  • 旧URLと新URLの評価が適切に統合されない
  • Soft 404として扱われる
  • ユーザーが目的の情報へたどり着けない
  • Webサイト全体が表示できなくなる

リダイレクトは設定して終わりではありません。

公開後もSearch Consoleやアクセス解析、サーバーログなどを確認し、問題が発生していないか継続的に監視することが重要です。

よくあるリダイレクトエラーと対処法

リダイレクトループが発生する

原因

  • HTTPからHTTPSへの転送設定が重複している
  • CDNとWebサーバーの両方で異なる転送を設定している
  • 「wwwあり」と「wwwなし」の設定が循環している
  • ページAとページBが互いに転送している

対処法

転送ルールを整理し、最終的に使用するURLを1つに統一します。

CDN、レンタルサーバー、CMS、Webサーバーのどこで転送を設定しているかも確認してください。

すべてのURLが同じページへ転送される

原因

NginxのserverブロックやApacheの前方一致設定によって、意図した範囲より広いURLが転送対象になっている可能性があります。

対処法

完全一致の設定を使用するか、正規表現やlocationの範囲を見直します。

設定前に、どのURLが対象になるか確認してください。

リダイレクトチェーンが長い

原因

過去のURL変更で作成したリダイレクトが複数残っている可能性があります。

対処法

すべての旧URLから、現在の最終URLへ直接転送するように修正します。

内部リンクやサイトマップも、最終URLへ更新してください。

HTTPからHTTPSへ正しく転送されない

原因

  • SSL証明書が正しく設定されていない
  • WebサーバーとCDNの設定が競合している
  • HTTPS側からHTTP側へ戻す設定がある
  • プロキシ環境で通信方式を誤認している

対処法

SSL証明書、Webサーバー、CDN、ロードバランサーの設定を確認します。

HTTPとHTTPSの転送処理が複数箇所で重複していないかも確認してください。

Google Search Consoleでリダイレクトエラーが表示される

原因

  • 転送先が404になっている
  • リダイレクトループがある
  • 転送回数が多い
  • robots.txtで転送先がブロックされている
  • 転送先のページを取得できない

対処法

URL検査ツールやHTTPステータス確認ツールで、旧URLから最終URLまでの経路を確認します。

転送先ページが正常に200を返しているかも確認してください。

リダイレクト設定のチェックリスト

リダイレクトを設定する際は、次の項目を確認してください。

  • 旧URLと新URLの対応表を作成した
  • 旧ページと関連性の高いページへ転送している
  • 恒久移転には301または308を使用している
  • 一時的な転送には302または307を使用している
  • HTTPメソッドを維持する必要があるか確認した
  • 無関係なトップページへ転送していない
  • リダイレクトループが発生していない
  • リダイレクトチェーンを最小限にしている
  • URLパラメータやパスが正しく維持されている
  • 内部リンクを新URLへ更新した
  • canonicalタグを新URLへ更新した
  • XMLサイトマップを新URLへ更新した
  • 公開前にステータスコードを確認した
  • 公開後にSearch Consoleで確認した
  • リダイレクトを一定期間維持する計画を立てた

まとめ

リダイレクトは、WebサイトのURLを変更する際に、ユーザーと検索エンジンを新しいURLへ案内する重要な仕組みです。

適切なリダイレクトを設定することで、旧URLからのアクセスを維持しながら、ユーザー体験とSEOへの影響を抑えやすくなります。

Webサイトをリニューアルする際は、デザインやコンテンツだけでなく、旧URLと新URLの対応、リダイレクト設定、公開後の確認まで含めて計画しましょう。

WebサイトのリニューアルやURL変更を検討中の方へ

GMOらくらくホームページ制作では、Webサイトの制作やリニューアルに関するご相談を受け付けています。URL変更に伴うリダイレクト設定やSEO対策を含め、Webサイト全体の運用を見直したい方は、サービス内容をご確認ください。

\ Webサイトの制作・リニューアルをまとめて相談 /


お店や会社のWeb管理者向けアプリ『GMO Myホームページ』
毎日のホームページ運営をもっとラクに、安心に。

\ ホームページ運用の「手間」や「困った」をサポート! /

よかったらシェアしてね!
  • URLをコピーしました!