Issue #8 · critical
Issue 8
What is this issue?
A redirect is a server instruction that automatically forwards users and crawlers from one URL to another. This issue checks whether redirects on your website are properly configured, including identifying redirect chains, loops, broken destinations, wrong status codes, and client-side redirects.
A passing implementation requires:
- Direct redirects (single hop) from source to destination
- Correct HTTP status codes (301 for permanent moves, 302 for temporary)
- No redirect loops (A → B → A)
- No excessive redirect chains (A → B → C → D)
- Working destination URLs that return 200 OK
- HTTP URLs redirecting to HTTPS
- Server-side redirects instead of meta refresh or JavaScript redirects
Example: A properly configured redirect from http://example.com to https://example.com using a 301 status code.
Why does it matter?
Redirects are critical for SEO because they:
- Affect Crawlability: Search engines follow redirects, but each hop consumes crawl budget and increases latency
- Impact Rankings: Redirect chains dilute link equity, reducing the SEO value passed to the destination page
- Affect User Experience: Multiple redirects slow down page loading times
- Prevent Indexation Issues: Broken redirects or redirect loops can make pages unindexable
Poorly configured redirects can waste crawl budget, dilute link equity, and degrade user experience. This directly impacts your SEO health score by affecting how search engines discover and value your content.
How to fix it
-
Flatten redirect chains: If you have a chain (A → B → C), update the redirect to point directly from A to C.
-
Fix redirect loops: Identify and remove rules that create circular redirects (A → B → A).
-
Use correct status codes: Use 301 redirects for permanent moves and 302 for temporary redirects.
-
Ensure HTTPS: Configure HTTP URLs to redirect to HTTPS using 301 redirects.
-
Fix broken destinations: Ensure redirect destinations return 200 OK and aren't 404 or 500 errors.
-
Replace client-side redirects: Convert meta refresh or JavaScript redirects to server-side HTTP redirects.
-
Update internal links: Point internal links directly to the final destination URL instead of redirecting URLs.
-
Clean up obsolete redirects: Remove redirects that no longer receive traffic or are no longer needed.
Examples
Example 1: Redirect Chain
Problematic State (Fails): A redirect chain with multiple hops:
http://example.com → https://example.com → https://www.example.com → https://www.example.com/home
This wastes crawl budget and dilutes link equity.
Corrected State (Passes): Redirect directly to the final destination:
http://example.com → https://www.example.com/home
Example 2: Redirect Loop
Problematic State (Fails): A circular redirect loop:
https://example.com/page-a → https://example.com/page-b → https://example.com/page-a
This creates an infinite loop that browsers and crawlers cannot resolve.
Corrected State (Passes): Remove the circular reference and redirect to a valid page:
https://example.com/page-a → https://example.com/page-c
Example 3: Client-Side Redirect
Problematic State (Fails): Using meta refresh for redirects:
<meta http-equiv="refresh" content="0;url=https://example.com/new-page" />
Corrected State (Passes): Use server-side HTTP redirect instead (configure your web server to return):
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page
How PixyScan detects this
PixyScan performs comprehensive redirect analysis through the following logical steps:
-
Redirect Discovery: PixyScan crawls all known URLs and captures the initial HTTP status code and
Locationheader without following redirects automatically. -
Hop-by-Hop Following: For each 3xx response, PixyScan resolves the
Locationheader and follows the redirect, counting each hop and recording the complete chain. -
Loop Detection: PixyScan checks if any URL appears more than once in the redirect chain, indicating a loop.
-
Chain Analysis: PixyScan counts the total number of hops and flags chains with 3 or more redirects as excessive.
-
Destination Validation: PixyScan checks the final destination URL to ensure it returns a 200 OK status code.
-
HTTPS Verification: PixyScan verifies that all HTTP URLs redirect to HTTPS.
-
Client-Side Detection: PixyScan parses HTML for
<meta http-equiv="refresh">tags that indicate client-side redirects. -
Issue Identification: PixyScan raises issues when:
- Redirect loops are detected (CRITICAL)
- Redirect chains have 3+ hops (WARNING)
- Redirect destinations are broken (CRITICAL)
- HTTP doesn't redirect to HTTPS (WARNING)
- Client-side redirects are used (WARNING)
- Obsolete redirects are found (SUGGESTION)