中国吧 · 原创文章
为什么你的网站收录一直涨不上去?Search Console 里两个最被低估的原因
(本文为中文深度解读。点击右上角 中 / EN 按钮可切换查看英文概要)
先看数字:为什么你的站"收录卡住"了
很多站长的 Search Console 里躺着这样的数字:收录长期停在几百、没被收录的却上千,而且列表里一大堆"网页会自动重定向"和"备用网页(Google 选择了不同标准网页)"。看着吓人,但如果你直接冲过去逐个"请求编入索引",很可能白费工夫——这两类里藏着大量良性噪音,真正要修的是藏在角落里的几个技术小问题。
第一类:「网页会自动重定向」——先分清良性与病态
良性(占了多数,不用管)
- 带
.html后缀的 URL 301 到无后缀版(网站把两种写法归一化了)——Google 自己也会做这种归一,属于正常。 - 首页的变体(
index.html?参数=xx)指向标准首页。 - 老版本地址跳转到新版页面。
这类"重定向"实际上是 Google 在跟随并接受你网站的规范化,目标页面本身良好。把它们从"重定向"一栏清掉的最快办法,不是修,而是把站内所有内链统一指向唯一的标准 URL(无后缀版),让 Google 下次重抓时发现旧链接没了,自然收敛。
病态重定向(真 bug,必修)
- 整页 301 到一个完全无关的页面。
- 由于 JS 路由配置错误导致所有子页都跳到首页。
- 因为 nginx/伪静态规则写错,导致目的 URL 出现循环跳转。
判断方法很简单:把浏览器(禁用 JS)直接打开那个 URL,看最终停在哪个页面。停在规范版 = 良性;跳到不相干页面 = 病态。
第二类:「备用网页,Google 选择了不同标准网页」——两个真正的主凶
这一类的英文名字是 "Duplicate, Google chose different canonical"。绝大多数情况下它不是"页面重复"那么简单,而是你给 Google 发了一组互相矛盾的信号:
主凶一:hreflang 标记了不存在的语言变体
假设中文页 /zh/ 里写着 hreflang="en" → /?lang=en,但那个英文 URL 和你中文页内容完全一样(?lang= 参数没被后端处理)。Google 照单全收,给同一份内容造出了"英文变体",然后判定你的中文页"可以被替代"→ 归入备用页。
修法:要么让 ?lang= 真的切换语言,要么直接删掉这行错误的 hreflang。诚实标记,比错误标记好一万倍。
主凶二:站内有指向 .html 版本的内链,而 canonical 指无后缀版
Google 发现你的内链大量指向 /tools/xxx.html,但页面 canonical 指向 /tools/xxx,于是它认为这两个是"同页面的两个版本",把其中一个标记为备用。修复:把站内所有内链统一改成 canonical 指向的那个版本(无后缀),一次性 sed 批量替换即可。
验证:修完之后看哪几个数字
别急着写"请求编入索引"(配额很少),先把基础打好,等 Google 自然重抓。一到两周后回来看:
- 「备用网页」数量下降:说明错误信号被清除。
- 「已索引」页数上升:真正的目标。
- sitemap 里的 URL 与站内 canonical 完全一致:这是最容易被忽略的对照组。
小结
收录不涨,九成不是"Google 不爱你的站",而是你的站发了互相打架的信号:内链指向 .html、canonical 指无后缀、hreflang 标记不存在的变体。这三件事修完,收录数会实打实动起来——修完记得回 GSC 看趋势,别用感觉判断。
常见问题 FAQ
Search Console 里的"重定向"条目都是问题吗?
不是。大部分是良性归一化——站点通过 301 或 canonical 把 .html 和无后缀版本归一并接纳,Google 自己也在做同样的事。只有跳转到无关页面或出现循环跳转的才是病态。
页面显示"Google 选择了不同标准网页"是不是被降权了?
不是降权,是 Google 判断你的两个 URL 是同一内容的两个版本,并选了它认为标准的那一个。要解决就让站内所有内链与 canonical 完全一致,并删掉错误的 hreflang。
要不要对每个未收录页面点"请求编入索引"?
不要。这个操作每天配额很少,且解决不了根本问题。先修内链/canonical/hreflang 的冲突信号,等 Google 自然重抓,效果远好于逐个手动提交。
怎么确认修复有没有生效?
用「备用网页」数量下降和「已索引」页数上升两个趋势判断,加上 sitemap URL 与 canonical 的一致性对照。通常修复后一到两周内可看到变化。