03 / Technical SEO
A redirect tells browsers and search engine crawlers that a requested URL should lead to another URL.
Redirects are used when pages move, URL structures change, websites migrate to a new domain or to HTTPS, or an old URL needs to point to a new destination. A well-configured redirect gives users and Googlebot one clear path from the source URL to the intended final URL, preserves the link equity that external backlinks point at the old address, and avoids wasting crawl budget on unnecessary hops.
This lesson covers 301 redirects, 302 redirects, redirect chains, redirect loops, and redirect targets. It also explains how to review redirect implementation during a technical SEO audit and use SiteAuditLint to identify redirect issues across a website.
1. What is a redirect?
A redirect tells a browser or crawler to request a different URL instead of continuing with the original URL.
https://www.example.com/old-page/
↓
https://www.example.com/new-page/
The original URL is the source URL. The URL the redirect points to is the target URL. Server-side redirects return a 3xx HTTP status code together with a Location response header that names the target:
HTTP/1.1 301 Moved Permanently
Location: https://www.example.com/new-page/
The status code communicates the intended nature of the URL change. The two redirect types most commonly encountered during technical SEO audits are 301 Moved Permanently and 302 Found, a temporary redirect. Their close relatives, 308 Permanent Redirect and 307 Temporary Redirect, behave the same way for SEO purposes but also preserve the request method.
How redirects work
Simplified redirect structure. The goal is a path from source to final destination that is as direct and consistent as possible.
Redirects can also be triggered with a meta refresh tag or JavaScript, but these are processed later and less reliably by search engines. Where you control the server, configure redirects at the server or CDN level, for example in .htaccess, an Nginx return 301 rule, or your CMS redirect manager.
A redirect is not simply about whether another page eventually loads. The status code, target, number of hops, and final response should all be reviewed.
2. 301 redirects
A 301 redirect indicates that a URL has moved permanently.
https://www.example.com/old-page/
↓ 301
https://www.example.com/new-page/
A permanent redirect is a strong canonicalization signal. Over time, search engines replace the old URL with the target in their index and consolidate ranking signals, such as backlinks, onto the new URL. A 301 redirect is commonly used when:
- A page has permanently moved or been replaced by a new equivalent page.
- A URL structure has changed, for example after a slug rewrite or category restructure.
- A site migration moves content to a new domain, platform, or URL scheme.
- HTTP URLs are redirected to HTTPS as part of a secure protocol setup.
- Hostname or trailing-slash variations such as www and non-www versions are being consolidated.
- Multiple thin or outdated pages are merged into one stronger page.
Example: Service page rename
Suppose a website changes https://example.com/services/seo-audit/ to https://example.com/services/technical-seo/. A direct redirect would be:
/services/seo-audit/
↓ 301
/services/technical-seo/
The target should be the closest equivalent replacement for the original URL.
What to check
Intended permanence
Is the URL change actually meant to be permanent?
Relevant target
Is the target URL an equivalent replacement for the original page?
Successful response
Does the target return a 200 status code rather than another redirect or an error?
Single hop
Does the redirect point directly to the final URL without a chain or loop?
Updated internal links
Do internal links, canonicals, and the XML sitemap point to the new URL instead of the old one?
A 301 redirect should provide a clear route from the old URL to the appropriate replacement URL, and it should stay in place long term, typically at least a year, so external links and bookmarks keep resolving.
3. 302 redirects
A 302 redirect generally indicates that a URL has moved temporarily.
https://example.com/sale/
↓ 302
https://example.com/summer-sale/
A temporary redirect tells search engines to keep the original URL indexed, because it is expected to remain the primary URL once the temporary change ends. Common situations include temporary campaigns, short-term A/B testing, temporary maintenance, out-of-stock product routing, and geolocation or language routing that sends visitors to a regional page.
Example: Short-term campaign
Suppose a page is temporarily replaced while a site runs a seasonal campaign:
/original-page/
↓ 302
/campaign-page/
If the original page is expected to return, a 302 communicates that the move is not intended to replace the original URL permanently. If the original page has been permanently replaced, switch the redirect to a 301.
301 vs 302
| Redirect | General purpose | Indexed URL over time |
|---|---|---|
301 / 308 | Permanent URL move | The target URL |
302 / 307 | Temporary URL move | Usually the source URL |
A 302 left in place for months is one of the most common redirect mistakes. Google may eventually treat a long-standing 302 like a permanent redirect, but the mixed signal delays consolidation and can keep the wrong URL indexed. Choose the status code that matches the real intent, not simply the one that makes the page load.
4. Redirect chains
A redirect chain occurs when one redirect points to another redirect before reaching the final URL.
/old-page/
↓ 301
/page-two/
↓ 301
/new-page/
↓ 200
The crawler must follow multiple hops before reaching the final page. A direct redirect would be:
/old-page/
↓ 301
/new-page/
↓ 200
Every extra hop adds latency for users, uses crawl budget, and increases the chance that a crawler stops early. Googlebot follows up to 10 hops, but other crawlers and many tools give up sooner, and long chains make redirect configurations harder to maintain.
How chains build up
Chains usually develop gradually when websites change URL structures multiple times. A page moves from /old-page/ to /page-two/, then later from /page-two/ to /new-page/. If the original rule is never updated, the site ends up with a two-hop chain. Protocol and hostname rules often add hops too, for example http://example.com/page redirecting to https://example.com/page, then to https://www.example.com/page, then to https://www.example.com/page/.
Flattening a chain
Flattening means every legacy URL redirects once, directly to the final destination.
What to check
- The original source URL and each intermediate URL.
- The redirect status at every hop.
- The final destination and whether it returns a 200 status code.
- Whether intermediate redirects are still necessary.
- Whether internal links point at any URL in the chain other than the final one.
5. Redirect loops
A redirect loop occurs when URLs redirect back to one another without ever reaching a final destination.
/page-a/
↓
/page-b/
↓
/page-a/
↓
/page-b/
There is no final page. Browsers stop and display an error such as ERR_TOO_MANY_REDIRECTS, and search engines cannot crawl or index the content.
Example: Conflicting protocol rules
Consider a server rule that sends http://example.com/page/ to https://example.com/page/. If another rule, perhaps in a CDN or plugin, incorrectly sends the HTTPS version back to HTTP, the two URLs redirect to each other forever.
Common causes
| Cause | What to review |
|---|---|
| Conflicting redirect rules | Two rules that send the same URLs in opposite directions |
| HTTP and HTTPS rules | SSL settings at the CDN and origin server that disagree |
| WWW and non-WWW rules | Hostname preferences set differently in the server and the CMS |
| Trailing-slash rules | One rule adding a slash while another removes it |
| URL rewriting | Regex rewrite patterns that match their own target |
| Overlapping systems | Server, CDN, and CMS plugin redirects applied to the same URLs |
A redirect path should always end in a final response instead of returning to an earlier URL.
6. Redirect targets
The redirect target is the destination URL specified by a redirect.
/old-product/
↓ 301
/new-product/
Here, /new-product/ is the redirect target. A good redirect target represents the intended replacement page, returns a 200 status code, avoids further redirects, and follows the site's preferred protocol, hostname, and trailing-slash format.
Example: Relevant vs irrelevant targets
A product page at /products/widget/ that is permanently replaced by /products/widget-pro/ should redirect there. Redirecting it to the homepage instead gives users no equivalent content, and search engines often treat irrelevant redirects like this as a soft 404, which means the old URL's signals are not passed on. If no close replacement exists, a relevant parent category or a genuine 404 or 410 response is usually more honest than a blanket homepage redirect.
Common redirect target problems
Redirecting targets
The target returns another redirect, creating a chain.
Broken targets
The target returns a 404 or 5xx error.
Unrelated targets
The target has little in common with the original page, often the homepage.
Inconsistent URL format
The target uses the wrong protocol, hostname, or trailing-slash version.
Outdated targets
The target is an old URL that has since moved again.
Before a site migration, build a one-to-one redirect map of every old URL and its closest new equivalent. Prioritize URLs with backlinks, organic traffic, and internal links, then crawl the old URL list after launch to confirm each one reaches its target in a single hop.
7. How to audit redirects with SiteAuditLint
A website crawler such as SiteAuditLint reviews redirects across many URLs without checking each one manually. A crawl surfaces redirected URLs, redirect targets, redirect chains, redirect loops, and redirect-related response issues.
SiteAuditLint redirect audit workflow
- Enter your website URLStart with the homepage or the section of the website you want to audit.
- Start the crawlLet SiteAuditLint discover and request the pages within the crawl scope.
- Review redirect findingsLook for URLs returning 301, 302, 307, 308, and other redirect responses.
- Inspect affected URLsCompare the source URL, redirect status, target URL, and final response.
- Check chains and loopsFollow redirect paths to find unnecessary intermediate hops or loops.
- Fix and compareCorrect redirect issues where appropriate. Run another crawl after making changes and compare the new results with the previous audit.
What to look for in a crawl report
| Finding | What to review |
|---|---|
| 301 redirects | Whether permanent URL changes use the intended redirect type |
| 302 redirects | Whether temporary redirects are actually temporary |
| Redirect chains | URLs that pass through multiple hops before the final URL |
| Redirect loops | URLs that never reach a final destination |
| Redirect targets | Whether targets are relevant and accessible |
| Broken targets | Redirect destinations that return 4xx or 5xx errors |
| Internal links | Internal links that point to redirected URLs instead of final URLs |
| HTTP/HTTPS redirects | Whether protocol redirects are consistent and single-hop |
| WWW/non-WWW redirects | Whether hostname redirects are consistent |
| Crawl comparisons | Whether redirect issues were resolved or new ones appeared between audits |
Redirects are a safety net for external links and bookmarks. Internal links, canonical tags, and XML sitemap entries should point directly to final URLs, so users and crawlers never pass through a redirect you control. A crawler identifies the patterns, but the correct target should still be judged against the purpose and content of the original URL.
8. Practical exercise: Review the redirect structure of a page
Use this exercise to review redirect implementation on a real website.
Redirect audit checklist
0 of 6 tasks completed
9. Key takeaways
- A redirect sends users and crawlers from a source URL to a target URL.
- A 301 generally communicates a permanent URL move and consolidates signals onto the target.
- A 302 generally communicates a temporary URL move and keeps the source URL indexed.
- Redirect chains occur when multiple hops are required before reaching the final URL.
- Redirect loops prevent a redirect path from ever reaching a final destination.
- Redirect targets should be relevant, accessible, and appropriate for the original URL.
- Irrelevant redirects, such as sending every removed page to the homepage, can be treated as soft 404s.
- Internal links should point directly to final URLs instead of passing through redirects.
- SiteAuditLint helps identify redirect patterns and issues across a website.
Knowledge check
Ready to go further? Review the technical SEO checklist, or revisit Lesson 02: Canonicals.