搜索引擎爬虫控制 - 短横线分清抓取、索引与展现三层问题

📍 WDQWDWQD987AAAAA:216.73.216.212
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /9bc10036ac04.html
📄

搜索引擎爬虫控制 - 短横线分清抓取、索引与展现三层问题

判断一个爬虫控制问题属于哪一层,最直接的方法是看“谁被挡住了”:如果爬虫根本没来取页面,问题在抓取层;如果爬虫来了但页面没进索引,问题在索引层;如果页面已收录但搜索结果里显示的内容不对,问题在展现层。先定位层,再决定查 robots.txt、meta 标签还是页面内容,比盲目改设置有效得多。

第一层:抓取层——爬虫是否来过、是否被允许

要查的是服务器访问日志或搜索引擎站长平台提供的抓取统计。用日志搜索目标 URL,查看是否有对应爬虫的请求记录,以及返回的状态码。

再检查 robots.txt 中是否对该爬虫或该目录写了 Disallow。注意一个常见误区:robots.txt 的抓取限制不等于可靠的索引移除,被禁止抓取的页面仍可能因外部链接而被收录,只是抓不到内容。

第二层:索引层——页面是否被收录、为什么没收录

要查的是搜索引擎的收录状态,常用方式是搜索完整 URL 或使用站长平台的 URL 检查工具。判断结果分几种:

同时核对 canonical 标签是否指向了别的 URL。如果页面 A 的 canonical 指向页面 B,搜索引擎可能只收录 B,A 不进索引,这属于配置导致的索引归并,不是抓取故障。站点地图提交只帮助发现 URL,不保证收录,不能把“已提交站点地图”当作“应该被收录”的依据。

第三层:展现层——收录了但摘要、标题或链接不对

要查的是搜索结果中实际显示的标题、描述和跳转链接,与页面自身的 title、meta description、H1 做对比。

展现层的判断依据是“搜索结果呈现”而非“页面源码”,因为源码正确不代表搜索引擎一定采用。HTTPS 只保证传输加密,不保证页面安全无漏洞,也不直接决定排名或展现形式。

可执行排查清单

  1. 查什么:目标 URL 的爬虫请求记录。怎么查:在服务器日志中搜索该 URL 与爬虫标识。结果说明:无记录指向抓取层,有 200 记录则排除抓取层。
  2. 查什么:robots.txt 规则。怎么查:直接访问 /robots.txt,找到匹配该路径的 Disallow 行。结果说明:被禁止则先解决抓取许可,再谈收录。
  3. 查什么:meta robots 与响应头。怎么查:查看页面源码中的 <meta name="robots"> 和 HTTP 响应头里的 X-Robots-Tag。结果说明:出现 noindex 即为索引层主动排除。
  4. 查什么:canonical 指向。怎么查:查看页面 <link rel="canonical"> 的 href 值。结果说明:指向其他 URL 时,本页可能被合并,不单独收录。
  5. 查什么:搜索结果呈现。怎么查:搜索完整 URL 或品牌词加标题词,观察标题、摘要、链接。结果说明:与源码不一致属于展现层,需优化内容匹配度而非改抓取设置。

假设一个页面在日志中有 200 记录、robots.txt 未禁止、也没有 noindex,但搜索 URL 显示“未收录”,那么问题不在抓取层,应重点检查内容是否与站内其他页面高度重复、是否有足够的内外部链接指向它。这个判断只适用于该页面本身,不能推广为整站结论。

下一步:挑一个具体 URL,按上面五步依次记录结果,把第一个出现异常的项目作为起点,只修改对应层的设置,改完后用同一方法复查,确认问题是否真的移动到了下一层。

图1 图2

nginx