Issue #220 · important
Issue 220
What is this issue?
This issue checks whether pages that have been moved to a new URL or deleted return proper 301 redirects (for moved pages) or appropriate error pages (for deleted pages), rather than abrupt 404 errors. A 301 redirect passes link equity to the new URL, while abrupt 404s on moved pages lose accumulated PageRank.
A passing implementation means:
- Pages that have moved to a new URL return a 301 (permanent) redirect to the new location
- The redirect chain is short (ideally direct, not multiple hops)
- Deleted pages that don't have a relevant replacement return 404 or 410 (Gone) status
- No moved pages return 404 abruptly without a redirect
Example:
- Old URL:
https://example.com/old-page - New URL:
https://example.com/new-page - ✅ Old URL returns
301 → https://example.com/new-page - ❌ Old URL returns
404 Not Found(link equity lost!)
Why does it matter?
Link Equity Preservation: 301 redirects pass the vast majority of link equity (PageRank) from the old URL to the new URL. Abrupt 404s lose this valuable ranking power.
User Experience: Users who bookmark or find old URLs in search results should be automatically taken to the new location, not encounter a 404 error.
Crawl Efficiency: Search engines will continue crawling old URLs that return 404, wasting crawl budget. 301 redirects tell them to update their index to the new URL.
SEO Rankings: Pages that have moved but don't redirect may lose their rankings because search engines see the content as "gone" rather than "moved."
Historical Value: Old URLs may have accumulated backlinks over time. 301 redirects ensure those links continue to benefit your site.
SEO Health Score: Proper redirect management is a fundamental technical SEO practice that significantly improves the site's health score.
How to fix it
-
Identify moved pages - Review your site for pages that have been:
- Moved to a new URL structure
- Merged into other pages
- Replaced with updated versions
-
Implement 301 redirects - Set up server-side 301 redirects from old URLs to new URLs:
- Apache:
Redirect 301 /old-page https://example.com/new-page - Nginx:
rewrite ^/old-page/?$ https://example.com/new-page permanent; - CMS: Use redirect plugins/modules
- Apache:
-
Avoid redirect chains - Don't chain multiple redirects (A → B → C). Redirect directly to the final destination.
-
Handle deleted pages - For pages that are deleted without a replacement:
- Return 404 (Not Found) or 410 (Gone)
- Consider a custom 404 page with helpful navigation
- Don't redirect to the homepage (this confuses search engines)
-
Update internal links - Change internal links to point directly to the new URLs instead of relying on redirects.
-
Monitor with tools - Use Google Search Console to identify 404 errors and set up proper redirects.
Examples
Example 1: Proper 301 Redirect
Problematic State (Fails): Old page returns 404:
https://example.com/old-servicesreturns 404 Not Found- Page has valuable backlinks that are now wasted
Corrected State (Passes): Implement 301 redirect:
https://example.com/old-services→ 301 →https://example.com/services
Example 2: Redirect Chain
Problematic State (Fails): Multiple redirects in chain:
/old-page → /intermediate-page → /new-page
Corrected State (Passes): Redirect directly to final destination:
/old-page → /new-page
Example 3: Deleted Page Without Replacement
Problematic State (Fails): Page deleted but redirects to homepage (confusing for search engines):
https://example.com/discontinued-product→ 301 →https://example.com/
Corrected State (Passes): Return 404 or 410:
https://example.com/discontinued-productreturns 404 Not Found- Consider a custom 404 page with links to similar products
How PixyScan detects this
PixyScan performs the following checks:
-
Crawls the website - The crawler follows links throughout the site, discovering URLs.
-
Identifies potential moved pages - PixyScan looks for patterns that suggest a page may have moved:
- URL structure changes
- Pages that return 404 but have similar content elsewhere
- Historical data from previous crawls (if available)
-
Checks HTTP status codes - For each URL, PixyScan records the HTTP status code:
- 200: OK (page exists)
- 301/302: Redirect (follows to destination)
- 404: Not Found
- 410: Gone
-
Validates redirect type - If a redirect is found, PixyScan checks if it's a 301 (permanent) vs 302 (temporary). For moved pages, 301 is preferred.
-
Reports issues - The issue is flagged if:
- A page appears to have moved but returns 404 instead of 301
- Redirect chains are too long (3+ hops)
- 302 redirects are used for permanently moved content