直接回答
301リダイレクトが約1万件を超えると、.htaccess のルールや CMS プラグインは遅くなり、監査もしにくくなります。ルールの一覧ではなく、完全一致の検索を使いましょう。サーバーを運用しているなら Nginx の map か Apache の RewriteMap、サイトがすでに Cloudflare 上にあるなら Cloudflare Bulk Redirects、複数の人が多くのドメインにまたがってリダイレクトを管理するならリダイレクトサービスが適しています。どれを選ぶ場合でも、すべてのリダイレクトを1回の遷移で完結させ、定期的に一覧を見直してください。
1万件のリダイレクトは、多くのチームが想定するより早くやってきます。オンラインストアの再プラットフォーム化が1回、ブランド変更が2回、数年分のキャンペーンURL。それ自体は単純です。規模がそこまで大きくなると変わるのは、速度、誰が変更できるか、そしてどれが重要かをまだ誰かが判別できるかどうかです。
1万件のリダイレクトを超えると何が壊れるか#
- 速度。 ルールの一覧は上から下へ順にチェックされます。.htaccess にある1万行の RewriteRule は、リダイレクトしないページへのリクエストも含め、すべてのリクエストで読み込まれ、検査されます。
- チェーン。 移行のたびに前回のリダイレクトの上に新しいリダイレクトが積み重なるため、古いURLは2回、3回と経由します。Google のクローラーは既定で最大10回のリダイレクト遷移を追跡します[1]が、各遷移は訪問者にとって完全な往復になります。
- 所有権。 リダイレクトがサーバーのファイル内にある場合、変更できるのはエンジニアだけで、マーケティングやSEOはデプロイを待つことになります。
- 監査。 なぜそのリダイレクトが存在するのか、まだトラフィックがあるのか、最後に誰が変更したのか、誰も覚えていません。
比較する選択肢#
| Option | Lookup | リダイレクトを変更できる人 | 適している用途 | 注意点 |
|---|---|---|---|---|
| .htaccess RewriteRule | 1件ずつ、すべてのリクエストに適用 | ファイルをデプロイできる人なら誰でも | 数百件のルール | リストが増えるほど、すべてのページが遅くなる |
| Apache RewriteMap | マップファイルでの完全一致検索 | エンジニア(サーバー設定) | 自分の Apache サーバー上での大規模な完全一致リスト | サーバー設定へのアクセスが必要で、.htaccess ではありません |
| Nginx map | ハッシュ検索 | エンジニア(サーバー設定) | 自分の Nginx 上での大規模な完全一致リスト | 変更のたびに再読み込みが必要。履歴なし |
| CMS プラグイン(例: WordPress Redirection) | CMS 内のデータベース検索 | CMS編集者 | 1つのCMSサイトのリダイレクト | すべてのリダイレクトはCMSから開始され、CMSを離れると無効になります |
| Cloudflare 一括リダイレクト | リスト内でのエッジ検索 | Cloudflareアカウントのユーザー | すでにCloudflare上にあるサイト | プランごとのアカウント全体の上限(以下を参照) |
| リダイレクトサービス(例: RedirHub) | エッジ検索 | 役割に応じて招待した人なら誰でも | 多数のドメイン、チーム、移行 | 月額費用; プランの容量 |
Cloudflare の Bulk Redirects では、アカウントごとに、Free でリスト全体で 10,000 件、Pro で 25,000 件、Business で 50,000 件、Enterprise ではデフォルトで 1,000,000 件の URL リダイレクトを利用できます[2]。Single Redirect ルールは別枠で、ゾーンごとにこれよりはるかに少ない上限が適用されます。
Nginx の map の例#
nginx# /etc/nginx/redirects.map (リダイレクトごとに1行)
# /old-path /new-path;
map $uri $redirect_to {
default "";
include /etc/nginx/redirects.map;
}
server {
server_name www.example.com;
if ($redirect_to) {
return 301 $redirect_to;
}
}Apache RewriteMap の例#
apache# 仮想ホストの設定内で行い、.htaccess では行わない
RewriteEngine On
RewriteMap redirects "dbm:/etc/apache2/redirects.map"
RewriteCond ${redirects:%{REQUEST_URI}} !=""
RewriteRule ^ ${redirects:%{REQUEST_URI}} [R=301,L]
# "old new" のペアを含むテキストファイルから DBM ファイルを作成します:
# httxt2dbm -i redirects.txt -o redirects.mapどちらを選ぶか#
| あなたの状況 | 最適な選択肢 |
|---|---|
| 1つのサイト、自前のサーバー、エンジニアがリダイレクトを管理 | Nginx map または Apache RewriteMap |
| 1つの WordPress サイト、数千件未満のリダイレクト | リダイレクトプラグインを使い、増えてきたらサーバーまたはエッジへ移行 |
| サイトはすでに Cloudflare 上にあり、一覧がプランの上限内 | Cloudflare 一括リダイレクト |
| ホスティングが残っていない旧ドメイン | リダイレクトサービス(旧ドメインには応答先が必要) |
| 多くのドメイン、複数のチーム、毎週変わるリダイレクト | 役割、変更履歴、分析機能を備えたリダイレクトサービス |
| リダイレクトはコード変更と一緒に出荷する必要がある | Git に保持され、CI から適用されるあらゆるオプション(マップファイル、Terraform) |
大規模なリダイレクト一覧を健全に保つこと#
- 各移行後にチェーンを平坦化する。 すべての古い URL は、前のリダイレクトではなく最終 URL に直接向ける。リダイレクトのチェーンとループを修正する を参照。
- 完全一致を優先する。 同じように移動したフォルダ全体にはパターンルールを使い、それ以外はすべて完全一致のエントリを使う。完全一致の検索は高速で、読みやすい。
- すべてのリダイレクトにプロジェクトのタグを付ける。 「2024年のプラットフォーム移行」や「春のキャンペーン」で、次の人にその存在理由が伝わる。
- 誰もアクセスしていないものを見直す。 移動したページのリダイレクトは少なくとも1年間保持する。その後、外部リンクもアクセスもないリダイレクトを削除前に確認する。まだリンクがあるリダイレクトを削除すると、404になってしまう。
- 何を誰が変更したかを記録する。 マップファイルの Git 履歴、またはリダイレクトツールの変更履歴。壊れたリダイレクトが謎ではなく、2分で直せる問題になる。
- 各インポート後にサンプルをテストします。一覧から古いURLを50件確認し、各URLが最終的に200を返すページへ301で1回だけリダイレクトすることを確認してください。
RedirHub が大規模なリダイレクト一覧を処理する方法#
RedirHub は 130 のグローバル PoP からリダイレクトに応答するため、検索はエッジで行われ、あなたのサーバーは関与しません。大規模な一覧では次のとおりです。
- CSVからインポートできます。書き込まれる前に、追加・更新・スキップされる内容を確認できます。編集済みのエクスポートを再インポートすると、新しいリンクのみがカウントされます。
- 容量: Core には 2,500 件の管理リンク、Pro には 10,000 件、Enterprise は数百万規模の運用向けに契約で設定されます。ドメイン全体のリダイレクトでは管理リンクは使用されません。
- Pro では、CSV インポートや API からの変更も含め、各リンクの変更者、変更日時、旧値と新値がすべて表示されます。
- プレビュー付きで、ダッシュボードまたはAPIから、多数の宛先を一括変更できます。または、Terraform プロバイダーを使って一覧を Git で管理できます。
一覧のリダイレクトを確認する 任意の古いURLを追跡し、各ホップ、そのステータスコード、修正すべき問題を確認できます。
リダイレクトチェッカーを開く出典
よくある質問
SEOに固定の上限はありません。問題は、それらがどのように保存され、維持されるかにあります。.htaccessに何千ものルールがあると各リクエストが遅くなり、移行を重ねるとチェーンが増えます。完全一致の検索とリダイレクト1回につき1ホップにしておけば、大規模な一覧でも問題なく運用できます。
それ自体は問題ありません。問題になるのは、チェーン、ループ、無関係なページへのリダイレクト、そしてまだリンクが残っているのに削除されたリダイレクトです。各リダイレクトは1ホップにし、最も近い対応ページへ向けてください。
Cloudflareのドキュメントによると、アカウントごとに、Freeではリスト全体で10,000件のURLリダイレクト、Proでは25,000件、Businessでは50,000件、Enterpriseではデフォルトで1,000,000件です。
動作はしますが、Apacheが各リクエストでルールを読み込んで評価するため、遅くなります。大規模な完全一致の一覧には、サーバー設定でRewriteMapを使うか、Nginxのmapを使うか、エッジでリダイレクトを処理してください。
移行後は少なくとも1年、そしてまだ訪問があるか、他サイトからリンクされている間はそれ以上保持してください。
Coreには2,500件の管理リンク、Proには10,000件が含まれます。Enterpriseは契約によって決まります。ドメイン全体のリダイレクトは、管理リンクではなく、プランに含まれるドメインを使用します。

Leo Astarothman is the Brand & Content Lead at RedirHub, where he shapes the company's visual identity, educational content, product experiences, and marketing strategies. He also specializes in system design. Simplifying complex redirect infrastructure into practical resources, product experiences, and campaigns that help businesses understand and adopt modern redirect management.
関連する記事
すべての記事を見る



