Redirect Types Quick Glance
- 301 – permanent, passes ~90% SEO equity
- 302 – temporary, keeps equity at source
- 307 – HTTP/1.1 temporary, rarely used
- Meta refresh – client-side, slower, SEO weaker
- Masked – iframe wrapper, bad UX, avoid
When to Use 301
Domain rebrands, HTTP→HTTPS, www→non-www consolidation, trailing-slash unification. Choose 301 unless you have a time-boxed campaign (e.g., holiday landing page) that will revert.
Implementation Methods
Registrar level: simple forward, usually 302 by default—change to 301 if offered. Cloudflare: add Page Rule “Forwarding URL (301)” with pattern yourdomain.com/oldpage*. Server: add Redirect directive in Apache or return 301 in Nginx location block for full control.
HTTPS Considerations
Redirect HTTP to HTTPS before any path-level redirects. Otherwise browsers hit 80→443 301 then another 301, adding latency and diluting equity. Combine into single hop.
WWW vs Non-WWW
Pick one canonical version and redirect the other. Google treats them as separate hosts; splitting backlinks hurts rankings. Set preferred domain in Search Console after redirect is live.
Chain Avoidance
Redirect chains (A→B→C) bleed equity and slow crawl. Audit quarterly with Screaming Frog; replace intermediate hops with direct A→C 301.
Masked Forwarding Dangers
Masking keeps original URL in browser bar while loading external site in iframe. Breaks deep linking, analytics, HTTPS security, and often violates affiliate TOS. Use only for temporary brand-jack protection, then migrate to proper 301.
Country & Language Redirects
Use 302 for geo-IP redirects (user in France hits /fr/) so Googlebot can still crawl English version. Couple with hreflang in page headers to reinforce language signals.
Testing & Monitoring
curl -I https://olddomain.com should return HTTP/2 301 with Location header pointing to final URL. Monitor 404s after large redirect batches; a mistyped target can tank traffic.
Speed Impact
Every redirect adds 100-300 ms. Use server-level configs instead of plugins, enable HTTP/2 push, and keep SSL handshake to one domain. Page-speed still matters for Core Web Vitals.