301と302リダイレクトの使い分けと設定方法

恒久的リダイレクトと一時的リダイレクトの違い、使い分け、最終的な転送先・チェーン・インデックス登録のシグナルの確認方法を解説します。

リダイレクトは、サーバーからの「リクエストされたURLは移転しました。新しいアドレスはこちらです」という通知です。ブラウザーと検索エンジンのクローラーはHTTPステータスコードと新しいURLを受け取り、自動的にそちらへ移動します。ユーザーには見えませんが、SEOでは種類の選び方が重要です。

基本ルールは、ページが恒久的に移転したなら301、一時的に移転して元に戻すなら302です。302は本当にそう言える場合だけ使います。それ以外はすべて301にします。

リダイレクトとは

HTTPリダイレクトとは、リソースが別のURLにあることを示す3xxステータスコードのサーバーレスポンスです。ブラウザーは新しいアドレスへ自動的に移動します。クローラーも同様に移動し、リダイレクトの種類に応じてインデックスを更新します。

301

恒久的

リンク評価を最大99%引き継ぎます。Googleでは数週間でページが統合されます

302

一時的

リンク評価を引き継ぎません。転送元URLがインデックスに残ります

約1ミリ秒

遅延

適切に設定したリダイレクトで増える応答時間は1ミリ秒未満です

3回まで

チェーンのホップ数

推奨されるリダイレクトチェーンの最大長です

301:恒久的リダイレクト

301 Moved Permanentlyは、ページが恒久的に移転したことをブラウザーとクローラーに伝えます。Googleは転送元URLのリンク評価(PageRank)を新しいURLに引き継ぎ、インデックスを更新して、検索結果に新しいURLを表示するようになります。

301を使う場面

ケース例
ドメインの移行old-domain.com → new-domain.com
代わりのページがあるページの削除/old-product → /new-product
重複URLの統合/pageと /page/ → /page/(末尾スラッシュの統一)
HTTP → HTTPShttp://site.com → https://site.com
wwwあり → wwwなし(またはその逆)www.site.com → site.com
URL構造の変更/blog/2020/post → /blog/post

302:一時的リダイレクト

302 Foundは一時的なリダイレクトです。Googleはリンク評価を引き継がず、インデックスも更新しません。転送元URLがcanonicalのまま残ります。ページが一時的に使えないだけで、元のアドレスに戻る場合にだけ使います。

302を使う場面

ケース例
A/Bテスト元のページの検索順位を保ったまま、新しいバージョンをテストする
ジオリダイレクト元に戻せる形で、国や言語ごとのページへ転送する
期間限定のキャンペーンキャンペーンページ → セールのメインページ(開催中のみ)
メンテナンスサーバーのメンテナンス中に転送する
一時的か恒久的か迷ったら、301を使います。301のつもりで302にしてしまうミスはとてもよくあります。Googleが最終的に302を恒久的なものとして扱うこともありますが、挙動は予測できず、時間もかかります。

307、308などのステータスコード

コード名称HTTPメソッドSEO上の意味
301Moved Permanently変わる場合あり(GET→GET)恒久的。PageRankを引き継ぐ
302Found変わる場合あり(POST→GET)一時的。PageRankを引き継がない
307Temporary Redirect維持される(POST→POST)一時的。メソッドを厳密に維持
308Permanent Redirect維持される(POST→POST)恒久的。メソッドを厳密に維持
303See Other常にGETPOSTの後にGETへ転送
410Gone—ページを恒久的に削除済み。代わりのページなし

SEOの作業では、ほとんどの場合301と302で足ります。307と308は、HTTPメソッドを維持する必要があるAPIやWebアプリケーションで使います。410はページを恒久的に削除したことをGoogleに伝えるコードで、404よりも早くインデックスから消えます。

SEOへの影響

301リダイレクトは、Googleの説明ではリンク評価を最大99%引き継ぎます。実際には、移行後に検索順位が一時的に下がり、数週間で戻ることがあります。これは通常の動きで、恒久的な損失ではありません。

301と302リダイレクトの使い分けを図で比較します。
項目301302
PageRankの引き継ぎ最大99%(Google公表)なし
インデックス上の正規URL新しいURL転送元URL
インデックスの更新速度数週間更新されない
検索順位への影響一時的に下がり、その後回復順位は転送元URLに残る
ブラウザーキャッシュの期間長い(変更するまで)キャッシュされない、または短い

リダイレクトチェーン

リダイレクトチェーンとは、URL-AからURL-Cへ直接転送せず、URL-A → URL-B → URL-Cと経由する状態です。ホップが増えるたびに引き継がれるPageRankが減り、読み込み時間が延び、Googlebotのクロールも複雑になります。

チェーンの推奨最大長は3ホップです。5ホップ以上になると、Googleが最終URLに着く前に追跡をやめることがあります。ツール(Screaming Frog、Redirect Checker)でチェーンを定期的に監査し、1ホップにまとめます。

bash
# Check redirect chain via curl
curl -L -s -o /dev/null -w "%{url_effective}\n%{http_code}\n%{redirect_url}\n" \
  https://old-domain.com/page

# Check all redirects in the chain
curl -L -v https://old-domain.com/page 2>&1 | grep -E "^< HTTP|^> GET|Location:"

サーバーでの設定

Nginx

nginx
# 301: permanent redirect for a single page
server {
  location = /old-page {
    return 301 /new-page;
  }
}

# 301: full domain redirect
server {
  server_name old-domain.com;
  return 301 https://new-domain.com$request_uri;
}

# 301: HTTP → HTTPS
server {
  listen 80;
  server_name example.com www.example.com;
  return 301 https://example.com$request_uri;
}

# 302: temporary redirect
server {
  location = /promo {
    return 302 /sale;
  }
}

Next.js(next.config.ts)

typescript
// next.config.ts
const nextConfig = {
  async redirects() {
    return [
      // 301: permanent redirect
      {
        source: '/old-blog/:slug',
        destination: '/blog/:slug',
        permanent: true, // = 301
      },
      // 302: temporary redirect
      {
        source: '/promo',
        destination: '/sale',
        permanent: false, // = 302
      },
    ];
  },
};

export default nextConfig;

よくあるケース

ケース種類備考
HTTPSへの移行301すべてのURLを http://... → https://... に転送
wwwの統一301www.site.com → site.com(またはその逆)
末尾スラッシュ301/page → /page/(またはその逆)。サイト全体で統一する
ドメインの移行301old.com → new.com。URL構造は維持する
ページの削除301または410内容が最も近いページへ転送。代わりがなければ410
季節キャンペーン302開催中のみキャンペーンページへ転送
A/Bテスト302パターンAの検索順位を保ったままパターンBへ転送

FAQ

301リダイレクトでPageRankは失われますか?
Googleの説明では、損失はごくわずかです(最大99%が引き継がれます)。実際には、再インデックスの遅れが原因で、移行後に検索順位が一時的に下がることがあります。移行が正しく行われていれば、通常は2〜8週間で順位が回復するか、上がります。
canonicalと301リダイレクトはどちらが良いですか?
確実なのは301です。301はGoogleが従うべき指示で、canonicalはGoogleが無視することもあるヒントです。別URLとして不要になったページには301を使います。canonicalは、2つのURLを技術的にどちらも残す必要がある場合に使います。
Googleが301リダイレクトを処理するまでにどのくらいかかりますか?
数日から数週間かかります。クロールの頻度によって変わります。早めるには、新しいURLをサイトマップに追加し、内部リンクを更新し、Google Search Consoleで新しいURLのインデックス登録をリクエストします。古いURLは徐々にインデックスから消えます。
設定後にリダイレクトをテストする必要はありますか?
必ず確認します。ツールは、curl(コマンドライン)、Redirect Checker(オンライン)、Screaming Frog(一括チェック)です。確認する点は、レスポンスコードが302ではなく301であること、リダイレクトチェーンがないこと、最終URLがcanonicalでさらにリダイレクトされないことです。
ページ削除後のリンク切れはどう対処しますか?
選択肢は3つです。1)内容が最も近いページへ301で転送します。代わりのページがあるなら最適です。2)410 Goneを返します。ページを恒久的に削除し、代わりもない場合に使い、Googleは早くインデックスから外します。3)404のままにします。問題ありませんが、410よりインデックスからの削除が遅くなります。

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it