← PC・IT用語集へ戻る

リダイレクト

Redirect
network web beginner
あるURLにアクセスしたユーザーや検索エンジンを、別のURLへ自動的に転送する仕組みのこと。ページ移転やURL変更時によく使われる。
リダイレクト (Redirect)

概要(サマリー)

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

たとえば、古いページのURLを新しいURLへ変更したとき、古いURLにアクセスした人をそのまま新しいページへ案内できる。Webサイトの引っ越し、ページURLの変更、httpからhttpsへの統一、末尾スラッシュの統一などでよく使われる。初心者向けには、「古い住所に来た人を、新しい住所へ自動案内する仕組み」と考えるとわかりやすい。

詳細解説

リダイレクトは「別のURLへ自動で案内する仕組み」である

Webサイトでは、ページのURLが変わることがある。
たとえば、記事のスラッグを変更したり、サイト構成を整理したり、古いページを新しいページに統合したりする場合である。

このとき、古いURLへアクセスした人が404エラーになってしまうと、ユーザーは目的のページにたどり着けない。
そこで使うのがリダイレクトである。

リダイレクトを設定しておくと、古いURLへアクセスしたときに、自動的に新しいURLへ移動させられる。

https://example.com/old-page
↓
https://example.com/new-page

つまりリダイレクトは、URL変更時の迷子を防ぐための道案内である。

なぜリダイレクトが必要なのか

リダイレクトが必要になる理由は、大きく分けて2つある。

1つ目は、ユーザーを正しいページへ案内するためである。
古いリンク、ブックマーク、SNS投稿、外部サイトからのリンクなどは、URL変更後も残り続けることがある。
リダイレクトがあれば、古いURLから来た人も新しいページへ移動できる。

2つ目は、検索エンジンにURL変更を伝えるためである。
特にSEOでは、古いURLに付いていた評価を新しいURLへ引き継ぎたい場面がある。
そのとき、適切なリダイレクトを設定することで、検索エンジンに「このページは新しいURLへ移動しました」と伝えやすくなる。

HTTP Response と Status Code の関係

リダイレクトは、HTTP通信の中では HTTP Response の一種として扱われる。

ユーザーのブラウザが古いURLへ HTTP Request を送ると、サーバーは「このページはこちらへ移動してください」というレスポンスを返す。
そのときに使われるのが、300番台の Status Code である。

代表的なものは次の通りである。

  • 301
    恒久的な移動
  • 302
    一時的な移動
  • 303
    別のURLをGETで見に行かせる。フォーム送信後などで使われることがある
  • 307
    一時的な移動。HTTPメソッドを維持する
  • 308
    恒久的な移動。HTTPメソッドを維持する

初心者向けには、まず 301は本格的な引っ越し、302は一時的な転送 と覚えると分かりやすい。
フォーム送信やAPIのように、POST などのHTTPメソッドを変えたくない場面では、307や308が選ばれることがある。301や302では、実装や状況によって POSTGET に変わることがあるためである。

301リダイレクトとは何か

301リダイレクトは、「このURLは恒久的に別のURLへ移動しました」と伝えるためのリダイレクトである。

たとえば、ページのURLを完全に変更した場合や、古いページを新しいページへ統合した場合に使われることが多い。

旧URL: https://example.com/old-item
新URL: https://example.com/new-item

このような場合に301リダイレクトを設定すると、ユーザーも検索エンジンも新しいURLへ案内される。
SEO上も、旧URLの評価を新URLへ引き継ぐ意図を伝えやすい。

ただし、301は恒久的な移動を示すため、一時的なキャンペーンやテストには向かないことがある。

302リダイレクトとは何か

302リダイレクトは、「一時的に別のURLへ移動しています」と伝えるためのリダイレクトである。

たとえば、次のような場面で使われることがある。

  • 一時的なメンテナンスページへ移す
  • キャンペーン期間だけ別ページへ案内する
  • A/Bテストのために一時的に振り分ける

302は一時的な転送なので、検索エンジンに対しては「元のURLが本来の場所です」というニュアンスが残りやすい。
そのため、完全にURLを移転した場合に302を使い続けると、意図した評価移行にならない可能性がある。

httpからhttpsへの統一でも使われる

リダイレクトは、URLの表記ゆれを統一するためにも使われる。

代表的なのが、http から https への転送である。

http://example.com
↓
https://example.com

HTTPS化したサイトでは、暗号化されていないHTTPアクセスをHTTPSへ転送する設定を行うことが多い。
これにより、ユーザーが古いHTTPリンクからアクセスしても、安全なHTTPS版へ案内できる。

同じように、次のような統一にもリダイレクトが使われる。

  • www あり / なしの統一
  • 末尾スラッシュあり / なしの統一
  • .html あり / なしの統一
  • 古いドメインから新しいドメインへの移転

Canonical との違い

リダイレクトと混同しやすいのが Canonical である。

  • Redirect
    ユーザーや検索エンジンを実際に別URLへ移動させる
  • Canonical
    ページを表示したまま、検索エンジンへ正規URLを伝える

たとえば、古いURLに来た人を新しいURLへ強制的に移動させたいならRedirectである。
一方、似た内容のページを表示したまま、「検索評価上の代表URLはこちらです」と伝えたいならCanonicalである。

つまり、リダイレクトは実際の転送、canonicalは検索エンジンへのヒントである。

Noindex との違い

Noindex もSEOで一緒に出てくるため、リダイレクトと混同されやすい。

  • Redirect
    別のURLへ転送する
  • Noindex
    検索結果に表示しないよう検索エンジンへ伝える

たとえば、古いページを新しいページへ移したならRedirectが向いている。
一方、ページ自体は表示できるが検索結果には出したくないならNoindexを使う。

「検索に出したくないからリダイレクトする」という考え方は、目的によってはズレることがある。
転送したいのか、検索結果から外したいのかを分けて考える必要がある。

Forwarding との違い

リダイレクトは日本語で「転送」と呼ばれることもある。
ただし、メールの Forwarding とは意味が違う。

  • Redirect
    WebのURLアクセスを別URLへ移動させる
  • Forwarding
    メールなどを別の宛先へ転送する

どちらも「別の場所へ送る」という意味では似ているが、WebサイトのURL転送で使う場合はRedirectと呼ぶのが一般的である。

リダイレクトの設定場所

リダイレクトは、環境によって設定場所が変わる。

たとえば、次のような場所で設定されることがある。

サーバー設定

Apache.htaccessNginxの設定ファイルなどでリダイレクトを設定する。

CMSやプラグイン

WordPressでは、リダイレクト用プラグインやSEOプラグインで設定できることがある。

アプリケーション側

PHPJavaScriptフレームワークルーティングなどでリダイレクト処理を書くことがある。

ホスティング管理画面

レンタルサーバーやクラウドサービスの管理画面で、ドメイン転送やURL転送を設定できることがある。

どこで設定するかによって、反映範囲や優先順位が変わることがあるため注意が必要である。

.htaccessでの例

Apache環境では、.htaccess にリダイレクトを書くことがある。

たとえば、古いページを新しいページへ301リダイレクトする例は次の通りである。

Redirect 301 /old-page.html https://example.com/new-page.html

これは、/old-page.html にアクセスが来たら、https://example.com/new-page.html へ恒久的に転送する設定である。

ただし、.htaccess の書き方を間違えるとサイト全体が表示できなくなることもある。
編集前にはバックアップを取り、少しずつ確認することが大切である。

Nginxでの例

Nginxでは、設定ファイル内で return を使ってリダイレクトを書くことがある。

たとえば、古いページを新しいページへ301リダイレクトする例は次の通りである。

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

これは、/old-page.html にアクセスが来たら、https://example.com/new-page.html へ恒久的に転送する設定である。
Nginxの設定を変更した場合は、設定テストを行ってから反映することが重要である。

リダイレクトチェーンに注意する

リダイレクトでは、転送が何段にもつながってしまうことがある。
これをリダイレクトチェーンと呼ぶ。

A → B → C → D

このように何度も転送されると、表示が遅くなったり、検索エンジンにとって分かりにくくなったりすることがある。

できるだけ、

A → D

のように、最終URLへ直接リダイレクトするほうがよい。
サイト移転やURL整理を何度も行った場合は、古い設定が残っていないか確認することが重要である。

リダイレクトループに注意する

もう1つ注意したいのがリダイレクトループである。

これは、AからBへ転送し、BからまたAへ戻すような設定になってしまう状態である。

A → B → A → B ...

この状態になると、ブラウザは何度も転送を繰り返し、最終的にエラーになる。
よくある原因として、http/https、wwwあり/なし、末尾スラッシュの統一設定が重複している場合などがある。

リダイレクトを設定したら、実際にアクセスして正しく1回で目的のURLへ移動するか確認することが大切である。

SEOでリダイレクトが重要な理由

SEOでは、URLの変更やページ統合を行うときにリダイレクトが重要になる。

もし古いURLを削除しただけだと、検索結果や外部リンクから来たユーザーが404ページにたどり着いてしまう。
また、旧URLに付いていた評価や被リンクの価値を新URLへ引き継ぎにくくなる。

そこで、関連性の高い新URLへ301リダイレクトを設定することで、ユーザーにも検索エンジンにも移転先を伝えやすくなる。

ただし、関係のないページへ何でも転送すればよいわけではない。
古いページと新しいページの内容が近いことが重要である。

リダイレクト後は、ブラウザで実際にアクセスして確認するだけでなく、Search ConsoleのURL検査などでGoogleがどのURLを認識しているか確認すると安心である。

AI時代にリダイレクトの理解が重要な理由

AIを使ってページを作ったり、静的HTMLを生成したり、サイト構造を整理したりすると、URL変更が増えやすくなる。
そのとき、リダイレクトを理解していないと、古いURLからの流入や検索評価を失いやすい。

たとえば、次のような場面でリダイレクトが必要になることがある。

  • WordPress記事を静的HTMLへ移行する
  • 用語ページのslugを変更する
  • 旧サイトから新サイトへ移転する
  • ECサイトの商品URLを変更する
  • httpからhttpsへ統一する
  • .html あり / なしを整理する

AIにリダイレクト設定を書いてもらうこともできるが、間違った設定はサイト全体の表示エラーにつながることがある。
そのため、意味を理解したうえで、少数のURLからテストすることが重要である。

初心者向けの理解の仕方

最初は、リダイレクトを「古いURLへ来た人を、新しいURLへ自動案内する仕組み」と覚えれば十分である。

特に次の3つを押さえておくと理解しやすい。

  • 301 = 恒久的な移動
  • 302 = 一時的な移動
  • canonical = 転送ではなく正規URLのヒント

ページ移転やURL変更をするときは、削除して終わりではなく、必要に応じてリダイレクトを設定する。
この意識があるだけで、ユーザー体験とSEOの両方を守りやすくなる。

AIコーディングとの関係

AIにコード生成や修正を依頼するとき、リダイレクトの意味を理解していると、出力されたコードやエラー内容を判断しやすくなる。
あるURLにアクセスしたユーザーや検索エンジンを、別のURLへ自動的に転送する仕組みのこと。

AIへ相談するときは、「何をしたいのか」「どの環境で起きているのか」「どのファイルやエラーを見ているのか」を一緒に伝えるとよい。
用語だけを投げるより、具体的な状況と期待する結果を添えることで、より実用的な回答を得やすくなる。

よくある勘違い

リダイレクトは名前だけ覚えれば十分?

名前だけでは不十分である。
実際の開発では、どんな場面で使われ、何と混同しやすいかまで理解しておくと判断しやすい。

リダイレクトはAIに任せれば理解しなくてよい?

そうではない。
AIは説明やコードを出せるが、最終的にその内容が正しいか、今の目的に合っているかを確認するのは人間である。

リダイレクトは単独で覚えればよい?

単独ではなく、関連する用語や実際の作業の流れと一緒に覚えると理解しやすい。
用語同士のつながりを意識すると、AIへの質問やエラー調査もしやすくなる。

まとめ

  • リダイレクトは、あるURLにアクセスしたユーザーや検索エンジンを、別のURLへ自動的に転送する仕組みのこと。
  • 関連する用語や実際の作業場面と一緒に理解すると、使いどころを判断しやすい。
  • AIコーディングでは、用語の意味を理解しているほど、AIの説明や生成コードを確認しやすくなる。
  • 迷ったときは、エラー内容、目的、前提条件を整理してAIに聞くとよい。

より詳しくAIに聞いてみよう

  • リダイレクトとは何かを、中学生でもわかるように具体例つきで説明してください。
  • 301リダイレクトと302リダイレクトの違いを、初心者向けに整理してください。
  • Redirect と Canonical と Noindex の違いを、SEO目線で説明してください。
  • .htaccess でリダイレクトを設定するときの注意点を教えてください。
  • WordPress記事を静的HTMLへ移行するときのリダイレクト設計を相談したいです。