11 min read · Technical SEO · Last updated July 2026
Quick answer: HTTP status codes tell Google what happened when it requested a URL. 200 means success. 301 means permanently moved (passes link equity). 302 means temporarily moved (Google may not pass full equity). 404 means not found. 410 means permanently deleted. 500+ means your server failed. Each code changes how Google crawls, indexes, and values that URL.
Introduction
Your server speaks to Google through status codes. Every time Googlebot visits a URL, your server replies with a three-digit code that determines whether the page gets indexed, how link equity flows, and whether Google will even bother crawling that URL again.
Most developers and site owners treat status codes as a technical detail. Senior SEOs treat them as ranking signals. The difference between a 301 and a 302 redirect can affect how much link equity passes through. The difference between a 404 and a 410 changes how quickly Google stops crawling a deleted page.
This guide covers every status code that matters for SEO — what triggers it, how Google responds to it, and exactly how to fix problems.
What you’ll learn:
– What each major HTTP status code means and why it was designed
– How Google specifically treats each code (which often differs from the spec)
– Which status codes hurt rankings and why
– Decision framework for choosing the correct code in every situation
Table of Contents
- How Status Codes Work
- 200 OK — The Baseline
- 301 Moved Permanently — The SEO Redirect
- 302 Found — Temporary Redirect
- 307 and 308 — Modern Redirects
- 404 Not Found — The Broken Page
- 410 Gone — The Permanent Deletion Signal
- 500 Internal Server Error
- 503 Service Unavailable — Maintenance Mode
- Frequently Asked Questions
How Status Codes Work
When Googlebot (or any browser) requests a URL, your server processes the request and returns a response header before the page content. The status code sits in this header. It is a three-digit number in one of five classes:
- 1xx — Informational (rarely relevant to SEO)
- 2xx — Success (page returned as expected)
- 3xx — Redirection (go somewhere else)
- 4xx — Client error (the request failed, usually the URL does not exist)
- 5xx — Server error (your server failed to process the request)
Google’s crawler processes these codes slightly differently from spec in some cases — most notably around 301 vs. 302 and how quickly it removes 404 pages from its index. Understanding Google’s actual behaviour matters more than what the HTTP specification says.
Interactive HTTP Status Code Reference
Click any status code to see full SEO implications and fix instructions.
200 OK — The Baseline
Every page that should be in Google’s index must return 200. This seems obvious, but the failure modes are subtle.
Soft 404s are the most dangerous 200 variant. A product page that returns 200 but shows “This product is no longer available” is a soft 404. Google detects the mismatch between the status code and the content and either ignores the page or deindexes it. The fix is to return true 404 or 410, or redirect to a relevant alternative product.
200 with noindex is another common confusion point. The page loads fine for users but is excluded from Google’s index by the robots meta tag. This is intentional when used correctly (login pages, thank-you pages, admin areas) and a bug when applied to pages that should rank.
After any template change, always check a sample of pages to confirm they still return 200 with the correct robots directives.
301 Moved Permanently — The SEO Redirect
The 301 is the standard tool for permanent URL changes. Use it for:
- HTTPS migration: HTTP pages redirecting to HTTPS equivalents
- Domain migration: moving from old-domain.com to new-domain.com
- URL restructuring: changing
/products/blue-shirt/to/shirts/blue/ - Consolidating duplicate content: merging www and non-www versions
- Replacing deleted content: a discontinued product page redirecting to the category page
Redirect chain problem: the most common 301 mistake is creating chains. You migrate from http:// to https:// (301 chain 1), then from old-domain.com to new-domain.com (301 chain 2), then restructure URLs (301 chain 3). Now a URL from an old backlink hops through three 301s before reaching its destination. Latency increases, equity potentially reduces, and debugging becomes complex.
After every migration, run Screaming Frog’s Redirect Chains report and flatten any chains of 3+ hops.
Key takeaway: 301 passes link equity effectively, but every additional redirect hop is a cost. Keep chains to one hop maximum.
302 Found — Temporary Redirect
The 302 is the most misused status code in SEO. Developers default to 302 for all redirects because it is the default in many frameworks. The intended meaning is “temporary” — but permanent moves implemented as 302s create indexing ambiguity.
When a 302 is correct:
– A/B testing: redirecting 50% of users to a variant page while keeping the original indexed
– Geo-detection redirects: redirecting US visitors to a US-specific page while keeping the global page indexed
– Temporary maintenance: a specific page is temporarily unavailable but will return
When a 302 is wrong (use 301 instead):
– Site migrations
– Any URL change you intend to make permanent
– Deleting a page and replacing it with another
– HTTPS enforcement
If you have accumulated 302 redirects that should be 301s, switch them — but be aware that changing a long-standing 302 to a 301 may cause short-term indexing changes as Google processes the new signal.
307 and 308 — Modern Redirects
The 307 (temporary, method-preserving) and 308 (permanent, method-preserving) are the HTTP/1.1 equivalents of 302 and 301. The key difference is that they preserve the HTTP method — a POST request through a 307 remains a POST, not a GET.
For standard web page redirects, there is no meaningful SEO difference between 301 and 308, or between 302 and 307. Google treats them equivalently.
You will see 307s most commonly in server logs from HSTS (HTTP Strict Transport Security) enforcement — the browser internally redirects HTTP to HTTPS before making a request. This 307 is browser-side and invisible to Googlebot.
404 Not Found — The Broken Page
404 is the most commonly misunderstood error code. Not all 404s are problems — most are expected and harmless.
404s that are problems:
– Pages with external backlinks returning 404 (link equity completely lost)
– Pages with significant internal links returning 404 (link equity leak, crawl waste)
– Previously high-ranking pages now returning 404 (ranking and traffic loss)
404s that are not problems:
– Old URLs that never had links or traffic (no equity to lose)
– URLs discovered from external sources that were never on your site (spam backlinks, competitor references)
– Parameter variants that were naturally broken
The fix hierarchy:
1. If the content should exist → restore it
2. If you have a good replacement → 301 to the replacement
3. If you have no good replacement → 301 to the category or homepage
4. If there are no links or traffic → leave as 404, update any internal links pointing to it
Do not 301 everything to the homepage. Google recognises this as a “soft 404 equivalent” for the link equity — if the redirect destination is not topically relevant, the equity is not effectively transferred.
410 Gone — The Permanent Deletion Signal
The 410 is semantically cleaner than 404 for intentional deletions. It tells Google definitively: “this URL is gone and not coming back.”
Practical use cases for 410:
– Discontinued product lines that will never return
– Deleted blog posts you have retracted (incorrect information, legal issues)
– Merged microsite content where the old URLs are permanently decommissioned
The indexing speed difference between 404 and 410 is real but varies. Google typically processes 410s within days to a few weeks. 404s can linger in the index for months if the URL had strong signals.
500 Internal Server Error
A 500 error on an important page is a ranking emergency. Googlebot cannot crawl a page returning 500, which means it cannot update its index entry for that page. If the 500 persists for multiple crawl cycles, Google may begin deindexing those pages.
Immediate diagnosis steps:
1. Check your server error logs (/var/log/apache2/error.log or equivalent)
2. Test the URL in multiple browsers and from different IP addresses (rule out caching)
3. Check your monitoring alerts (should have been triggered already)
4. If WordPress: deactivate all plugins and test; re-enable one by one
After resolving the 500, verify in Google Search Console → Coverage that affected pages return to “Valid” status. GSC may not update for a few days after resolution.
503 Service Unavailable — Maintenance Mode
The 503 with a Retry-After header is the technically correct response for planned maintenance. It signals to Google: “come back later, this is temporary.”
Correct implementation:
HTTP/1.1 503 Service Unavailable
Retry-After: 3600
The Retry-After value is in seconds. Providing this header prevents Google from treating the 503 as a permanent failure and reduces the risk of deindexing.
What not to do during maintenance:
– Return a 200-status maintenance page (Google will index the maintenance message)
– Leave the site returning 503 for more than 24 hours without monitoring GSC Coverage
– Return a 200 redirect to a “site down” page (still crawlable, still indexable)
Status Code Decision Tree
Answer each question to find the right HTTP status code for your situation.
Frequently Asked Questions
Does a 301 redirect lose any PageRank?
Google has stated that 301 redirects pass “most” link equity. In practice, the difference is negligible for a single hop. The real concern is redirect chains — three hops of 301 stacked together will noticeably reduce equity transfer. Flatten chains wherever possible.
How long does Google take to deindex a 404 page?
It varies significantly — from weeks to months. Pages with high crawl frequency (strong backlinks, frequent updates) get recrawled more often and deindexed faster. Pages with low crawl frequency may remain in Google’s index for months after returning 404.
Should I redirect all 404s to the homepage?
No. Google recognises homepage redirects as soft 404s for irrelevant pages and does not pass link equity from them. Only redirect to a destination that is topically relevant to the deleted page. If there is no relevant destination, return a true 404 or 410.
What is a soft 404?
A soft 404 is a page that returns 200 status but contains “not found” or low-quality content — making it function like a 404 for Google even though the server considers the request successful. Google flags soft 404s in Search Console under Coverage. Fix by either returning a proper 4xx status code or adding real, valuable content to the page.
Is there an SEO difference between 302 and 307?
Not meaningfully. Google treats both as temporary redirects. The technical difference (method preservation) is irrelevant for standard GET requests to web pages. If you are choosing between them for a page redirect, 302 is simpler and more universally understood.
Conclusion
HTTP status codes are the language your server uses to communicate with Google. Using the wrong code — a 302 for a permanent migration, a 200 for a maintenance page, a 404 for a page you want Google to quickly forget — creates ambiguity that leads to indexing problems, lost link equity, and ranking instability.
The decision tree above covers 90% of real-world situations. When in doubt, ask: is this permanent or temporary? Does the content exist or not? The right status code falls naturally from those two questions.
Let Ignited Nepal Handle This
Auditing status codes, fixing redirect chains, and resolving coverage errors across a large site requires both technical skill and SEO judgment. Our team handles technical SEO implementation for clients across Nepal, Australia, UAE, and beyond.
→ Request a Free Technical SEO Audit
Written by the Ignited Nepal SEO team. We build organic search systems for businesses across Nepal, Australia, UAE, USA, UK, and beyond. ignitednepal.com