核对抓取限制,核心是确认搜索引擎的抓取工具能否正常访问你希望被收录的页面。最直接的做法是看服务器日志、robots.txt、页面响应码和内部链接路径,而不是先猜“权重不够”。如果抓取被挡住,页面连被评估的机会都没有,后续的权重提升方法就无从谈起。下面这份清单按处理顺序排列,适合时间和人手有限时逐项执行。
要查的是服务器访问日志中,搜索引擎抓取工具的请求记录。用命令行筛选日志里的抓取工具标识,例如:
grep -i "googlebot" access.log | tail -50
结果说明:如果近几天完全没有记录,可能是抓取频次低、robots.txt 拦截,或服务器防火墙屏蔽了抓取 IP。如果有记录但集中在首页,说明内页没有被有效发现。这一步能区分“没来抓”和“来了但没抓对页面”,两种情况的处理方向完全不同。适用条件是你能拿到原始日志;如果用的是共享主机拿不到日志,就改用搜索引擎的抓取统计报告作为替代依据。
要查的是 robots.txt 中对目标目录的 Disallow 规则。直接在浏览器打开站点根目录下的 robots.txt,逐行核对是否有关键目录被禁止抓取。常见误操作是开发阶段写了 Disallow: /,上线后忘记删除。
结果说明:如果目标页面所在路径被 Disallow 覆盖,抓取工具不会请求该页面,页面也不会进入索引。判断时要区分“整站禁止”和“单个目录禁止”,前者影响全站,后者只影响局部。检查项还包括规则里的通配符是否匹配过宽,例如 Disallow: /*? 会挡掉所有带参数的 URL。修改后不要立刻断言生效,抓取工具重新读取规则需要时间,且不同抓取工具的读取节奏不一致。
要查的是目标 URL 实际返回的状态码,而不是页面在浏览器里能否打开。用 curl -I 查看响应头:
curl -I https://example.com/page
结果说明:返回 200 表示可正常抓取;返回 301 或 302 表示发生了跳转,要确认跳转终点是否是你想被收录的页面;返回 403 通常意味着服务器或防火墙拒绝了抓取工具;返回 404 说明页面已不存在;返回 503 表示服务暂时不可用,频繁出现会让抓取频次下降。
这里要区分可能原因和已定位原因:403 可能是防火墙拦截,也可能是权限配置错误,不能只凭状态码就断定是某一种。需要结合日志里同一时间的请求记录一起看,才能确认是哪一层挡住的。
要查的是关闭 JavaScript 后,页面主体内容是否还存在。可以用浏览器开发者工具禁用 JS 后刷新,或查看抓取工具渲染后的页面快照。
结果说明:如果正文、链接在无 JS 状态下为空,说明内容依赖脚本注入,抓取工具可能只看到空壳。判断依据是渲染前后 DOM 差异有多大。适用条件是站点为前端框架渲染;如果是服务端直出 HTML,这一步通常不会成为瓶颈,可以跳过,把时间留给其他检查项。
要查的是目标页面能否从首页通过普通链接到达,中间经过几次点击。用站点地图和内部链接一起核对,而不是只提交 sitemap 就认为会被抓取。
结果说明:如果目标页面只能通过表单提交或 JS 事件跳转到达,抓取工具很难发现它。检查项包括导航、面包屑、相关推荐里的链接是否为标准 <a href> 形式。这一步决定的是“发现效率”,和前面几步的“访问权限”是两回事,不要混在一起判断。
改动前后做比较时,要考虑季节、搜索需求波动和日志采集差异,不能把某一天的抓取量下降直接归因于某次修改。判断是否改善,应看一段时间内的趋势,而不是单点数据。
下一步:把你站点最近七天的抓取日志按状态码分组统计,先找出返回 403 和 404 最多的路径,再回到上面第二步和第三步逐条核对。