Library·SOP·SEO

Import and test multiple 301 redirects in WordPress with Redirection

Build a complete, explicit map from old WordPress paths to relevant final pages, prepare Redirection's four-column CSV, preview and import it into a dedicated group, then test every imported path and update known owned links. Keep unmapped or unsafe rows out of the import and retain a clear rollback.

Last reviewed: · Editorial review

Clarity, structure and references reviewed in this version. This is not a test in a live account.

SOP 056 · 120 min
SOPFree

Import and test multiple 301 redirects in WordPress with Redirection

SOP 056 · 120 min

Build a complete, explicit map from old WordPress paths to relevant final pages, prepare Redirection's four-column CSV, preview and import it into a dedicated group, then test every imported path and update known owned links. Keep unmapped or unsafe rows out of the import and retain a clear rollback.

Scope

This SOP covers:

This does not cover:

Requirements

01. Decide what should happen to every old URL

A 301 is for a permanent move to a relevant replacement. It is not a way to hide a page that should still work or to send every removed page to the homepage.

  1. Make a private copy of the Redirect map and verification sheet and read Start here. Use the Redirect map tab for the full list of URLs in this change.

    1. Put each exact old path in its own Source path row. Keep one map row for each different source path.

    2. Use Destination URL for the proposed public target, Why this destination? for the content match or exception, Query/slash plan for the request variants, and Internal links to update for known source pages that contain the old URL.

    3. Choose only the sheet's exact Ready to import? options: Yes, Needs review, or Do not redirect.

  2. Review every source in the supplied change list and choose its correct disposition before preparing a CSV.

    1. If a page should still be available, restore it or fix its URL instead of redirecting visitors away from it. Set Ready to import? to Do not redirect and explain why.

    2. If no page on the site covers the old page's need, keep the old URL at 404 (not found) or 410 (gone). Do not send it to the homepage. Set Ready to import? to Do not redirect and record that no relevant replacement exists.

    3. If the move is temporary and the old address should return, keep it out of this permanent-redirect import. Arrange a temporary redirect with the site owner and set Ready to import? to Do not redirect.

    4. Use a 301 only when the old URL has permanently changed and a relevant replacement is ready. A new size guide can replace an old size guide; an unrelated homepage cannot.

  3. Open each proposed target directly and check that it is the final useful page.

    1. Confirm that the destination is on the same website as the old path. This procedure covers same-site paths only.

    2. Open the full destination URL. If it redirects again, use the final address instead. Record the canonical public URL, including its preferred trailing slash.

    3. Compare the old page's main subject or task with the new page. Explain the match in Why this destination? If the page purpose or replacement is unclear, choose Needs review and ask the content owner.

    4. If several old pages share one destination, confirm that the new page covers the useful information from each one. Record a separate reason for every source.

  4. Complete each permanent move's source path and query/slash plan before it can be marked Yes.

    1. Enter the old path beginning with a slash, such as /old-sizing-guide. Do not include the site's protocol or domain in Source path.

    2. In Query/slash plan, say whether both /old-sizing-guide and /old-sizing-guide/ should redirect or only the site's known old form.

    3. Write whether tracking-only parameters should be kept or dropped. If a parameter changes the page or its action, record the exact values and expected behavior; ask the owner or developer when that behavior is not known.

  5. Review the whole mapping and current Redirection rules before marking rows ready.

    1. If the same source appears more than once with the same target, keep one row and remove the duplicate.

    2. If the same source appears with different targets, set it to Needs review and ask the owner to choose one before continuing.

    3. Remove a source-to-itself rule. If one destination is also another source in this map or an existing redirect, change the earlier target to the direct final page so users do not travel through an avoidable chain.

    4. Search the current Redirection list for every source. If an active rule already has the right target and matching behavior, leave it out of Import CSV and test it in the verification tab. If it conflicts, resolve it with the site owner before importing a new rule.

  6. List the known WordPress pages and posts that link to each old path in Internal links to update.

    1. Use the source pages from the move request, content inventory, or another reliable link list. Record each page or post title and location.

    2. If you cannot tell which pages contain the old link, ask the site owner for a link inventory. Leave the work open until those locations are known; do not write “none found” unless a named inventory was checked.

  7. Set each map row's readiness after the source, destination, and matching plan are complete.

    1. Choose Yes only for a new permanent same-site mapping with a direct relevant destination, no conflict or chain, and a complete test and internal-link plan.

    2. Choose Needs review when a decision or owner input is missing. Choose Do not redirect for a restore, temporary move, no-replacement page, or an already-correct existing rule; explain the reason in Why this destination?.

02. Prepare Redirection's four-column CSV

The CSV carries the source, target, regex flag, and HTTP code. It does not carry query-parameter or trailing-slash settings.

  1. On Import CSV, enter only map rows marked Yes. Each row has exactly four values in Redirection's source, target, regex, and HTTP code order.

    1. In column 1 enter the site-relative source path. If the query plan requires an exact query match, include its known query string after the path. In column 2 enter the full same-site destination URL.

    2. In column 3 enter 0 for no regular expression; in column 4 enter 301.

    3. Start with the first row of the headerless Import CSV tab and enter only rows marked Yes. Do not add a header or blank/formula rows. Leave the tab empty if no row is ready. A sample data row is /old-sizing-guide,https://example.com/size-guide/,0,301.

    4. The CSV cannot store query or trailing-slash choices. Keep each row's plan in Redirect map so you can apply the options to the imported rule later.

  2. Download the Import CSV tab as a comma-separated file for the current sheet, then check its contents before uploading.

    1. Open the Import CSV tab and choose File → Download → Comma-separated values (.csv).

    2. Open the downloaded file in a text editor. Confirm it has the same number of rows as the Yes mappings and four values per row in the required order.

03. Back up the current rules and preview the batch

Keep a copy of the existing redirect data and isolate new rows in a group. Preview the file before changing the site.

  1. Export the current Redirection rules as JSON before adding this batch.

    1. In WordPress, open Tools → Redirection → Import/Export.

    2. On Export, choose the redirects data and export it as JSON. Save the file somewhere you can find if you need the original rules.

    3. Record the backup file name and today's date in Rule/group and backup.

  2. Create a new, uniquely named group for this mapping project and choose the WordPress group type.

    1. Open Groups in Redirection and give the group a unique project name and date.

    2. Choose WordPress as the group type and save the group.

    3. Check the group before importing and confirm that it contains no rules.

  3. Use the Redirection import preview to confirm what the CSV will create before applying it.

    1. Open Import, choose the CSV file, set the destination group to your new project group, set duplicate handling to Ignore duplicates, and leave Delete original data off.

    2. Select Preview. Compare the shown sources, targets, action, and row count with the Yes rows in Redirect map. Cancel if anything is missing, added, changed, duplicated, or unclear. If Preview is unavailable, ask the site administrator to check the plugin version before importing.

    3. Apply the import only when the preview shows the expected mappings and accepted row count for this batch. Afterward, check that the new group contains that same count.

    4. If the server cannot accept the file size, split it into smaller batches and repeat the preview and count check for every batch. Use the same project group and continue until every Yes row has been handled.

04. Apply per-rule options and test every mapping

The CSV cannot store query and slash choices, and a sample of successful redirects does not prove that every imported mapping is correct.

  1. Review every imported rule against its Query/slash plan. The CSV leaves these options at the site's defaults, so change only the rules whose planned behavior differs.

    1. Open each rule in the project group and compare its saved trailing-slash and query options with the map.

    2. For a difference, edit that rule only and set Ignore trailing slashes and Query Parameters as planned. Follow the related one-off redirect procedure for the controls. Do not change site-wide defaults.

    3. For tracking-only values, Ignore and pass keeps them on the destination, while Ignore drops them. Use Exact only when the source should match known parameter values exactly; in that case, the import's source URL field must include those values after the path.

    4. Save the rule and reopen it to confirm the per-rule options match the plan.

  2. Test every imported source and every correct existing rule retained in the change list, not just one example.

    1. Open the browser Network panel before testing. Turn on Preserve log and Disable cache, then clear earlier requests.

    2. Visit each ready source over HTTPS and repeat for every slash or query variant in its plan. Select each main page request, not an image or script request.

    3. For each request, read the first response status and follow the document requests to the final URL. Count every hop and watch for a repeated URL that signals a loop.

    4. Confirm the final request is the mapped URL with status 200 and the page serves the expected content. Confirm query parameters are kept or dropped as planned and functional values still work. Test the destination directly too.

    5. Use Chrome's Network panel guide if you need help finding the request status or cache controls.

  3. Record one result row for each source request and each distinct variant tested in Verification & rollback.

    1. Fill Source path, First response, Redirect chain, Final URL / status, Correct page?, Query/slash result, and Checked on with what you observed.

    2. Under Rule/group and backup, enter the project group and JSON backup file name. Under Result / how to undo, record the pass or exact correction and say to disable the project group if a batch rollback is needed.

  1. Use each map row's Internal links to update list to replace old destinations in the WordPress content you own.

    1. Open each named post or page in WordPress, select the link to the old path, replace its destination with the mapped final URL, and save.

    2. Open the public source page and click the updated link. Confirm that it opens the final page directly.

    3. For links in menus, theme files, custom code, or pages you cannot edit, ask the owner to update them and keep the map item open until it is checked.

    4. Record each updated location and its result in Internal links to update or Result / how to undo.

  2. If a mapping sends visitors to the wrong page, returns the wrong status, loses a required parameter, or creates a chain or loop, disable only the rules in this project's group.

    1. Filter Redirection to the unique project group and confirm it shows only this project's rule count.

    2. Select the project group's rules and choose the bulk action Disable. Do not delete them.

    3. With browser cache disabled, revisit the old paths and confirm the redirects are no longer active and the source returns to its expected pre-import state.

    4. Record the disabled count, observed source result, and next correction or restore action under Result / how to undo.

Reference availability

On 21 October 2026, the linked Redirection documentation pages returned HTTP 503 (service unavailable). The official reference links are retained; check their availability before relying on them for a different plugin version.