网页源代码没有正文,先别认定 Google 看不到。网站可能先送来页面外壳,再让 JavaScript 加载正文。用同一网址、同一句正文,对照服务器原 HTML、浏览器运行后的页面,以及 GSC 的渲染 HTML,才能找到文字在哪一步没有出现。
检查的重点是这句话有没有被取回和显示。等 Google 渲染后能看到它,再去判断索引问题,两件事分开查会更清楚。
源代码和眼前的网页,为什么会不同
有些网站直接把文章写在服务器返回的 HTML 里;另一些先返回菜单、空的正文区域和脚本,再由浏览器运行 JavaScript,向另一个接口取得文章并插入页面。
于是,“查看网页源代码”可能只有外壳,你眼前却已经能读到全文。开发者工具里的 DOM,就是浏览器当前组织好的页面结构,通常能找到后来插入的文字。
Google 也会执行 JavaScript,但抓取、渲染和索引分属不同阶段。浏览器能加载,不代表 Google 这次也取到了所有资源;Google 渲染时看见正文,也不代表已经把这页放入搜索索引。
先选一条公开页面,再从正文复制一句独特的话。不要用“联系我们”这样的通用文字,它可能来自页脚。
下面统一用教学页面 https://example.com/guide/ 和“提交后可下载完整规格表”这句话,说明怎么查。它们不是网站实测结果。
用同一句话查三处
先在未登录的 Chrome 打开目标页,按 Ctrl+Shift+I,分别查看:
- Network(网络)→ 主文档请求 → Response(响应):搜索目标句。这是服务器当次送来的原 HTML。
- Elements(元素):搜索同一句。这是浏览器运行脚本后形成的页面。
- Search Console → 网址检查 → 实时测试 → 查看已测试网页 → HTML:还是搜索同一句。这才是 Google 此次测试渲染到的内容。
把结果写成三列就够了:
| 原 HTML | 浏览器 DOM | Google 实时渲染 HTML |
|---|---|---|
| 目标句:无 | 目标句:有 | 待测试,不能根据前两列填写 |
每次都记录网址和时间;如果一处看的是英文页,另一处是中文页,比较就失去了意义。没有 GSC 权限,第三列保留“未测”,把前两列结果交给有权限的人。
GSC 还可以查看已索引版本的抓取时间和 HTML。它像一份较早的记录,适合判断 Google 上次看到了什么;实时测试则用于检查现在的页面。刚修好的正文没出现在旧记录里,需要先看它是不是还没被重新抓取。
缺在哪一处,就先查哪一处
浏览器里也找不到。 先查正文接口是否报错、要求登录,或者脚本中途出错。接口就是页面取得文章数据的请求入口。把失败请求、响应状态和控制台报错交给开发,先做到未登录访客重新打开页面也能读全文。
浏览器有,Google 实时渲染没有。 查看 GSC 的加载资源与 JavaScript 错误,找到具体失败的脚本或正文请求。还要看主内容是否必须登录、点击按钮或滚动后才加载;Google 不会像访客一样操作页面来取得这些文字。
如果原 HTML 就带有 noindex,应先处理这条不索引指令。不要依赖后续脚本把它撤掉,Google 可能因此跳过渲染。
Google 渲染也有,页面却没收录。 这时正文缺失已经不是当前观察到的问题。继续查 URL 检查里的索引状态、Google 选择的规范页和抓取时间,可以按抓取与索引排查继续。
三种结果决定的是下一步先查哪儿。它们比一句“Google 不支持 JavaScript”更能让开发复现问题,也能避免把所有未收录页面都归到同一个原因。
什么时候需要服务端渲染
服务端渲染,常简称 SSR,是让服务器先生成带正文的 HTML,再交给浏览器。静态生成也能提前把正文放进页面,只是生成时机和更新方式不同。这样读取初始 HTML 的访问者,就不用先等脚本把主文拼出来。
但源代码没正文,并不足以决定全站重做。如果问题只是某个接口要求登录,先修接口;如果多个重要模板持续缺正文,客户端加载也不稳定,再和开发比较 SSR、静态生成的实现成本与更新需求。Google 推荐考虑服务端或预渲染,也提醒并非所有爬虫都能运行 JavaScript。
修复后,仍用最初的网址、未登录条件和那句正文检查三列。浏览器 DOM 和 Google 实时渲染 HTML 应出现目标句;采用 SSR 或静态输出后,原 HTML 里也应有它。已索引版本则等后续抓取,再按时间核对。
这类故障在全站 SEO 中怎样排序,可以看Google SEO 学习路径。需要协助时,向SEO 咨询提供网址、目标句、三列结果和失败请求,就能从一个可复现的问题开始,而不是直接讨论全站改造。
参考资料
常见问题
源代码没有正文,Google 一定看不到吗?
不一定。它只说明初始 HTML 不含这段文字。Google 能否取得,需要查看该网址的渲染 HTML;浏览器里的结果不能代替这一列。
看到 Google 实时测试有正文,就算收录了吗?
还没有。实时测试检查这次取回与渲染;页面是否已索引,以及选了哪张规范页,要看网址检查的索引报告。
没有 GSC 权限,能先做什么?
先查原 HTML 和浏览器 DOM,保存同一网址、目标句、时间及报错。请有权限的人补 Google 渲染结果,再一起判断,别自行填上“Google 看不到”。