Post-Migration SEO Audit
Run a post-migration SEO audit to validate redirects, crawlability, indexability, canonicals, sitemaps, internal links, hreflang, tracking, server performance, and search visibility after launch.
Read the guide →A redirect audit inventories redirected and error URLs, follows every redirect to its final destination, identifies chains, loops, broken targets, and incorrect status choices, and then aligns internal links and canonical signals around the final URL.
Redirects are useful when URLs change. They become technical debt when old rules accumulate, internal links keep pointing to redirected URLs, or the final destination is broken or irrelevant.
A redirect audit should follow the full path from the original URL to the final response and ask whether every hop is necessary, whether the status code matches the intent, and whether the destination remains relevant.
A redirect audit reviews permanent and temporary redirects, chains, loops, broken destinations, error URLs, internal links to redirects, and the relationship between redirects and canonical URLs. The goal is not to remove every redirect, but to make necessary redirects direct, relevant, stable, and consistent with the preferred URL structure. For a focused next step, review post-migration SEO audit. For a focused next step, review fix Technical SEO issues.
Crawl the site and export all 3xx, 4xx, and 5xx URLs. Add known legacy URLs, analytics landing pages, sitemap history, and migration redirect maps where available. Group URLs by source: internal links, previous CMS paths, product removals, campaigns, domain changes, or protocol and hostname normalization.
A chain occurs when URL A redirects to B, which redirects to C. Follow each chain to the final destination and count the hops. Where practical, update redirect rules and internal links so A goes directly to C, reducing unnecessary requests and simplifying maintenance.
A redirect loop sends a user or crawler through URLs that eventually point back to an earlier URL. Loops can make content inaccessible. Check protocol, hostname, trailing-slash, locale, and CMS rules together because loops often appear when separate systems apply conflicting normalization rules.
A redirect is broken when its destination returns 404, 410, 5xx, or another invalid result. Also watch for redirects that land on irrelevant pages simply to avoid an error status. A good destination should satisfy the same or a closely related user intent.
Use permanent redirects such as 301 or 308 when the move is intended to be permanent. Temporary redirects such as 302 or 307 can be appropriate for genuinely temporary changes. Do not change status codes mechanically; confirm the business and technical intent behind the move.
Internal links should normally point directly to final URLs. Updating them reduces unnecessary hops and makes the site's preferred URL structure clearer. An internal linking audit can reveal how widely old URLs remain embedded in navigation and content.
Not every deleted URL needs a redirect. If there is no relevant replacement, a 404 or 410 can be appropriate. Redirect only when a meaningful substitute exists. Avoid sending unrelated retired URLs to the homepage simply to reduce reported errors.
The final redirect destination should align with canonical tags, sitemaps, and internal links. A redirect to one URL while the destination canonicals to another creates avoidable ambiguity. Review canonical tag best practices when these signals disagree.
Fix loops, broken targets, and high-value legacy redirects first. Then clean internal redirected links and long chains on important templates. Low-value historic redirects can be handled later if they still work correctly.
A redirect audit is successful when old URLs reach the correct final destinations directly, loops and broken targets are removed, internal links use final URLs, and canonical signals support the same destination.
A short chain may still work, but direct redirects are cleaner and more efficient. Long or widespread chains deserve remediation.
No. Redirect only when there is a relevant replacement. Otherwise a real 404 or 410 may be the correct response.
A redirect sends users and crawlers to another URL. A canonical keeps the page accessible but signals a preferred representative URL.