页面删掉之后该返回什么:404 页面、410,还是这两个都不该用
404 页面到底该返回 404 还是 410?对 Google 来说这不是选择题——除 429 外所有 4xx 一视同仁。真正改变结果的是在 4xx、301 和 503 之间选错哪一个,本章给三问决策与一条自查命令。

这一章不讲怎么设计一个好看的 404 页面,讲的是页面删掉之后服务器该回什么状态码。对 Google 来说 404 和 410 根本不是两个选项 —— 它的文档写着除 429 之外的所有 4xx 一视同仁。真正会改变结果的,是在 4xx、301 和 503 三者之间选错了哪一个。
读这篇前
你得能改某个路径返回的状态码 —— 在一些托管建站平台上,这意味着改一条跳转规则而不是改响应码。还得先确认一件事:要删的这个页面,站上还有没有一个等价的页面。这一个答案决定了后面大半的走向。
404 页面返回 404 和返回 410,Google 都当同一件事
Google 那份《HTTP 状态码如何影响爬虫》文档,2026-08-26 读,把整个 4xx 段归成了一种行为:
"All 4xx errors, except 429, are treated the same: Google crawlers inform the next processing system that the content doesn't exist. In the case of Google Search, the indexing pipeline removes the URL from the index if it was previously indexed. Newly encountered 404 pages aren't processed. The crawling frequency gradually decreases."
看一眼这句话覆盖的状态码清单:400、401、403、404、410、411。一个挂在登录后面、返回 403 的页面,正在被按和你主动删掉的页面完全一样的规则移出索引。这是这份文档上最有用的一条,而它跟「在两者之间怎么选」没有任何关系。
| 状态码 | Google 怎么处理 | 什么时候用 |
|---|---|---|
| 404 / 410 | 撤出索引,抓得更少 | 内容永久没了 |
| 301 | 目标是强信号 | 存在等价页面 |
| 302 | 目标是弱信号 | 这次挪动是临时的 |
| 503 | 暂时保留这个网址 | 页面还会回来 |
| 200 加错误文案 | 报成 soft 404 | 永远不该故意用 |
| Disallow | 留在队列里 | 页面在,只是不该被抓 |
503 那一行是最常被跳过的。Google 对 5xx 段的描述是「already indexed URLs are preserved in the index, but eventually dropped」,而且按有多少网址在报错成比例降低抓取速度。所以 503 给真的会回来的页面买了时间,而你把它挂在那儿不管,代价是抓取速度。
三个问题选一个状态码
按顺序答,第一个「是」就停手。它们是按「保留了多少这个页面的历史」排的,所以越早遇到的是,代价越小。
- 站上还有等价页面吗?用 301 跳过去。Google 把 301 当作「a strong signal that the redirect target should be processed」,这是这三条里唯一能把东西带过去的
- 这个页面几天内会回来吗?返回 503。修的这段时间里网址留在索引里
- 两个都不是?返回 404 或 410,哪个在你的技术栈里更顺手就用哪个,然后别再动它
第一问里的「等价」比多数人用的标准严。判据就藏在 301 的定义里:它声称目标应该被当作原页来处理。所以同一件商品换了新链接算等价,一篇讲同一件事的新文章算等价;而同一个分类下的另一件商品不算,另一个语种的同一篇内容也不算 —— 后者对读者来说甚至读不懂。多语言站下架某一个语种时,诚实的做法是那个地址返回 4xx,同时把指向它的 hreflang 条目一起清掉,而不是把它跳到英文版。
没有第四条。如果你发现自己在找第四条,诚实的答案往往是你根本不想让这个页面消失,你想让它变好 —— 那是另一章:老页面该更新还是删掉,先把页面分成四档,再谈状态码。
交付物:一条命令查清楚
删之前和删之后都跑一遍,看这个网址到底回了什么。框架返回的状态码,常常不是 CDN 最终传出去的那个。
# 跟着跳转链走,把沿途每一个状态码都打出来
curl -sIL -o /dev/null -A 'Mozilla/5.0' \
-w '%{http_code} %{url_effective}\n' https://example.com/old-page
拿输出对下面这张表读。五种结果里有三种是问题。
| 你看到的 | 判断 |
|---|---|
| 404 或 410 | 对,如果它真没了 |
| 301 跳到相关页 | 对,如果确实有 |
| 301 跳到首页 | 目标选错了 |
| 200 带错误文案 | soft 404 |
| 公开页返回 403 | 悄悄被撤了 |
然后打开 Page Indexing 报告,看 soft 404 那一组。Google 的抓取预算文档点名这份报告就是找它们的地方,并给了代价:「soft 404 pages will continue to be crawled, and waste your budget.」
状态码是一句说给机器听的话。一个已经不存在的页面返回 200,等于在告诉它这页好着呢。
做错了会怎样
soft 404 是最常见、也最难发现的一种,因为所有人肉检查都能过:页面打得开,文案很客气,状态码是 200。Google 对 2xx 段的规则正好覆盖它:「If the content suggests an error for Google Search, an empty page or an error message, Search Console will show a soft 404 error.」本站测过不存在的地址在 27 个首页上返回了什么,真实站点上确实有人在这么做。
第二种是一刀切跳首页。它比错误页看着整洁,但它替你做了一个明确的声明:301 告诉 Google,目标应该被当作原页来处理。套在一百个删掉的商品页上,这个声明就是「我的首页是这一百件不同东西的替代品」。
做出海站的这里要多看一眼:一些建站平台在你下架商品时,会按模板默认把这个地址跳到集合页或者首页,这不是你选的。用上面那条命令跑一遍下架过的地址,看它实际跳到哪儿 —— 平台的默认行为和你的意图是两回事。
第三种是伸手去改 robots.txt。Google 的抓取预算文档把两者直接对比:「Google won't forget a URL that it knows about, but a 404 status code is a strong signal not to crawl that URL again. Blocked URLs, however, will stay part of your crawl queue much longer, and will be recrawled when the block is removed.」把一个已经删掉的网址屏蔽起来,等于让它在队列里活着,还掐掉了本来能让它退休的那个信号。
第四种是把页面挂到登录后面,然后以为这是中性操作。它不中性 —— 401 和 403 跟 404 写在 Google 同一句话里。这个页面该留在索引里,就不能加门禁;不该留,那这么做是有效的,只是你要知道自己做的是这件事。
今天就得让它消失的时候
4xx 是按爬虫的节奏撤,不是按你的节奏。真的急,Google 的移除文档给了另一个工具:「For quick removals, use the Removals tool to remove a page hosted on your site from Google's search results within a day.」它也写明了代价 ——「Requests made in the Removals tool last for about 6 months」—— 所以它是挡在真正修法前面的临时手段,文档给的三种真正修法是:移除或更新内容、给页面加密码保护、加 noindex 标签。
还要分清它做的是哪件事:这个工具把地址从搜索结果里拿掉,页面本身还在你的服务器上,别人照样能打开。文档给的三种永久做法里,只有第一种是真的把内容拿走的。急着藏起来和真的删掉,是两个动作,别把前者当成后者做完了。
有一点要小心:这个工具作用于网址,而文档提醒「in many cases, different URLs can point to the same page」,举的例子是同一个路径的不同大小写写法,以及同一份内容的参数形式。只移掉一个变体,其余的还在。
这一章管不到的地方
上面全部只对 Google 成立,因为只有它公开了这张状态码处理表。别的引擎和检索客户端没有义务把 404 和 410 当同一件事,也没有一家把这件事文档化到同一颗粒度。所以如果你要的是语义上的准确,410 是「我主动销毁了这份内容」的诚实写法 —— 但我们没法告诉你它换来了任何可测量的东西。
另一个用得上这个区别的地方是你自己的日志。访问日志里的 404 意味着有人请求了一个解析不出来的路径,这既可能是删除,也可能是一个 bug;同一份日志里的 410 是你主动退役的路径。把两者分开,每周扫一眼才成为可能。这是本地收益,不是搜索收益,也是读完 Google 那张表之后唯一还站得住的、支持用 410 的理由。
本章也不管撤掉一个页面会连带砸坏什么。内链、网站地图条目、canonical 目标、结构化数据都可能还指着你刚退役的那个网址,这部分在改一次页面还会连带砸坏的四处。那一遍要在改状态码之前做,不是之后。想看页面一开始是怎么到达引擎的,可以看看 QueryWin 是怎么运转的。
常见问题
410 是不是比 404 撤得快
Google 的文档把两者放在同一行,写的是除 429 外所有 4xx 一视同仁。没有任何公开数字显示哪个更快,我们也没测过。真需要快,文档给的答案是 Removals 工具。
404 页面该做成什么样
做成一个有用的页面,只是它返回 404。状态码是给爬虫读的,内容是给人读的。唯一要躲开的组合是「很贴心的页面 + 返回 200」,那就是 soft 404。
删掉的商品页该不该跳到分类页
只有当那个分类确实是这个具体商品最接近的等价物时才该。301 声称的是目标应该替代原页 —— 一个分类页替得了一件商品,替不了你历史上下架过的每一件。
站上有 404 会不会影响排名
光是存在不会。4xx 让 Google 不再使用那个网址、并逐渐减少抓它,这正是「删除」该有的效果。代价出现在别处:一个还挂在你自己导航里的 404,或者一个仍然在从别的站得到链接的 404。
只在某个季节存在的页面怎么办
几天内就回来,503 能让网址在这段时间里留在索引中。跨月就不行了 —— 5xx 的网址是「preserved in the index, but eventually dropped」—— 这种页面更适合一直留着,把内容换掉。
本文属于 QueryWin 实操手册 · 第 3 阶


