Check Redirect
Check URL redirect chains, analyze redirect patterns, and diagnose redirect-related issues for SEO and performance optimization.
What is Redirect Checking?
HTTP redirects tell browsers and search engines that a URL has moved to a different location. The Check Redirect tool helps you:
✅ Trace Redirect Chains - See every hop from start to finish
✅ Identify Issues - Detect loops, excessive redirects, wrong status codes
✅ Optimize SEO - Ensure proper redirect configuration
✅ Improve Performance - Minimize unnecessary redirects
✅ Validate Migrations - Verify website moves are configured correctly
Accessing Check Redirect
From Web Tools Tab
- Open any host connection
- Click "Web Tools" tab
- Select "Check Redirect" from left menu
Tool Interface
┌─────────────────────────────────────────────────────┐
│ Check Redirect │
├─────────────────────────────────────────────────────┤
│ Website URL: │
│ ┌─────────────────────────────────────────────┐ │
│ │ https://example.com [✓] │ │
│ └─────────────────────────────────────────────┘ │
│ [Check] [Clear] │
├─────────────────────────────────────────────────────┤
│ Results: │
│ │
│ Redirect Chain (2 hops): │
│ │
│ 1. http://example.com │
│ Status: 301 Moved Permanently │
│ Location: https://example.com │
│ ↓ │
│ 2. https://example.com │
│ Status: 200 OK │
│ ✓ Final Destination │
│ │
│ Summary: │
│ • Total Redirects: 1 │
│ • Final URL: https://example.com │
│ • Final Status: 200 OK │
│ • Chain Status: ✓ Optimal │
└─────────────────────────────────────────────────────┘
How to Use
Step 1: Enter URL
Enter the URL you want to check:
Supported formats:
example.com
www.example.com
http://example.com
https://example.com
http://example.com/page
https://example.com/old-page
Tips:
- Include or exclude protocol (http://)
- Include or exclude www
- Can check specific pages/paths
- Works with query parameters
Step 2: Execute Check
Click "Check" button or press Enter
The tool will:
- Make initial request
- Follow all redirects automatically
- Track each hop in the chain
- Display complete path
- Show final destination
Step 3: Analyze Results
Review the redirect chain and identify:
- Status codes - 301, 302, 307, 308
- Number of hops - Fewer is better
- Final destination - Where you actually end up
- Redirect type - Permanent vs temporary
- Performance impact - Each hop adds latency
Understanding Redirect Chains
Simple Redirect (1 Hop)
Good Example:
http://example.com → https://example.com
301 Permanent 200 OK
✓ Optimal - Single redirect from HTTP to HTTPS
Double Redirect (2 Hops)
Common Pattern:
http://example.com → https://example.com → https://www.example.com
301 Permanent 301 Permanent 200 OK
⚠️ Acceptable but not ideal - Should be 1 hop
How to optimize:
Configure server to redirect directly:
http://example.com → https://www.example.com
301 Permanent 200 OK
Triple Redirect (3+ Hops)
Problematic:
http://example.com → https://example.com → http://www.example.com → https://www.example.com
301 Permanent 301 Permanent 301 Permanent 200 OK
❌ Poor - Too many hops, fix configuration
Issues:
- Slower page load
- Poor user experience
- SEO penalties
- Wasted bandwidth
Redirect Loop
Critical Error:
http://example.com → https://example.com → http://example.com → https://example.com → ...
301 Permanent 301 Permanent 301 Permanent 301 Permanent ∞
❌ Broken - Infinite loop, site inaccessible
Symptoms:
- "Too many redirects" error
- Site won't load
- Browser gives up after ~20 hops
Redirect Status Codes
301 Moved Permanently
When to use:
- Domain change (old-site.com → new-site.com)
- Protocol change (HTTP → HTTPS)
- URL structure change (permanent)
- Content permanently moved
SEO Impact:
- ✓ Passes ~90-99% of link juice
- ✓ Search engines update their index
- ✓ Preserves page rankings
Example:
Status: 301 Moved Permanently
Location: https://new-url.com
Best for:
- Permanent website migrations
- HTTPS enforcement
- WWW vs non-WWW canonicalization
302 Found (Temporary Redirect)
When to use:
- Temporary maintenance
- A/B testing
- Seasonal redirects
- Short-term changes
SEO Impact:
- ⚠️ Doesn't pass full link juice
- ⚠️ Search engines keep original URL
- ⚠️ Not ideal for permanent moves
Example:
Status: 302 Found
Location: https://temporary-url.com
Best for:
- Maintenance pages
- Temporary campaigns
- A/B test variations
307 Temporary Redirect
Modern HTTP/1.1 version of 302
Difference from 302:
- Guarantees HTTP method preservation
- POST stays POST (302 might change to GET)
- More explicit behavior
When to use:
- Same as 302 but with method preservation
- API redirects
- Form submissions
Example:
Status: 307 Temporary Redirect
Location: https://temporary-api.com
308 Permanent Redirect
Modern HTTP/1.1 version of 301
Difference from 301:
- Guarantees HTTP method preservation
- POST stays POST (301 might change to GET)
- More explicit behavior
When to use:
- Same as 301 but with method preservation
- API endpoints
- POST form destinations
Example:
Status: 308 Permanent Redirect
Location: https://new-api.com
Best for:
- API migrations
- POST endpoint moves
- Modern applications
Which One to Use?
| Scenario | Status Code | Why |
|---|---|---|
| HTTP → HTTPS | 301 | Permanent, passes SEO value |
| Domain change | 301 | Permanent migration |
| URL structure change | 301 | Content permanently moved |
| Maintenance page | 302 or 307 | Temporary, will revert |
| A/B testing | 302 or 307 | Temporary variation |
| API endpoint change (permanent) | 308 | Method preservation |
| API endpoint change (temporary) | 307 | Method preservation |
Common Redirect Patterns
HTTP to HTTPS
Correct (1 hop):
http://example.com → https://example.com
301 Permanent 200 OK
Incorrect (2 hops):
http://example.com → http://www.example.com → https://www.example.com
301 Permanent 301 Permanent 200 OK
Fix: Configure server to redirect HTTP directly to HTTPS with proper subdomain in one step.
Apache (.htaccess):
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
Nginx:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
WWW vs Non-WWW
Choose one and stick with it:
Option 1: Non-WWW (example.com)
www.example.com → example.com
301 Permanent 200 OK
Option 2: WWW (www.example.com)
example.com → www.example.com
301 Permanent 200 OK
Apache (prefer non-WWW):
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Nginx (prefer non-WWW):
server {
server_name www.example.com;
return 301 https://example.com$request_uri;
}
Page Moved
Old URL → New URL:
https://example.com/old-page → https://example.com/new-page
301 Permanent 200 OK
Apache:
Redirect 301 /old-page https://example.com/new-page
Nginx:
location = /old-page {
return 301 https://example.com/new-page;
}
Domain Migration
Old domain → New domain:
https://old-domain.com → https://new-domain.com
301 Permanent 200 OK
Preserve paths:
https://old-domain.com/page → https://new-domain.com/page
301 Permanent 200 OK
Apache:
<VirtualHost *:443>
ServerName old-domain.com
Redirect 301 / https://new-domain.com/
</VirtualHost>
Nginx:
server {
server_name old-domain.com;
return 301 https://new-domain.com$request_uri;
}
Trailing Slash
Consistent trailing slash handling:
With slash:
/page → /page/
301 200 OK
Without slash:
/page/ → /page
301 200 OK
Apache (add slash):
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ https://example.com/$1/ [L,R=301]
Common Issues & Solutions
Issue 1: Too Many Redirects
Symptoms:
http://example.com → https://example.com → http://www.example.com →
https://www.example.com → ... (20+ hops) → Error
Causes:
- Conflicting redirect rules
- .htaccess and server config both redirecting
- CDN and origin both redirecting
- Plugin conflicts (WordPress, etc.)
How to fix:
- Check all redirect sources:
- Apache/Nginx config
- .htaccess files
- Application code
- CDN settings
- Plugins
- Remove conflicting rules
- Consolidate to single redirect chain
- Test with Check Redirect tool
Issue 2: Redirect Loop
Symptoms:
"This page isn't working"
"Too many redirects"
ERR_TOO_MANY_REDIRECTS
Common causes:
Wrong redirect logic:
# BAD: Creates loop
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
Fix:
# GOOD: Checks HTTPS first
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
Conflicting rules:
Server config: Redirect HTTP → HTTPS
.htaccess: Redirect HTTPS → HTTP
Result: Infinite loop
Fix: Remove one of the conflicting rules
Issue 3: Mixed WWW/Non-WWW Redirects
Problem:
http://example.com → https://example.com → https://www.example.com
http://www.example.com → https://www.example.com → https://www.example.com
Why bad:
- Inconsistent redirect chains
- Some URLs take 1 hop, others take 2
- Confusing for search engines
- Poor user experience
Solution: Decide on canonical format and redirect all variations in ONE hop:
RewriteEngine On
# Force HTTPS and WWW in one redirect
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
Issue 4: Protocol Downgrade
Dangerous pattern:
https://example.com → http://example.com
302 Found 200 OK
❌ Never do this!
- Security risk
- Breaks HTTPS
- Data transmitted unencrypted
- Browser warnings
If you see this:
- Fix immediately
- Remove redirect rule
- Ensure all URLs use HTTPS
- Add HSTS header
Issue 5: Redirect to Wrong Domain
Typo or misconfiguration:
https://example.com → https://exmaple.com (typo!)
301 Permanent 404 Not Found
How to detect:
- Use Check Redirect tool
- Verify final destination
- Test multiple URLs
How to fix:
- Check redirect configuration
- Fix typos in domain names
- Verify DNS is correct
- Test thoroughly
SEO Best Practices
Minimize Redirect Chains
Bad (3 hops):
http://example.com → https://example.com → https://www.example.com → https://www.example.com/
Good (1 hop):
http://example.com → https://www.example.com/
Impact:
- Faster page loads
- Better user experience
- Improved SEO
- Less server load
Use 301 for Permanent Moves
Wrong:
Old page permanently moved
Status: 302 Found ❌
Right:
Old page permanently moved
Status: 301 Moved Permanently ✓
Why:
- 301 passes link juice to new URL
- 302 tells search engines it's temporary
- 301 helps new URL rank
- 302 keeps ranking with old URL
Update Internal Links
Don't rely on redirects for internal links:
Bad:
<a href="/old-page">Link</a>
<!-- Server redirects /old-page to /new-page -->
Good:
<a href="/new-page">Link</a>
<!-- Direct link, no redirect needed -->
Benefits:
- Faster page loads (no redirect)
- Better user experience
- Reduced server load
- Clearer site structure
Redirect Old URLs Indefinitely
Don't remove redirects too soon:
❌ Wrong approach:
1. Migrate site
2. Add 301 redirects
3. Wait 3 months
4. Remove redirects
5. Old URLs return 404
✓ Right approach:
1. Migrate site
2. Add 301 redirects
3. Keep redirects FOREVER
4. Old URLs always work
Why:
- External sites link to old URLs
- Users have old URLs bookmarked
- Search engines may still crawl old URLs
- Email/social media shares
Exception: Can remove after several years if:
- No traffic to old URLs
- All external links updated
- Search engines fully migrated
Set Up Canonical URLs
Tell search engines your preferred URL:
<link rel="canonical" href="https://www.example.com/page/" />
Helps with:
- WWW vs non-WWW
- HTTPS vs HTTP
- Trailing slash vs no trailing slash
- Query parameters
Example: All these point to canonical:
http://example.com/page
https://example.com/page
http://www.example.com/page
https://www.example.com/page
https://www.example.com/page/
Canonical: https://www.example.com/page/
Performance Impact
Latency Per Redirect
Each redirect adds delay:
No redirects: DNS + Connect + Request = ~500ms
1 redirect: +300ms = ~800ms
2 redirects: +600ms = ~1,100ms
3 redirects: +900ms = ~1,400ms
Impact:
- Slower page loads
- Higher bounce rates
- Poor mobile experience
- Lower conversion rates
Mobile Considerations
Mobile networks = higher latency:
WiFi: ~50ms per hop
4G: ~100ms per hop
3G: ~200ms per hop
2G: ~500ms per hop
Best practice:
- Minimize redirects (1 max)
- Test on mobile networks
- Use Check Redirect to audit
- Optimize for mobile users
Troubleshooting
Error: "Unable to Connect"
Possible causes:
- Domain doesn't exist
- DNS not configured
- Server is down
- Firewall blocking
How to debug:
# Check DNS
nslookup example.com
# Check connectivity
ping example.com
# Check port
telnet example.com 80
Error: "Timeout"
Possible causes:
- Server too slow
- Network congestion
- Firewall timeout
- Infinite redirect (aborted)
How to fix:
- Check server response time
- Test from different locations
- Verify no redirect loops
- Check server logs
Error: "Invalid URL"
Common issues:
- Typo in URL
- Missing protocol
- Invalid characters
- Incorrect format
Valid formats:
✓ example.com
✓ www.example.com
✓ https://example.com
✓ http://example.com/page
✗ example .com (space)
✗ ht tp://example.com (space)
✗ example,com (comma)
Use Cases
1. Website Migration
Before migration:
Check redirect plan:
old-domain.com → new-domain.com
old-domain.com/page1 → new-domain.com/page1
old-domain.com/page2 → new-domain.com/page2
After migration:
Test all redirects:
1. Check homepage redirect
2. Check category pages
3. Check product/article pages
4. Check images/assets
5. Verify 301 status codes
2. HTTPS Migration
Test HTTPS redirects:
http://example.com → https://example.com ✓
http://www.example.com → https://www.example.com ✓
All subdomains redirect ✓
No mixed content warnings ✓
3. URL Structure Change
Old structure:
example.com/page.php?id=123
New structure:
example.com/page/title-slug
Test redirects:
/page.php?id=123 → /page/title-slug ✓ (301)
/page.php?id=456 → /page/another-title ✓ (301)
4. Competitor Analysis
Analyze competitor redirects:
What they redirect:
- HTTP → HTTPS?
- WWW vs non-WWW?
- Old URLs?
How many hops?
- 1 hop = good
- 2+ hops = room for improvement
Status codes:
- Using 301? (good for SEO)
- Using 302? (temporary)
Next Steps
- 📋 Check Header - Analyze HTTP headers
- 🏷️ Check Meta Header - Optimize meta tags
- 🔌 Check Port Open - Test port connectivity
- 🔙 Web Tools Overview - See all tools