新页面发布之后,最怕的情况不是排名不好,而是蜘蛛根本没走到这个 URL。与其等日志慢慢攒数据,不如在发布后的几分钟内,自己按蜘蛛可能走的路径把页面走一遍。这一步不能保证收录,但能把大部分“抓不到”的问题挡在前面。
先确认这条 URL 至少有一条路能到
蜘蛛发现 URL 的方式无非几种:内链、Sitemap、外链,以及历史抓取记录。新页面通常靠前两种。检查顺序可以这样排:
- 从首页出发,顺着导航和列表页能不能点到它,需要几次点击;
- Sitemap 里是否已经写入这条 URL,有没有写错目录或协议;
- robots.txt 里有没有被 Disallow 误伤,注意规则匹配的是前缀,不是完整路径;
- 如果是改版过的老 URL,301 是否指向了新地址,链条有没有拉长。
内链能点到,通常比 Sitemap 更可靠。Sitemap 是提示,内链才是站内真实的通路。
用命令行模拟一次抓取
打开终端,用蜘蛛常见的 UA 请求一次,比在浏览器里看更接近真实情况。浏览器会带 Cookie、会执行脚本、会读缓存,这些都是蜘蛛不一定有的条件。
- 先用 curl -I 看响应头:状态码是不是 200,有没有意外的 301 或 302,Content-Type 是不是 text/html。
- 再用 curl -A 指定一个蜘蛛 UA,把 HTML 拉回来,确认正文内容在初始响应里就存在,而不是靠脚本渲染之后才出现。
- 检查 head 里的 canonical 是否指向自己,有没有残留的 noindex、nofollow。
- 把返回的 HTML 里的链接抽出来,看看关键链接是不是标准的 a 标签,而不是依赖点击事件跳转。
这一步的价值在于:你看到的就是蜘蛛拿到的第一份材料。如果这里缺内容、缺链接,后面再怎么调整内链都补不回来。
别忘了确认蜘蛛真的来过
自检只能证明“路径通了”,不能证明“蜘蛛走过”。发布后的一两天,可以在服务器日志里按 UA 和时间筛一下:
- 这条 URL 有没有出现过 200 的请求记录;
- 如果持续只有 404 或 5xx,先修服务器,再谈收录;
- 如果日志里连一次请求都没有,回到第一步,检查内链和 Sitemap 是否真的生效。
几种常见的“走不通”
- 页面被放在需要登录或需要提交表单才能到达的路径后面;
- 列表页分页靠脚本加载,链接不在初始 HTML 里;
- Sitemap 文件内容变了但更新时间没变,蜘蛛可能一直按旧版本处理;
- 内链加了 nofollow,或者整页被 robots meta 挡在门外。
自检是一次性的动作,抓取却是持续的过程。建议把上面的步骤固化成一份发布清单,每次上线新页面都过一遍。
把这条流程跑顺之后,再遇到“页面没有被收录”的情况,你至少能快速分清是发现环节的问题,还是抓取、渲染、索引环节的问题,排查范围会小很多。