Library·SOP·SEO
Move one WordPress URL permanently to its relevant replacement. Decide whether to redirect, configure the exact old path and its query/slash behavior, confirm a real 301 reaches the final page, update known internal links, and disable a bad rule if needed.
Last reviewed: · Editorial review
Clarity, structure and references reviewed in this version. This is not a test in a live account.
Move one WordPress URL permanently to its relevant replacement. Decide whether to redirect, configure the exact old path and its query/slash behavior, confirm a real 301 reaches the final page, update known internal links, and disable a bad rule if needed.
This SOP covers:
This does not cover:
A 301 tells visitors and search engines that the old address has moved permanently. Use one only when the old page is not meant to return and its replacement serves the same need.
Make a private copy of the Redirect map and verification sheet before configuring the rule. Use Redirect map to plan this one URL; Import CSV is for batches, not this manual one-off.
Read Start here, then open Redirect map.
Enter the old URL's path, starting with a slash, in Source path. In Why this destination?, note what the old page was for. Set Ready to import? to Needs review until the destination and matching choices are confirmed.
Compare the old page's purpose with what visitors should find now. Use these checks to choose the right fix.
If the page should still be available, restore it or fix its current URL instead of redirecting visitors away from it.
If the page is gone and no page on the site covers the same need, keep the old URL at 404 (not found) or 410 (gone) and fix any owned broken links. Do not send it to the homepage just to remove the error.
If the move is temporary and the old address should return, arrange a temporary redirect with the site owner rather than using a 301.
Use a 301 only when the old URL has permanently changed and a relevant replacement is ready.
Open the proposed replacement using its public address. Confirm that it is on the same site, loads successfully, and contains the information a reader of the old page needs. Use the final canonical address, not an intermediate URL that redirects somewhere else.
Open the target URL by itself. If it redirects to another address, use that final address as the destination.
Compare the old page's main subject or task with the live replacement. For example, a new size guide can replace an old size guide; a store homepage cannot replace it just because the homepage loads.
Complete the Redirect map row before opening the plugin. These fields guide the rule settings and later test.
Enter the final public URL in Destination URL. In Why this destination?, explain the content match, such as “new size guide replaces old size guide.”
In Query/slash plan, write whether both slash forms should match and what the destination should do with query parameters. Tracking-only values may be passed or dropped; a parameter that changes content or an action needs an exact plan from the site owner or developer.
In Internal links to update, list known WordPress page or post locations that link to the old URL. If you cannot locate the pages where the link appears, name the owner who must supply a link inventory before calling the work complete.
Choose Yes when the source, direct destination, and variant plan are confirmed; choose Needs review if information is missing; choose Do not redirect if the right result is to restore the page or leave it at 404/410. Yes describes a checked mapping; you will still create this one rule manually.
Use a single old path and the final destination. A named rule is easier to find and disable than an unnamed one.
In WordPress, open Tools → Redirection → Redirects and search for the old path. Check the existing rule before adding anything.
If one active rule already sends the old path to the correct final page with the planned query and slash behavior, do not add another rule. Continue to the test steps and record this rule's title.
If an existing rule points somewhere else or has different matching behavior, edit it only if you own that change. Otherwise ask the site owner to resolve the conflict before continuing.
If there is no correct existing rule, use Add new redirection to enter the planned exact source and destination. Open the gear icon for the matching and action options.
On Tools → Redirection → Redirects, choose Add new redirection.
Put the old path beginning with a slash, such as /old-guide, in Source URL. Put the final public destination in Target URL.
Open the gear icon. Choose Redirect to URL, set the HTTP code to 301, leave Regex off, and give the rule a title that identifies the move.
Use Redirect map to set matching options for this rule only. Redirection allows slash and query behavior to be changed per rule; leave site-wide defaults alone.
If both /old-guide and /old-guide/ are the same route and either should move, enable Ignore trailing slashes. If only one form is intended, keep the rule exact and test the form people actually use.
For tracking-only parameters such as ?utm_source=newsletter, choose Ignore and pass if the destination should keep them, or Ignore if they should be dropped.
If a parameter changes page content or an action, choose Exact for known values and include that exact query string in Source URL, after the path. For example, an exact match could use /old-guide?version=1. Ask the site owner or developer when values vary or the replacement's behavior is unclear.
Save the rule. Then search by the title or source path and confirm the saved target, 301 action, regex setting, slash behavior, and query behavior.
A browser landing on a page does not prove that the server returned a 301. Inspect the page request and final destination.
Use the browser Network panel to see the actual page request and every redirect that follows it.
In Chrome, open More (⋮) > More tools > Developer tools, then select Network. Turn on Preserve log and Disable cache, then clear earlier requests. Use Chrome’s Network panel guide if you need help finding these controls.
Navigate directly to the old path over HTTPS. Select the main page request, not an image or script.
Read the first request's Status and Headers → General response status, then follow the document requests to the final URL.
Check that the first response is 301 and the final request returns 200 at the planned URL. Confirm there is one hop and no loop, then read the page to confirm it is the right replacement.
Repeat the request for each slash or query variant written in Redirect map.
For tracking-only values, confirm that the final URL keeps or drops them as planned.
For functional values, confirm the replacement page still performs the expected action or shows the expected content.
A wrong page, lost required parameter, extra redirect hop, or loop means the rule is not ready; disable it and correct the destination or per-rule settings before retesting.
Record the actual test and how to undo the rule in the Verification & rollback tab of your private copy.
Add one row for the source request and each distinct variant you tested. Fill Source path, First response, Redirect chain, Final URL / status, Correct page?, Query/slash result, and Checked on.
Under Rule/group and backup, enter the rule title. Under Result / how to undo, write the result and say to disable that named rule if a check fails.
Use the locations listed in Internal links to update to replace old destinations in the WordPress content you own.
Open each named post or page in WordPress, select the link to the old URL, replace its destination with the final public URL, and save.
Open each published source page as a reader and click the updated link. If the link is in a menu, theme, custom code, or a page you cannot edit, ask its owner to update it and keep the item open until checked.
Record each updated page title or location and its result in Internal links to update or Result / how to undo.
If a response or page check fails, disable the rule by its title, correct the destination or per-rule options, and repeat the failed tests.
Return to Tools → Redirection → Redirects, find the rule by its title, and choose Disable. This keeps the rule's details without activating it.
Correct the destination or per-rule option, save, and repeat the failed tests with cache disabled. If the browser still shows the old destination, test in a fresh private window because browsers can cache redirects.
Write the corrected result or remaining problem in Result / how to undo.
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.