Redirects and Redirect Issues
Audit 3xx page responses, redirect chains, loops, temporary moves, and incorrect destinations with Screpy.
The Redirects (3xx) filter lists requested URLs that send the crawler elsewhere. Redirects preserve access when content moves, but internal links should normally point directly to the final preferred URL.
Understand the common redirect types
- 301 and 308: strong signals that the resource moved permanently.
- 302 and 307: indicate a temporary move; the original URL is expected to return.
- Redirect chain: URL A redirects to B, then B redirects to C.
- Redirect loop: the destination eventually sends the request back to an earlier URL.
Google uses permanent redirects as a signal that the target should be canonical. See Google's redirect guidance. The correct status depends on whether the move is permanent, not on which code appears more “SEO friendly.”
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-pageAnalyze a redirected URL
- Confirm the first status and every hop to the final URL.
- Verify the final destination returns the intended successful response.
- Decide whether the destination satisfies the same user and search intent.
- Find internal links, sitemap entries, canonicals, and hreflang annotations using an intermediate URL.
- Group results by source template and redirect rule.
One expected redirect from HTTP to HTTPS is different from a chain created by years of URL changes. A temporary redirect left in place indefinitely can also make the intended canonical signal less clear.
Fix the source, not only the redirect
Keep useful external-facing redirects, but update controllable internal links to the final URL. Collapse chains into one hop, remove loops, and prevent redirect destinations from returning 4xx or 5xx responses. Update sitemap and canonical URLs so they describe the preferred destination directly.
Do not remove a redirect simply to reduce the count. Old URLs with backlinks, bookmarks, campaigns, or legitimate traffic can require long-lived redirects.
Example decision
Product links point to /item/old-name, which redirects to /products/new-name, then to /shop/new-name. Keep the old public aliases if they still receive traffic, change both rules to point directly to /shop/new-name, and update all internal links and sitemap entries to the final URL.
Verify the fix
Run a new crawl and confirm internal links resolve directly, chains are gone, final destinations return 2xx, and canonical URLs match the preferred destination. External requests to legacy URLs may remain normal.
HTTP Status Codes
Investigate redirect destinations that return client or server errors.
Canonical Tags
Align redirects with the site's canonical URL signals.
Redirect Waste
Use repeated crawler requests to prioritize avoidable redirect work.
Separate intentional redirects from redirect debt
Intentional redirects support URL migrations, HTTPS enforcement, and canonical host rules. Redirect debt appears when old URLs remain embedded in navigation, templates, sitemaps, canonicals, or content long after the move.
Map the full path from requested URL to final response. Review chains, loops, cross-domain jumps, protocol changes, query-string loss, and unexpected locale changes. The final page should satisfy the original intent, not merely return 200.
Expected data movement
When internal references are updated to final URLs, Redirects should decrease and Success should increase. A migration can temporarily increase Redirects because old addresses are still being discovered externally. That is acceptable if the redirects are permanent, direct, and semantically accurate.
If redirect counts rise without a planned migration, check route helpers, CMS URL fields, trailing-slash rules, case normalization, and cached navigation. If they fall sharply, verify that old URLs did not begin returning errors.
Redirect decision matrix
| Situation | Preferred action |
|---|---|
| Permanent move with direct equivalent | Permanent server-side redirect |
| Temporary maintenance or experiment | Temporary redirect with a clear end plan |
| Deleted content with no useful equivalent | 404 or 410 plus helpful navigation |
| Internal link points to old address | Update the link to the final URL |
| Chain across several historical URLs | Consolidate to one hop |
Google's redirect guidance explains supported methods. Keep historical redirects when they still serve external users, while cleaning the internal graph.
Related guidance
Return to the Pages overview to compare redirected URLs with the full page inventory. MDN's HTTP status reference documents the semantics of each 3xx response Screpy may encounter.