テクニカルSEO

リダイレクトとは?301・302の違いと設定方法・SEO影響【2026年最新】

リダイレクトとは?301・302の違いと設定方法・SEO影響【2026年最新】

「サイトリニューアルでURLが変わるけれど、リダイレクトは何を設定すればいいのか」「301と302の違いがよくわからない」——新卒SEOコンサルタントがクライアント対応で最も戸惑う場面の一つが、リダイレクトに関する質問です。リダイレクトとは、あるURLにアクセスしたユーザーや検索エンジンのクローラーを、別のURLへ自動的に転送する仕組みのことです。HTTPステータスコードによって制御され、設定を誤ると検索順位が大きく下落するリスクがあります。

実務では、数十URLの個別移行から数千URLの大規模リニューアルまで、さまざまな規模のリダイレクト設計が発生します。さらにWordPress・Cloudflare・Vercelなどプラットフォームごとに設定方法が異なり、React・Next.jsといったSPA(Single Page Application)を採用したサイトでは従来のサーバーサイド転送だけでは対応しきれない場面もあります。本記事では、リダイレクトの種類と違い、サーバー・CMS別の設定方法、SEO評価の引き継ぎ、大規模リニューアルのマッピング設計、そして当サイト自身の移行実体験までを体系的に解説します。

リダイレクトを含むSEO施策全体の進め方はSEO対策の基本で整理しています。

リダイレクトとは? — URLを自動転送する仕組み

リダイレクトとは、ユーザーや検索エンジンのクローラーが特定のURLにアクセスした際に、自動的に別のURLへ転送する仕組みです。Googleのクローラーもリダイレクトを認識し、転送先のURLをインデックスします。

Webサイトの運用では、URLの変更は日常的に発生します。ページの統合、ドメインの変更、SSL化、サイトリニューアルなど、URLが変わる理由は多岐にわたります。こうした場面でリダイレクトを正しく設定しなければ、ユーザーは404エラーに遭遇し、検索エンジンに蓄積されたSEO評価も失われてしまいます。リダイレクトは「URLの変更を安全に行うためのセーフティネット」であり、SEO施策の根幹を支える技術的な仕組みです。

リダイレクトの基本的な仕組み

リダイレクトは、HTTPステータスコードを使って、ブラウザや検索エンジンに「このURLは別のURLへ移動した」と通知します。処理は次のステップで進みます。

  1. ユーザーが旧URL(example.com/old-page/)にアクセスする
  2. サーバーがHTTPステータスコード(301や302)とともに新URLを返す
  3. ブラウザが自動的に新URL(example.com/new-page/)へ移動する
  4. ユーザーには新URLのページが表示される

この一連の処理は通常1秒未満で完了し、ユーザーはほとんど意識することなく新しいページを閲覧できます。クローラーも同様のプロセスを辿りますが、HTTPレスポンスヘッダーのLocationフィールドを直接読み取るため、ブラウザより高速に転送先を認識します。実際のレスポンスは次のような構造になっています。

HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page/
Content-Type: text/html; charset=UTF-8

ステータスライン(1行目)が転送の種類を、Locationヘッダーが転送先を示します。301と302ではこのステータスラインとブラウザのキャッシュ挙動が異なり、それがSEO評価の引き継ぎに直結します。

リダイレクトを設定する主な目的

目的 具体例 リダイレクトなし時のリスク
URLの変更に対応 サイトリニューアルでURL構造が変わった場合 旧URLが404エラーとなり検索流入が消失
ドメインの統一 wwwあり/なし、http/httpsの統一 重複コンテンツとして評価が分散
ページの統合 類似コンテンツを1つのURLにまとめる場合 被リンク評価が複数URLに分散
一時的なメンテナンス メンテナンス中に仮ページへ転送する場合 ユーザーがエラーページに遭遇
404エラーの回避 削除したページへのアクセスを関連ページへ誘導 ユーザー体験の悪化と離脱率上昇
正規化(canonical対応) 重複URLを1つのURLに統一する場合 クロールバジェットの浪費

被リンク評価の分散がなぜ問題になるかは、被リンクのSEO効果と評価の仕組みの解説とあわせて理解すると理解が深まります。

リダイレクトの種類 — 301・302・307・308・メタリフレッシュの違い

リダイレクトにはいくつかの種類があり、目的に応じた使い分けが必要です。検索エンジンはステータスコードを「シグナル」として読み取り、転送元と転送先の関係を判断します。たとえば301は「恒久的な移転」のシグナルで、Googleは旧URLの評価を新URLに引き渡します。一方の302は「一時的な転送」のシグナルで、旧URLの評価はそのまま旧URLに保持されます。

主要なリダイレクトの比較表

種類 コード 転送の性質 SEO評価の引き継ぎ HTTPメソッド 主な用途
301リダイレクト 301 恒久的(Permanent) 引き継ぐ GETに変換 URL変更、ドメイン移行、ページ統合
302リダイレクト 302 一時的(Found) 原則引き継がない GETに変換 メンテナンス中の一時転送、A/Bテスト
307リダイレクト 307 一時的(Temporary) 原則引き継がない 維持される HTTPメソッドを維持する一時転送
308リダイレクト 308 恒久的(Permanent) 引き継ぐ 維持される HTTPメソッドを維持する恒久転送
メタリフレッシュ 非推奨 不確実 HTMLのmetaタグによる転送
Javascriptリダイレクト 非推奨 不確実 Javascriptによるクライアント側転送

301リダイレクトと302リダイレクトの違い

最も重要な違いは「恒久的か一時的か」です。この違いはSEO評価の引き継ぎに直結するため、正確に理解しておく必要があります。

301リダイレクト(恒久的転送)は「このURLは永久に新しいURLへ移動した」という意味です。Googleは旧URLの評価を新URLへ引き継ぎ、ブラウザはリダイレクト先をキャッシュします。URL変更・ドメイン移行・ページ統合など、元に戻す予定がない場面で使います。

302リダイレクト(一時的転送)は「このURLは一時的に別のURLへ転送している」という意味です。Googleは旧URLの評価を保持し、新URLには引き継ぎません。ブラウザはリダイレクト先をキャッシュしません。メンテナンス・A/Bテスト・季節キャンペーンなど、元に戻す予定がある場面で使います。

なお、Googleは長期間302が設定されたままだと、それを301として解釈することがあります。ただし、恒久移転なら最初から301を返すのが正しい設計です。

307と308 — HTTPメソッドを維持するリダイレクト

307と308はHTTP/1.1で導入された比較的新しいステータスコードで、301/302との最大の違いは「HTTPメソッドを維持する」ことです。ユーザーがフォーム送信(POST)した際に301や302でリダイレクトされると、ブラウザはPOSTをGETに変換してしまいます。307/308はこの変換を行わず、元のHTTPメソッドを保ったまま転送するため、API連携やフォーム処理を伴うリダイレクトに適しています。

シナリオ 推奨コード 理由
ページURLの恒久的変更 301 一般的なSEOリダイレクト
メンテナンス中の一時転送 302 元URLに戻す予定がある
APIエンドポイントの恒久移転 308 POSTメソッドを維持する必要がある
フォーム送信先の一時変更 307 POSTメソッドを維持しつつ一時転送

メタリフレッシュとJavascript転送は非推奨

サーバー設定を触れない場合の代替として、HTMLのmeta refreshやJavascriptによる転送が使われることがありますが、いずれもSEO目的では非推奨です。ステータスコードを返さないため、Googleへの評価の引き継ぎが不確実になります。

<!-- 非推奨: HTMLのmeta refreshによる転送(SEO評価が不確実) -->
<meta http-equiv="refresh" content="0; url=https://example.com/new-page/">

<!-- 非推奨: Javascriptによるクライアントサイド転送 -->
<script>
  window.location.href = "https://example.com/new-page/";
</script>

これらはやむを得ない場合の最終手段にとどめ、可能な限りサーバーサイドの301/302を選びましょう。

リダイレクトの種類を選ぶ判断フロー

判断ポイント 回答 推奨リダイレクト
元のURLに戻す予定はあるか いいえ 301リダイレクト
元のURLに戻す予定はあるか はい 302リダイレクト
HTTPメソッド(POST等)を維持する必要があるか はい(恒久的) 308リダイレクト
HTTPメソッド(POST等)を維持する必要があるか はい(一時的) 307リダイレクト
サーバー設定にアクセスできない メタリフレッシュ(非推奨・最終手段)

Googleの公式見解はリダイレクトと Google 検索(検索セントラル)で確認できます。

リダイレクトが必要になる6つのケース

実務でリダイレクトが必要になる代表的なケースを整理します。SEOコンサルタントとしてクライアント対応をすると、以下のいずれかに必ず遭遇します。それぞれ「なぜ必要か」「何を設定すべきか」を把握しておくことが重要です。

ケース1: サイトリニューアル

URL構造が変わる場合、旧URLから新URLへの301リダイレクトが必須です。怠ると旧URLは404となり、蓄積されたSEO評価も失われます。リニューアルは最もリダイレクト設計が複雑になるケースで、数十〜数千のURLに対してマッピングを作成し、パターンマッチによる一括リダイレクトと個別リダイレクトを組み合わせる設計が求められます。企画段階からSEOを組み込む進め方はWeb制作にSEOを組み込む方法で全体像を確認できます。

ケース2: ドメイン変更

old-domain.com から new-domain.com へ移行する場合、全ページに301を設定します。旧ドメインのDNSとサーバーは一定期間維持し、リダイレクトが動作する状態を保つ必要があります。旧ドメインの契約が切れるとリダイレクトが止まり、被リンク評価の引き継ぎも停止します。最低1年、理想的には2年以上は旧ドメインを維持しましょう。

ケース3: HTTP→HTTPSの移行

SSL化に伴い http:// から https:// への301を設定します。2026年現在もHTTPSはGoogleのランキングシグナルの一つです。SSL化自体は多くのサーバーやCDNで簡単に行えますが、リダイレクトを忘れるとHTTPとHTTPSの両方でインデックスされ、重複コンテンツの問題が発生します。

ケース4: URLの正規化

同じコンテンツに複数のURLでアクセスできる状態(重複URL)を解消します。

正規化の対象 リダイレクト元 リダイレクト先 影響
www有無の統一 www.example.com example.com(またはその逆) 被リンク評価の分散を防止
トレイリングスラッシュ example.com/page example.com/page/(またはその逆) 重複コンテンツの解消
index.htmlの除去 example.com/index.html example.com/ URLの簡潔化
パラメータ付きURL example.com/page?ref=123 example.com/page クロールバジェットの最適化
大文字/小文字の統一 example.com/Page example.com/page 重複URLの解消

URLを残したまま正規URLを指定したい場合は、リダイレクトではなくcanonicalタグを使います。両者の使い分けはcanonicalタグとURL正規化の完全ガイドで詳しく解説しています。

ケース5: ページの統合・削除

類似コンテンツを1つに統合する場合や、不要なページを削除する場合に、関連性の高いページへ301を設定します。コンテンツ統合は「キーワードカニバリゼーション」を解消する有効な手段です。複数ページが同じキーワードで競合しているとき、最も評価の高いページへ301で統合すれば、検索評価を集約できます。

ケース6: 多言語・多リージョンサイトの統合

グローバルサイトの再編で国別URLを統合する場合にもリダイレクトが必要です。たとえば example.co.jp と example.com/ja/ を統合する場合は、hreflangタグとの整合性を考慮しながら301を設計します。

リダイレクトの設定方法 — .htaccess・Nginx・サーバー別の実装

.htaccessでの設定(Apache)

最も一般的な設定方法です。Apacheの.htaccessファイルに記述します。.htaccessはドキュメントルートに配置し、サーバーのAllowOverrideディレクティブが有効になっている必要があります。記述ミスは500 Internal Server Errorの原因になるため、変更前に必ずバックアップを取り、テスト環境で確認してから本番へ反映しましょう。

個別ページの301リダイレクト

# 単一ページのリダイレクト
Redirect 301 /old-page/ https://example.com/new-page/

# 複数ページを個別に指定
Redirect 301 /old-post-1/ https://example.com/new-post-1/
Redirect 301 /old-post-2/ https://example.com/new-post-2/

正規表現を使ったリダイレクト

RewriteEngine On

# ディレクトリ全体を新ディレクトリへ転送
RewriteRule ^old-directory/(.*)$ https://example.com/new-directory/$1 [R=301,L]

# .html付きURLを拡張子なしのクリーンURLへ
RewriteRule ^(.*)\.html$ https://example.com/$1/ [R=301,L]

# パラメータ付きURLをクリーンURLへ(?id=123 -> /products/123/)
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^product\.php$ https://example.com/products/%1/? [R=301,L]

ドメイン全体・HTTPS・www統一

RewriteEngine On

# 旧ドメインから新ドメインへ全ページ転送
RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC]
RewriteRule ^(.*)$ https://new-domain.com/$1 [R=301,L]

# HTTP -> HTTPS へ強制
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# www あり -> www なしへ統一
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

.htaccessの主要ディレクティブ一覧

ディレクティブ 用途 記述例
Redirect 単純なURLリダイレクト Redirect 301 /old/ /new/
RedirectMatch 正規表現によるリダイレクト RedirectMatch 301 ^/old-articles/(.*)$ /articles/$1
RewriteRule 高度なURLリライト+リダイレクト RewriteRule ^old/(.*)$ /new/$1 [R=301,L]
RewriteCond リライトの条件指定 RewriteCond %{HTTPS} off

Nginxでの設定

Nginxではサーバー設定ファイルにlocationブロックやserverブロックで記述します。反映には設定のリロードが必要です。

# 個別ページのリダイレクト
location = /old-page/ {
    return 301 https://example.com/new-page/;
}

# ディレクトリ全体のリダイレクト
location /old-directory/ {
    Rewrite ^/old-directory/(.*)$ https://example.com/new-directory/$1 permanent;
}

# 旧ドメインから新ドメインへ
server {
    server_name old-domain.com;
    return 301 https://new-domain.com$request_uri;
}

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

主要サーバー・CMS別の設定方法まとめ

環境 設定方法 ファイル/設定場所 難易度
Apache .htaccessファイル ドキュメントルートの.htaccess
Nginx 設定ファイル /etc/nginx/conf.d/ 中〜高
WordPress プラグイン(Redirection等) WordPress管理画面
Cloudflare Redirect Rules / Bulk Redirects Cloudflareダッシュボード
Vercel vercel.json プロジェクトルート 低〜中
Netlify _Redirects または netlify.toml プロジェクトルート
AWS CloudFront CloudFront Functions AWSコンソール
Firebase Hosting firebase.json プロジェクトルート 低〜中

WordPress・Cloudflare・Vercelでの具体的設定手順

サーバーの設定ファイルを直接編集できない場合でも、CMS・CDN・ホスティングの機能を使えばリダイレクトを設定できます。ここではWordPress・Cloudflare・Vercelの3つを、コード例付きで解説します。

WordPressでのリダイレクト設定

WordPressでリダイレクトを設定する方法は主に3つあります。

方法 メリット デメリット 推奨ケース
Redirectionプラグイン GUI操作で簡単、ログ機能あり プラグイン依存 数十〜数百件のリダイレクト
Yoast SEOプレミアム SEOプラグインと統合管理可能 有料プラン必要 Yoastを既に導入済みのサイト
functions.phpに記述 プラグイン不要 コード知識が必要 少数の固定リダイレクト

Redirectionプラグインでの設定手順

  1. 管理画面 →「プラグイン」→「新規追加」で「Redirection」を検索してインストール・有効化
  2. 「ツール」→「Redirection」を開く
  3. 「新しいリダイレクトを追加」をクリック
  4. ソースURL(旧URL)とターゲットURL(新URL)を入力
  5. グループを「Redirections」に設定
  6. 「リダイレクトを追加」をクリック

functions.phpでのリダイレクト(コード例)

// functions.php に追記
function custom_Redirects() {
    $Redirects = array(
        '/old-page/'    => '/new-page/',
        '/old-post/'    => '/new-post/',
        '/service/old/' => '/service/new/',
    );

    $request_uri = $_SERVER['REQUEST_URI'];

    foreach ( $Redirects as $from => $to ) {
        if ( strpos( $request_uri, $from ) === 0 ) {
            wp_Redirect( home_url( $to ), 301 );
            exit;
        }
    }
}
add_action( 'template_Redirect', 'custom_Redirects' );

数十件を超える場合や、リダイレクトのヒット状況をログで確認したい場合は、functions.phpよりRedirectionプラグインのCSV一括インポートが管理しやすくなります。CSVは source(旧URL)・target(新URL)・code(301等)・match(url)のカラムで作成します。

Cloudflareでのリダイレクト設定

Cloudflareはエッジサーバーでリダイレクトを処理するため、オリジンサーバーに負荷をかけずに高速な転送が可能です。Redirect Rulesでの手順は次のとおりです。

  1. ダッシュボードにログインし、対象ドメインを選択
  2. 「Rules」→「Redirect Rules」を開く
  3. 「Create rule」をクリックし、ルール名を入力
  4. 「When incoming requests match」で条件を設定(例: URI Path が /old-directory/ で starts with)
  5. 「Then」で転送先URLとステータスコード(301)を設定
  6. 「Deploy」をクリック

数百〜数千件を設定する場合はBulk Redirectsを使います。方式ごとの上限は下表のとおりです。

機能 Page Rules Redirect Rules Bulk Redirects
リダイレクト数の上限 3件(無料プラン) 10件(無料プラン) 最大20,000件
正規表現対応 非対応 対応 非対応
エッジ処理 はい はい はい
推奨ケース 少数の単純ルール 中規模のルール 大量の個別リダイレクト

Vercelでのリダイレクト設定

Vercelではvercel.jsonにリダイレクトルールを記述します。

{
  "Redirects": [
    {
      "source": "/old-page",
      "destination": "/new-page",
      "permanent": true
    },
    {
      "source": "/news/:slug",
      "destination": "/articles/:slug",
      "permanent": true
    },
    {
      "source": "/docs/:path*",
      "destination": "https://docs.example.com/:path*",
      "permanent": false
    }
  ]
}
パラメータ 説明
source string リダイレクト元のURLパターン /old-page
destination string リダイレクト先のURL /new-page
permanent boolean true = 308、false = 307 true
has array マッチ条件(ヘッダー、クエリ等) [{“type”:”query”,”key”:”ref”}]

Vercelの permanent: true は301ではなく308を返す点に注意してください。SEO上は301と同等に扱われますが、クライアント側のHTTPメソッド維持に影響する場合があります。Next.jsを使っている場合は next.config.js でも設定できます。

// next.config.js
module.exports = {
  async Redirects() {
    return [
      {
        source: '/old-articles/:slug',
        destination: '/articles/:slug',
        permanent: true,
      },
      {
        source: '/old-docs/:path*',
        destination: '/docs/:path*',
        permanent: true,
      },
    ];
  },
};

より体系的にテクニカルSEOを学びたい場合は、テクニカルSEO完全ガイドもあわせて参考にしてください。

大規模リニューアル時のリダイレクトマッピング設計手法

数百〜数千URLの移行を伴う大規模リニューアルでは、個別に設定するのではなく体系的な「マッピング設計」が不可欠です。マッピング設計とは、旧URLと新URLの対応関係を整理し、パターンベースのルールと個別ルールを組み合わせてリダイレクト計画を策定することです。これなしに場当たり的に設定すると、漏れや重複が発生し、リダイレクトチェーンやループの原因になります。

マッピング設計の5ステップ

ステップ 作業内容 担当 成果物
1. 旧URLの棚卸し Screaming Frogで旧サイト全URLをクロール SEOコンサルタント 旧URLリスト(CSV)
2. 優先度付け 被リンク・検索流入・PVに基づく優先度設定 SEOコンサルタント 優先度付きURLリスト
3. 新URL構造の確定 新サイトのURL設計をディレクトリ単位で確定 ディレクター+エンジニア 新URL設計書
4. マッピングシート作成 旧URL→新URLの対応表を作成 SEOコンサルタント マッピングシート
5. パターンルール設計 正規表現ルールと個別ルールの振り分け エンジニア リダイレクト設定ファイル

マッピングシートのテンプレート

実際の案件で使うマッピングシートのカラム例です。被リンク数や検索流入は優先度判断の材料として記録します。

No. 旧URL 新URL 種類 優先度 備考
1 /seo-guide-old/ /seo-guide/ 301(個別) 主力記事・被リンク多数
2 /services/consulting/ /service/seo-consulting/ 301(個別) CVページ
3 /old-category/news/* /category/news/* 301(パターン) カテゴリ一括
4 /tag/* /category/* 301(パターン) タグ一括
5 /old-landing-page/ / 301(個別) 終了LP→トップ

パターンルールと個別ルールの使い分け

ルール種別 適用ケース メリット デメリット
パターンルール(正規表現) ディレクトリ構造が規則的に変更された場合 一括で大量のURLを処理可能 例外的なURLに対応しにくい
個別ルール 被リンクが多い重要ページ、URL構造が不規則な場合 正確な1対1マッピングが可能 数が多いと管理が煩雑
組み合わせ 大規模リニューアル 効率性と正確性の両立 設計・テストに時間がかかる

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

検証項目 確認方法 OKの基準
全URLが正しく転送されるか Screaming Frogで全旧URLをクロール 全旧URLが新URLに301で転送
リダイレクトチェーンがないか httpstatus.ioで抽出確認 1ホップ以内
リダイレクトループがないか Screaming Frogのレポートで確認 ループなし
ステータスコードが正しいか curlコマンドでサンプル確認 301 Moved Permanently
クエリパラメータの扱い パラメータ付きURLで動作確認 意図通りの挙動

リダイレクトとJavascript SPA・AI検索時代の注意点

React・Vue.js・Next.js・Nuxt.jsなどを使ったSPA(Single Page Application)が増えています。SPAはクライアントサイドでルーティングを行うため、従来のサーバーサイドリダイレクトとは異なるアプローチが必要です。AI OverviewsやAI Modeといった生成AI検索が普及した2026年でも、AIが参照するのはGoogleがクロール・レンダリングしたインデックスであり、クローラーが転送を正しく認識できるかどうかは依然として重要です。

SPAにおけるリダイレクトの課題

SPAではページ遷移がブラウザ上のJavascriptで制御され、サーバーには初回アクセス時の1リクエストしか到達しません。このためクライアントサイドで行う「リダイレクト」は、クローラーが正しく認識できない可能性があります。

項目 従来のWebサイト SPA
ページ遷移の仕組み サーバーが新しいHTMLを返す JavascriptがDOMを書き換える
リダイレクトの処理 サーバーが301/302を返す クライアント側のルーターが処理
Googleの認識 即座に認識 レンダリング後に認識(遅延の可能性)
クローラビリティ 高い 設定次第で低下する可能性

SPAでのリダイレクト実装方法

推奨されるのは、Next.jsやNuxt.jsなどのSSR/SSG対応フレームワークのリダイレクト機能を使い、サーバーサイドで処理する方法です。これが最もSEOに安全です。

// Nuxt.js: nuxt.config.ts でのリダイレクト設定
export default defineNuxtConfig({
  routeRules: {
    '/old-page': { Redirect: '/new-page' },
    '/old-articles/**': { Redirect: '/articles/**' },
  },
});

次善策はCloudflareやVercelのエッジでの処理です。React Routerなどによるクライアントサイドリダイレクトは、GoogleがJavascriptをレンダリングするまで認識されないため、SEO目的では推奨しません。

SPA別リダイレクト対応まとめ

フレームワーク 推奨リダイレクト方法 処理レイヤー SEO安全性
Next.js(Vercel) next.config.js + vercel.json サーバーサイド
Nuxt.js(Netlify) nuxt.config.ts + _Redirects サーバーサイド
Gatsby(Netlify) gatsby-node.js + _Redirects ビルド時+サーバーサイド
React SPA(S3+CloudFront) CloudFront Functions エッジ 中〜高
Vue SPA(Apache/Nginx) .htaccess / nginx.conf サーバーサイド
Angular SPA(Firebase) firebase.json サーバーサイド

SPAのリダイレクトで最も重要な原則は「クライアントサイドに頼らず、サーバーサイドまたはエッジで処理する」ことです。

リダイレクトとSEOの関係 — 評価の引き継ぎと注意点

301リダイレクトによるSEO評価の引き継ぎ

Googleは、301リダイレクトによってPageRankが失われることはないと公式に説明しています。正しく301を設定すれば、旧URLが持っていたSEO評価は新URLへ引き継がれます。ただし「損失がない」のは理論上の話で、実際のリニューアルでは一時的な順位変動が起こるのが一般的です。Googleが旧URLから新URLへの評価移行を完了するまでには数週間〜数ヶ月を要するため、短期的な変動は計画に織り込んでおくべきです。

リダイレクト種類別のSEO影響比較

種類 PageRankの引き継ぎ インデックスされるURL クロールバジェットへの影響 推奨度
301リダイレクト 引き継ぐ 新URL 初回クロール時にコスト発生 最も推奨
302リダイレクト 状況による 旧URLが維持される傾向 毎回クロール時にコスト発生 一時的な場合のみ
308リダイレクト 引き継ぐ 新URL 301と同等 API移転時に推奨
リダイレクトなし(404) 引き継がない インデックスから削除 非推奨
リダイレクトチェーン 引き継ぐが速度面で不利 最終URLがインデックス 多段階でコスト増大 解消推奨
メタリフレッシュ 不確実 不定 正しく処理されない場合あり 非推奨

SEO観点での注意点

リダイレクトチェーンを避ける

リダイレクトチェーンとは、A→B→Cのように複数回リダイレクトが発生する状態です。Googleはチェーンを追跡できますが、クロール効率が下がります。過去に複数回リニューアルしたサイトでは、旧リダイレクトの上に新しいリダイレクトが重なり、3段階以上のチェーンが生じているケースがあります。Screaming Frogなどで定期的に確認し、見つけたらA→Cの直接リダイレクトに修正しましょう。

関連性のないページへのリダイレクトはNG

旧ページと無関連なページへリダイレクトすると、Googleは「ソフト404」として扱う可能性があります。商品ページが廃止になった場合は、トップページではなく同カテゴリの一覧ページや後継商品ページへ転送するのが適切です。関連ページが存在しないなら、リダイレクトではなく410(Gone)を返すのも選択肢です。

リダイレクトの維持期間

Googleは「少なくとも1年間はリダイレクトを維持すること」を推奨しています。評価の移行に時間がかかるためです。被リンクが多い重要ページは、恒久的に維持することを推奨します。

クロールバジェットへの影響

大量のリダイレクトはクロールバジェットを消費します。特に大規模サイトでは、Googlebotが転送の追跡に時間を費やし、新しいコンテンツのクロールが遅れる可能性があります。

サイト規模 URL数 影響 対策
小規模 〜100ページ ほぼ影響なし 通常のリダイレクト設定で問題なし
中規模 100〜1,000ページ 軽微な影響 チェーンの解消、不要なリダイレクトの削除
大規模 1,000ページ以上 無視できない影響 RewriteMapの活用、段階的な移行

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

エラー一覧と対処法

エラー 症状 原因 対処法 深刻度
リダイレクトループ 「リダイレクトの回数が多すぎます」と表示 A→B→Aの循環リダイレクト 設定を見直しループを解消
リダイレクトチェーン 表示が遅い、クローラビリティ低下 A→B→C→Dの多段階リダイレクト 直接リダイレクト(A→D)に修正
302の誤使用 SEO評価が新URLに移行しない 恒久移行に302を使用 301に変更
ソフト404 Search Consoleで「ソフト404」と報告 関連性のないページへ転送 関連性の高いページへ変更
リダイレクトの欠落 旧URLが404を返す リダイレクトが未設定 マッピングを作成し設定
HTTPS/HTTPの混在 一部ページがHTTPのままアクセス可能 HTTPSリダイレクトの設定漏れ サイト全体のHTTPSリダイレクトを確認
トレイリングスラッシュの不統一 同一ページが2URLでアクセス可能 スラッシュ有無の統一が未実施 一方に統一するリダイレクトを設定

リダイレクトの確認ツール

ツール 確認できること 費用 推奨場面
Google Search Console リダイレクトエラー、インデックス状況 無料 事後モニタリング
httpstatus.io HTTPステータスコード、リダイレクトチェーン 無料 個別URL確認
Screaming Frog サイト全体のリダイレクト状況 500URLまで無料 サイト全体の検証
curl コマンド ターミナルからのステータスコード確認 無料 技術的な検証

Search Consoleの使い方に不慣れな場合は、サーチコンソールの使い方完全ガイドでインデックス状況の確認手順を押さえておくと、リダイレクト後のモニタリングがスムーズになります。

curlコマンドによる確認方法

# ステータスコードとリダイレクト先を確認
curl -I https://example.com/old-page/

# リダイレクトチェーンを最後まで追跡
curl -IL https://example.com/old-page/

# ステータスコードのみを表示
curl -o /dev/null -s -w "%{http_code}" https://example.com/old-page/

【実践】当サイトのNext.js→WordPress移行と301リダイレクト設計

ここまでの内容を、当サイト scale-basics.com 自身の移行事例で具体化します。当サイトは2026年7月にNext.js(SSG)で構築していた教材サイトから、WordPressベースのメディアへ全面移行しました。この移行では、記事URLの接頭辞 /blog/ を廃止し、ルート直下へ集約する再設計を行っています。つまり /blog/Redirect/ のような旧URLを /Redirect/ へ変更する、URL構造の一括変更です。

URL構造を変えるため、旧URLに蓄積したSEO評価を失わないよう、旧 /blog/ 配下のすべてのURLから新しいルート直下のURLへ301リダイレクトを設定しました。Apache環境の.htaccessで、次のようなパターンルール1行を軸に転送しています。

# 【当サイトの実例】/blog/ 配下のURLを新しいルート直下へ301転送
RewriteEngine On
RewriteRule ^blog/(.+)$ https://scale-basics.com/$1 [R=301,L]

この設計で特に意識したのは、本記事でも繰り返し触れた「チェーンを作らない」ことです。旧URLから新URLへ1ホップで到達するようルールを組み、A→B→Cのような多段階転送を避けました。結果として、移行後もインデックス面での問題は発生していません。Search Consoleのカバレッジには移行直後に旧URLの再クロールが記録されましたが、これは想定内の挙動であり、順次新URLへ置き換わっていきました。

移行後の表示速度についても、当サイトの実測(2026年7月計測)ではTTFBは平均0.19秒で、余分なリダイレクトを挟まないクリーンな転送設計がこの数値の維持に寄与しています。移行時の技術的な工夫と実測データの詳細は、SEOに強いコーディングの実測データ解説にまとめています。

実践事例から得られた教訓

ステップ 作業内容 使用ツール
1. 旧URLの洗い出し サイト全体のURLリストを作成 Screaming Frog
2. マッピング /blog/ 配下→ルート直下の対応を確認 スプレッドシート
3. パターンルール設計 1行のRewriteRuleで一括転送を設計 テキストエディタ
4. 設定の検証 旧URLのステータスコードを確認 curl / httpstatus.io
5. 事後モニタリング カバレッジとインデックス状況を監視 Google Search Console

URL接頭辞の一括変更のように規則性の高い移行は、個別ルールを大量に書くよりパターンルール1本のほうが漏れも保守負担も小さくなります。Googleのような大規模プラットフォームでも同様の考え方でURL移設が行われており、実例として2026年3月にクローラーのIPレンジ一覧ファイルの公開URLが /search/apis/ipranges/ から /crawling/ipranges/ へ移され、旧パスは6か月以内に廃止・リダイレクトされる予定です(GoogleクローラーのIPレンジ一覧が新URLへ移動した件の解説)。旧パスを一定期間併存させてから廃止・リダイレクトするという段取りは、本記事で述べた移行設計のセオリーそのものです。

リダイレクトに関するよくある質問

Q. 301リダイレクトはいつまで維持する必要がありますか?

Googleは「少なくとも1年間」を推奨しています。可能であれば恒久的に維持するのが望ましいです。外部サイトからの被リンクが旧URLに向いている場合、リダイレクトを解除するとそのリンク評価が失われるためです。サーバーコストの都合で永久維持が難しい場合は、被リンク数が多い上位ページのリダイレクトのみ維持し、被リンクのない低優先度ページは1年後に解除する段階的なアプローチが有効です。

Q. 301リダイレクトとcanonicalタグはどう使い分けますか?

301リダイレクトは「URLが変更された場合」、canonicalタグは「複数のURLで同じコンテンツにアクセスできる状態を解消する場合」に使います。URLそのものが変わるなら301、URLは残すが正規URLを指定するならcanonicalです。

状況 推奨手法 理由
URLが完全に変わった 301リダイレクト ユーザーも検索エンジンも新URLに転送する必要がある
同じコンテンツに複数URLでアクセス可能 canonicalタグ URLは残しつつ正規URLを検索エンジンに伝える
パラメータ違いの重複URL canonicalタグ パラメータ付きURLを残しつつ正規URLを指定
HTTP→HTTPS移行 301リダイレクト HTTP版へのアクセスをHTTPS版に転送

正規化の考え方をより深く知りたい場合は、canonicalタグとURL正規化の完全ガイドを参照してください。

Q. 大量のリダイレクトはサイト速度に影響しますか?

.htaccessに大量のリダイレクトルールを記述すると、サーバー処理に負荷がかかる場合があります。1,000件以上の個別ルールを書くとApacheのリクエスト処理時間が増える傾向があるため、その規模ではRewriteMapやデータベースベースのリダイレクトを検討しましょう。RewriteMapを使えば、ルールを外部ファイルに切り出してメモリ上のハッシュマップとして処理でき、パフォーマンスの劣化を防げます。

Q. JavascriptリダイレクトはSEOに影響がありますか?

Javascriptリダイレクトは、Googleがレンダリングして初めて認識されるため、サーバーサイドの301と比べて認識が遅れる可能性があります。SEO目的のリダイレクトには、必ずサーバーサイドの301/302を使用してください。

Q. リダイレクト設定後、Search Consoleでエラーが増えたのはなぜですか?

リダイレクト設定直後はGoogleが旧URLを再クロールするため、一時的にレポートでエラーが検出されることがあります。通常は2〜4週間で収束します。実際、GoogleのJohn Mueller氏らは、Search Consoleに表示される未インデックスや404、移行時のリダイレクトページの多くは対処すべき問題ではなく想定内の状態であることが多いと説明しています(GoogleがSearch Consoleの「エラー」表示を正常なケースが多いと説明した件)。すべての報告を修正対象とせず、いつもと異なるパターンがないかを見極めるのが実務的です。修正後にどうしても再クロールを早めたい場合の「Validate Fix」の使いどころは、GSCの「Validate Fix」を使うべき場面の解説が参考になります。

Q. リダイレクトマッピングはどのように管理すべきですか?

スプレッドシートで管理するのが一般的です。「旧URL」「新URL」「リダイレクト種類」「優先度」「被リンク数」「設定日」「確認日」のカラムを設け、チームで共有します。大規模サイトではCMS内のリダイレクト管理機能や専用ツールの導入も検討しましょう。

まとめ — リダイレクトは「正しい種類」と「正確な設定」が命

リダイレクトは、URLの変更時にSEO評価を守り、ユーザー体験を維持するための不可欠な仕組みです。本記事の要点を整理します。

  • リダイレクトはURLを自動転送する仕組みで、HTTPステータスコードで制御される
  • 恒久的な転送は301、一時的な転送は302。HTTPメソッドを維持するなら308/307を使う
  • 301リダイレクトではSEO評価(PageRank)が新URLに引き継がれる
  • .htaccess・Nginx・WordPress・Cloudflare・Vercelなど環境別に適切な設定方法がある
  • 大規模リニューアルではマッピングシートによる体系的な設計が必須
  • SPAサイトではサーバーサイドまたはエッジレベルでリダイレクトを処理する
  • リダイレクトチェーン・ループは必ず回避し、1ホップに保つ
  • 移行時は事前のマッピング作成と事後のモニタリングをセットで行い、最低1年は維持する

当サイト自身の /blog/→ルート直下への移行でも、301リダイレクトを1ホップに保つ設計でインデックス問題なく引き継げました。「正しい種類を選び、正確に、チェーンを作らずに設定する」——この基本を徹底することが、リダイレクト成功の要です。テクニカルSEO全体の実践はテクニカルSEO完全ガイドもあわせて確認してください。

本記事は、Google 検索セントラルの公開ドキュメント(リダイレクトと Google 検索)およびHTTP仕様の確立された定義に基づき、scale-basics.com編集部が作成しました。文中の当サイトの移行事例・実測値(TTFB平均0.19秒)は2026年7月に当サイトが自ら実施・計測したものです。設定例のドメイン名・パスはすべて説明用のサンプルです。

scale-basics編集部
監修

scale-basics編集部

SEO・AI検索最適化(AIO/LLMO/GEO)・Web制作の最前線で活動する専門チーム。テクニカルSEOからコンテンツ戦略、データ分析まで幅広い実務経験をもとに、最新のナレッジと実践的なノウハウを発信しています。

編集部について詳しく見る →