The codes that matter for SEO#
| Code | Meaning | SEO effect |
|---|---|---|
| 200 OK | Page served normally | Can be indexed |
| 301 / 308 | Moved permanently | Signals consolidate on the target URL |
| 302 / 307 | Moved temporarily | Treated as permanent if left for a long time |
| 304 Not Modified | Content unchanged since last crawl | Saves crawl resources |
| 403 Forbidden | Access denied | Page dropped if persistent; check firewalls blocking Googlebot |
| 404 Not Found | Page doesn’t exist | Normal; dropped from index over time |
| 410 Gone | Deliberately removed | Dropped slightly faster than 404 |
| 429 Too Many Requests | Rate limited | Google slows crawling |
| 500 / 502 / 503 | Server error / bad gateway / unavailable | Crawling slows; long outages can drop pages |
Practical tips#
- Use 503 with a Retry-After header during planned maintenance — not 200 “we’re down” pages, and not 404.
- Make sure “not found” pages really return 404, not 200 (a soft 404).
- Avoid redirect chains.
- Check codes with browser DevTools (Network tab),
curl -I https://example.com/page/, or a crawler.
Related: 301 redirect, 404 error, fix 403 Forbidden in WordPress.