Redirect changes often look simple right up to the moment they break a key landing page, strip campaign parameters, or send crawlers into a redirect chain. This checklist is designed as a reusable pre-publish QA pass for developers, SEO teams, and IT admins who need to test redirect rules before release. Use it before a migration, domain consolidation, HTTPS rollout, platform move, or campaign launch to catch the issues that are easiest to miss and most expensive to fix later.
Overview
If you only test whether a URL eventually lands on the right page, you are not really testing the redirect. A proper redirect QA checklist verifies status codes, destination accuracy, protocol and host consistency, parameter handling, canonical alignment, caching behaviour, and edge cases such as uppercase paths or trailing slashes.
The goal is not to make redirect work feel heavier than it needs to be. It is to reduce avoidable errors before release: redirect loops, accidental 302s instead of 301s, chains across old rules, and blanket homepage redirects that turn specific requests into poor user journeys.
For most teams, a good pre-publish redirect testing process has four parts:
- Define the intent: Is this a permanent move, a temporary redirect, a campaign route, or a domain forwarding change?
- Test a representative sample: Include high-value pages, edge cases, legacy URLs, and malformed variants people actually request.
- Validate the response technically: Check the status code, the Location target, the number of hops, and whether query strings are preserved or removed as intended.
- Confirm the broader SEO and analytics outcome: Make sure canonical signals, tracking parameters, and reporting still work after the redirect.
As a working rule, test redirects from the outside in. Start with the user-facing URL, then inspect what the server returns, then confirm what the browser, crawler, and analytics stack will actually see. If you are managing large lists, it also helps to keep your testing tied to the redirect map rather than a loose set of one-off spot checks. For more on maintaining redirect lists safely, see Bulk Redirect Uploads: How to Manage Large Redirect Lists Without Errors.
Checklist by scenario
Use the scenario below that matches your release. In practice, many projects combine more than one.
1. Single-page URL change
This is the simplest case, but it still deserves a quick QA pass.
- Confirm the old URL returns the intended status code, usually a 301 redirect for a permanent move.
- Verify the destination URL resolves with a 200 response and is the final intended page, not another redirect.
- Check that the redirect is one hop only. Old URL -> new URL should not become old URL -> intermediate URL -> final URL.
- Test with and without a trailing slash if your site has mixed patterns.
- Test uppercase variants if users or old backlinks may request them. Related: Uppercase to Lowercase URL Redirects.
- Confirm canonicals on the final page point to the final URL, not the retired one.
2. Section move or site restructure
When folders, category paths, or content groups move, pattern-based rules can save time but also create broad mistakes.
- Test representative URLs from every affected content type, not just a few examples.
- Validate that each old path maps to the closest relevant new page, not just the section root.
- Check exclusions before launch so active assets, admin paths, feeds, or APIs are not unintentionally redirected.
- Review whether pagination, faceted parameters, and media URLs need separate handling.
- Confirm pattern rules do not create recursive matching that triggers a redirect loop.
- Compare the rule output against your redirect map. If you are migrating at scale, this deserves a structured map review: Redirect Mapping for Website Migrations.
3. Domain change or domain forwarding
Domain-level redirects introduce host, protocol, DNS, certificate, and platform interactions.
- Test all host variants: http, https, www, non-www, and any legacy subdomains still in use.
- Verify every variant resolves in a single clean path to the preferred hostname.
- Check that the TLS certificate and hosting configuration support the redirect path you expect.
- Confirm the final site does not redirect back to the old domain under any rule combination.
- Make sure the redirect preserves the request path where appropriate, rather than sending everything to the homepage.
- Review whether query strings should be preserved across the domain move.
If the distinction between DNS-level forwarding and a true website redirect is part of the setup, review Domain Forwarding vs Website Redirects. If the project involves an older acquisition or parked domain, this guide is also useful: How to Redirect an Expired Domain Without Harming SEO or User Trust.
4. HTTP to HTTPS or host standardisation
Canonical host changes are common sources of unnecessary chains.
- Test whether HTTP to HTTPS and www to non-www are implemented in one clean step where possible.
- Check mixed combinations such as http://www, http://non-www, and https://www.
- Confirm assets, images, scripts, and forms still load correctly after the redirect.
- Make sure canonical tags, sitemap URLs, and internal links match the preferred version.
- Test slash normalisation and lowercase handling together so they do not create additional hops. Related: Trailing Slash Redirects.
5. Temporary campaign or short-link routing
For campaign URLs, a 302 redirect or another temporary approach may be appropriate, but only if the redirect is genuinely temporary.
- Confirm the intended temporary status code is returned and documented.
- Test whether UTM parameters are preserved, appended correctly, or intentionally overwritten.
- Verify the final landing page can accept the parameters without breaking cache rules or analytics processing.
- Check mobile scanning and social app behaviour if the link is used in QR codes, email, or messaging apps.
- Make sure campaign routes do not point to pages that later redirect again, creating a hidden redirect chain.
For tracking-specific considerations, see UTM Link Tracking Best Practices.
6. CMS or platform migrations
Platform moves often combine URL changes, rule precedence issues, and plugin or app-level redirects.
- Check whether redirects are being handled at the application layer, the server layer, or both.
- Test for duplicate rules created by plugins, theme logic, CDN settings, or platform apps.
- Verify attachment, archive, taxonomy, and product URLs if the platform generates them automatically.
- Confirm admin-generated redirect tools do not conflict with server-side rules.
Platform-specific references: WordPress Redirects and Shopify Redirects Guide.
What to double-check
This is the reusable core of the checklist. If you need one QA list to keep beside every release, use this section.
Status code correctness
- Is the redirect meant to be permanent or temporary?
- Does the server return the expected code consistently for all affected URLs?
- Have you checked both browser behaviour and raw HTTP response data with a redirect checker or command-line request?
This matters because a 301 vs 302 choice affects both caching and search engine interpretation. If the move is not temporary, an accidental 302 can keep old URLs in circulation longer than you want.
Destination accuracy
- Does each source URL lead to the most relevant destination, not a generic fallback?
- Is the final page live, indexable where appropriate, and useful to the visitor?
- Are any redirects ending on soft-error pages, blocked pages, or pages with their own redirect?
Single-hop routing
- How many hops occur from source to final page?
- Can multiple rule layers be consolidated into one?
- Have you tested protocol, host, slash, and case variants together rather than in isolation?
A redirect chain often appears when teams add a new rule without retiring an older one. One clean rule is usually easier to support than three overlapping historical fixes.
Parameter handling
- Are query strings preserved when they should be?
- Are tracking parameters being dropped, duplicated, or rewritten unexpectedly?
- Do filtered or search-result URLs need separate handling from clean content URLs?
Canonical alignment
- Do canonical tags on the final page reference the final destination URL?
- Are internal links updated to point directly to the new URLs instead of relying on redirects?
- Do XML sitemaps reflect the preferred destination URLs?
This is where canonical vs redirect often causes confusion. A canonical hint does not replace a redirect for retired URLs. If a URL has moved, redirect it. If duplicate versions still exist for a reason, canonicalisation may help signal preference.
Rule scope and precedence
- Will a broad pattern unintentionally catch unrelated URLs?
- Are more specific rules evaluated before generic wildcard rules?
- Have you tested exclusions for assets, APIs, staging routes, and admin paths?
Environment and cache behaviour
- Have you tested in staging and in a production-like environment?
- Could browser, CDN, or reverse-proxy caching hide a bad redirect during QA?
- Have you purged or bypassed caches when validating changes?
Logging and rollback readiness
- Can you monitor 404s, redirect errors, and unusual spikes after release?
- Do you have a previous config or backup ready if rules need to be reverted?
- Is the owner of the rule set clear, so post-launch fixes are not delayed?
If the redirect release is part of a wider redesign or migration, pair this checklist with Redirects for Site Redesigns: A Pre-Launch and Post-Launch Checklist.
Common mistakes
The most common redirect failures are not advanced technical problems. They are process gaps.
- Testing only the happy path: Teams check one old URL, see the right page load, and stop there. They miss mixed-case requests, slash variants, legacy parameters, and alternate hosts.
- Using homepage redirects as a catch-all: This may feel safer than serving 404s, but it often produces a poor experience and weak mapping logic.
- Forgetting old normalisation rules: New migration redirects get added on top of old HTTP to HTTPS, www, slash, or lowercase rules, and the result is a hidden chain.
- Relying on CMS plugins without checking server behaviour: Application-level tools may work differently once a CDN, proxy, or hosting rule sits in front of them.
- Not updating internal links: Redirects should support legacy requests, not become part of your normal navigation path.
- Overlooking query strings: Campaign attribution breaks quietly when parameters are dropped during a redirect.
- Not documenting intent: Months later, nobody knows whether a rule was meant to be temporary, whether it can be removed, or what it was protecting.
A simple fix is to treat redirect changes like code changes: define scope, test against expected outcomes, document assumptions, and keep a small regression set of important URLs that gets reused for every release.
When to revisit
This checklist is most useful when it becomes part of a recurring release habit rather than a one-time migration document. Revisit it whenever the inputs change, especially in these situations:
- Before a site launch, redesign, or navigation restructure
- Before seasonal planning cycles or campaign-heavy periods
- When moving domains, consolidating microsites, or changing canonical host settings
- When redirect workflows change across Apache, Nginx, CDN, Cloudflare, or CMS tooling
- When analytics data suggests attribution loss or unusual landing-page behaviour
- When crawl reports or logs show rising 404s, loops, or chain depth
For day-to-day use, turn this article into a release routine:
- Create a small, fixed QA set of critical URLs: homepage variants, top landing pages, key retired URLs, one or two broken legacy examples, and a tracked campaign URL.
- Add scenario-specific test cases for each release.
- Check raw status codes and hop count before publishing.
- Validate the final page, canonical signals, and parameter behaviour.
- Monitor logs and error reports after launch, then prune obsolete rules once the new structure is stable.
If you do that consistently, redirect testing becomes less of a firefight and more of a release safeguard. The checklist does not need to be long. It just needs to be used every time.