跳转至主要内容
SEO 与技术审查

SEO HTTP 状态码:200、301、404 和 503

SEO HTTP 状态码:200、301、404 和 503

URL 消失时,工程师常问 SEO 团队:“这个页面该返回什么状态?”答案不只存在于背下来的表格。它取决于是否有等效资源、中断是临时还是永久,以及你需要抓取工具下次访问时做什么。

错误状态可能造成仍返回 200 的错误页、长重定向链,或减少抓取的数千个 503 响应。正确选择让浏览器、搜索机器人、缓存、监控系统和维护者理解同一种状态。

HTTP 状态是服务器的消息

每当浏览器或抓取工具请求 URL,服务器就以状态码响应。五个主要类别是:

  • 1xx:处理中的信息。
  • 2xx:请求已成功处理。
  • 3xx:需要其他地址或动作。
  • 4xx:客户端请求无法按提交方式完成。
  • 5xx:服务器无法完成有效请求。

对 SEO,状态必须与可见内容一致。页面写着“未找到产品”却返回 200 OK,会造成软 404。完整页面若响应 500,就向抓取工具提供一个正文会被忽略的错误。状态与正文不应讲述不同故事。

2xx 响应:成功不保证索引

200 OK

200 表示服务器返回了成功响应。Google 可能将内容交给后续处理,但不保证索引。页面仍可能因 noindex、规范链接指向别处、重复、价值不足或其他质量信号而被排除。

只有 URL 提供真实内容时才返回 200。产品或文章被移除后,不要用它让每个地址在技术上保持“存活”。

204 No Content

204 表示请求成功,但没有响应正文。它适合部分 API 及无需内容表示的动作,不适合面向搜索的落地页。空 HTML 页面不会仅因状态属于成功类,就提供有用结果。

206 Partial Content

206 常用于客户端请求视频或大文件的某个范围。它不是 HTML 文档的正常默认状态。如果 CDN 或代理意外对每页返回 206,应检查范围请求和缓存规则。

3xx 响应:有意迁移

301 Moved Permanently

地址永久迁移且存在等效目标时,使用 301。典型情况包括:

  • 修改文章 slug。
  • 将 HTTP 迁移到 HTTPS。
  • 合并服务于相同意图的文章。
  • 替换分类结构。
  • 将旧产品送到真正等效的后继产品。

目标必须匹配旧需求。将停产产品重定向到首页或过宽分类,会令访客受挫,也可能被当作软 404。

302 Found

302 适合临时迁移:短期实验、维护期间替代页、限时路由,或将回到原 URL 的活动。如果迁移已永久化,将响应改为 301,使所有客户端都明确其目的。

Google 综合更广泛信号后,可能以相似方式处理几种重定向。选择正确状态仍对浏览器、缓存、其他客户端和未来维护者重要。

303 See Other

303 常跟在 POST 请求后,用 GET 将客户端送到结果页。表单提交后进入确认页是常见例子。这是应用流程,而非 SEO URL 迁移的主要工具。

307 和 308

307 Temporary Redirect 和 308 Permanent Redirect 在迁移时保留 HTTP 方法。308 是永久,307 是临时。它们可以用于普通 GET 迁移,但工程师用于表单和 API 前,应理解方法保留行为。

重定向链:一个决定跨越多代旧 URL

文章最初在 A,迁至 B,后来迁至 C。如果 A 仍重定向到 B,B 再到 C,每次访问就需要两跳。成熟网站可能积累五到六步的链,而没人刻意这样设计。

成本包括:

  • 访客和抓取工具延迟增加。
  • 更多服务器请求。
  • 规范链接和分析调试更困难。
  • 失败跳转或循环风险更高。
  • 内部链接保留过时架构。

每个旧地址应直接指向当前目标。用重定向链检查器检查每跳、状态、循环和最终 URL。随后更新内部链接、规范链接和站点地图,使用最终地址,而非无限依赖重定向。

4xx 响应:地址或访问问题

400 Bad Request

如果爬虫与浏览器收到不同响应,请检查实际请求及有权访问的服务器或边缘日志。公开 Cloudflare 检测不会揭示 WAF 规则、响应头限制或账户策略。

401 Unauthorized

401 要求身份验证。它适合已登录区域、私有 API 和受权限控制的文档。想获得排名的内容,不能同时要求抓取工具登录。不要用 401 控制抓取速率;直接解决服务器容量和 URL 架构问题。

403 Forbidden

403 表示服务器理解但拒绝请求。过于激进的 CDN、WAF 和反机器人设置,可能误向有效抓取工具返回它。公开页面开始退出索引时,按时间、用户代理和已验证 IP 比较日志,而不是只信用户代理字符串。

404 Not Found

资源不存在且无等效替代时,404 就是正确的。并非每个 404 都是需要重定向的“SEO 错误”。拼错地址、退市产品或已移除测试文章,都可正常返回 404。

有用的 404 页面应:

  • 简短说明资源不可用。
  • 适当保留导航和搜索。
  • 推荐相关区域,不强制重定向。
  • 继续返回状态 404,而非 200。

410 Gone

410 明确表示资源被有意移除。对 Google 搜索,持续的 404 和 410 都会导致 URL 被移除或不被索引。应用明确知道资源已结束时选 410;只是缺失时选 404。仅为期待更快移除而将数千合法 404 改成 410,价值不大。

429 Too Many Requests

429 表示客户端请求过多。Google 将它视为服务器过载信号,可能暂时减少抓取。如果限速器频繁向抓取工具返回 429,应检查配额、缓存和验证规则。取消所有限制不是答案;可靠容量才是。

5xx 响应:服务器故障

500 Internal Server Error

500 代表未明确分类的应用或服务器故障。偶发瞬时错误会发生,但许多 URL 的高错误率,指向部署、数据库、依赖或容量问题。

502 Bad Gateway

502 常发生在代理或 CDN 从上游服务收到无效响应时。检查应用服务器健康、层间超时、内部 DNS 和连接限制。

503 Service Unavailable

503 适用于短期维护或临时过载。Retry-After 标头可告知客户端何时重试。维护页应返回 503,而非 200;否则搜索系统可能把全站相同的“维护中”内容当作有效内容。

网站实际关闭或资源永久消失时,不要让 503 保留多日。持续服务器错误最终可能移除已索引 URL,并降低全站抓取活动。

504 Gateway Timeout

504 表示网关等待上游过久。查找慢数据库查询、依赖 API、缓存未命中、工作进程耗尽,以及 CDN 与源站之间不一致的超时。

状态决策表

情况 通常合适的状态
内容存在且正常加载 200
永久迁移,有等效页面 301 或 308
临时迁移,之后返回 302 或 307
资源缺失,没有替代 404
资源被有意移除 410
需要身份验证 401
服务器拒绝访问 403
客户端超出请求限制 429
短期维护或过载 503
未分类应用故障 500

表格只是起点。电商中暂时缺货的产品,仍可返回 200,保留产品信息、供货状态和替代品。永久退市且有近乎等效后继产品时可使用 301;没有有意义替代时,404 或 410 更诚实。

软 404:成功状态,失败内容

软 404 常见情况包括:

  • 空产品集合返回 200。
  • 每个错误格式 URL 都渲染首页。
  • 无结果的站内搜索页仍可索引。
  • 内容删除后只剩页头和页脚。
  • 无关 URL 重定向到宽泛分类。

检查 Search Console 的页面索引报告,并抽样查看受影响 URL。不要只为避免分类,就给错误模板增加几句话。应返回真实状态,或提供真正回答原始需求的内容。

Robots.txt 不能替代响应状态

在 robots.txt 中禁止 /old-page,只是告诉抓取工具不能获取正文,因此页面仍可能出现在搜索结果中,却无法知道它是迁移、消失还是需要验证;可用 Robots.txt 检查器验证。

URL 迁移时,重定向它。消失时,返回 404 或 410。仍可访问但不应索引时,让抓取工具访问并读取 noindex。Robots.txt 检查器能发现误屏蔽,但 URL 生命周期仍应由响应表达。

按模板审核状态,而非只看几个精修页面

首页返回 200,几乎不能说明目录健康。按模板抽样和汇总:

  1. 首页和主导航。
  2. 分类、分页和筛选。
  3. 有库存、暂时不可用和退市产品。
  4. 新、旧、改名和已删除文章。
  5. 参数、大小写、斜杠和主机名变体。
  6. 站点地图、robots.txt、关键图片和重要文件。

将每种状态与规范链接、robots 指令、站点地图归属和内部链接比较。301 URL 不应保留在站点地图。404 不应收到数千内部链接。用于索引的 200 页面不应规范化到别处。

使用 SEO 检查器检查代表性响应及页内信号,再运行免费 SEO 审核寻找重复模板缺陷。

在流量下降前监控

为关键 URL 的 5xx 比率、响应时间和状态变化创建告警。每次部署或迁移后,运行覆盖以下内容的冒烟测试:

  • 首页、登录和收入页面。
  • 每个模板的一个代表 URL。
  • Robots.txt 和站点地图索引。
  • 旧地址重定向。
  • 一个不存在的路径,确认真实 404。

服务器日志应足够久地保留状态、路径、耗时、用户代理和请求 ID,供前后比较。故障只影响机器人或地区时,日志通常比在一台笔记本上刷新页面更快回答问题。

结论

HTTP 状态码是服务器与客户端之间的精简契约。搜索系统用它理解内容存在、迁移、消失,还是暂时不可用。根据真实 URL 生命周期选码,保持与正文一致,并在每次迁移后清理站点地图和内部链接。

不要将每个错误重定向到首页,不要为空页面返回 200,也不要用 robots.txt 掩盖尚未决定的生命周期。清晰状态系统让访客、抓取工具和运维人员少些猜测。

参考资料:Google 搜索中心:HTTP 状态码与抓取和Google 重定向指南。

广告

常见问题

每个 404 都是需要重定向的 SEO 错误吗?
不是。当资源不存在且没有等效替代时,404 是正确的。只有目标真正满足相同需求时才重定向。
维护页面应返回 200 还是 503?
临时维护应返回 503,可包含 Retry-After。200 会让维护正文看起来像多个 URL 上的有效内容。
迁移时 301 和 302 有什么不同?
301 表示永久迁移,302 表示临时迁移。URL 架构永久改变时使用 301。
#技术 SEO #页面 SEO

免费检查您的网站

立即运行 SEO 审核或检查您的流量质量——无需注册。