Skip to content

Knowledgebase

Migrating a set of old URLs with Cloudflare Bulk Redirects

performance

Bulk Redirects suits a reviewed list of old-to-new URL mappings. It requires both a redirect list and an enabled rule, and its matching capabilities differ from Single Redirects.

Prepare for the change

Prepare unique source and target URLs, verify each target and check your account’s limits. Bulk Redirect source URLs cannot include a query string, which matters for old application URLs identified by query parameters.

01 Migrate a set of old URLs with Cloudflare Bulk Redirects

  1. Open the account’s Bulk redirects page or the zone’s Rules Settings Bulk Redirects tab. Remember that these lists and rules belong to the account.
  2. Create a Bulk Redirect List and import a CSV in Cloudflare’s required format, or add reviewed mappings manually.
  3. Inspect imported rows and deliberate options such as subpath or query preservation. Do not enable broad matching merely to reduce the number of rows.
  4. Create a Bulk Redirect Rule that references the list and deploy it. Confirm source hostnames are proxied.
  5. Test representative mappings, missing paths, query strings and nonmatching URLs. Check for redirect chains and loops before relying on the list for a migration.

02 Example: prepare a small Bulk Redirect CSV

For a reviewed migration from two old paths to two new pages, this headerless CSV uses temporary redirects for a controlled initial test. Replace both hostnames and verify the destinations. The last four values explicitly disable query preservation, subdomains, subpath matching and suffix preservation.

Code or configuration example
https://old.example.com/about,https://www.example.com/company,302,FALSE,FALSE,FALSE,FALSE
https://old.example.com/services,https://www.example.com/solutions,302,FALSE,FALSE,FALSE,FALSE

Import the rows, inspect them, then enable the Bulk Redirect Rule that references the list for the proxied source hostname. Test both exact old paths and an unrelated path. Deliberately review what should happen to query parameters before using the mappings.

Expected result: only the intended source paths reach their reviewed destinations. Select a permanent status only when the migration policy is settled. A source such as knowledgebase.php?id=123 needs a query-aware method because a Bulk Redirect source cannot contain that query string.

Confirm the expected result

Each matching old URL should reach its intended live replacement. Retain the mapping file as migration documentation and update internal site links separately.

If the change does not work

For URLs such as knowledgebase.php?id=123, a path-only bulk mapping cannot distinguish different article IDs. Use a suitable Single Redirect expression, application routing or reviewed server rule for query-dependent mappings.

Does uploading the CSV activate the redirects?

No. The list stores mappings. A deployed Bulk Redirect Rule must reference it before matching proxied requests are redirected.

Was this answer helpful?

Need a little more help?

Our support team can help you find the next step.

Contact support