站点运营中常遇到一种情况:站内页面收录不多,搜索结果的图片或附件标签下却能看到大量来自自己站点的地址。资源类 URL(图片、PDF、压缩包、音视频文件)被收录,通常不是索引出错,因为它们本身就是可访问的 URL,只要被蜘蛛发现,就有进入索引的可能。
先确认:到底是页面被收录,还是资源被收录
排查前先把范围分清楚,否则后面的处理方向容易跑偏。
- 搜索结果里出现的是文件地址(常见 .jpg、.png、.pdf、.zip),还是带模板的页面地址;
- 站点地图里是否包含图片、附件条目,或整份地图指向了资源目录;
- 服务器日志里是否存在对资源地址的独立抓取,而不是作为页面渲染的一部分被请求;
- 索引报告里资源地址属于哪一类:正常收录、重复网页,还是已抓取未编入索引。
只有确认是资源地址独立进入索引,才需要讨论后续处理。
资源进入索引的几条常见路径
- 目录可浏览。资源目录没有关闭列表展示,蜘蛛沿目录一层层爬。
- 站点地图全量提交。地图生成时把附件、图片一并写入,等于主动提交。
- 内链直接指向文件。页面里大量链接写的是文件地址,而非承载它的详情页。
- robots 只屏蔽了页面。Disallow 写的是页面规则,资源路径不在其中。
- 第三方转载。图片被外站引用,外链反向指向文件地址。
哪些资源可以保留
不是所有资源索引都需要清理。产品图、可下载的规范文档、对外公开的素材,被收录本身有助于分发。真正需要收敛的通常是这几类:
- 与页面重复的中间文件,例如原图、切片图、导出稿;
- 内部使用的附件、临时上传文件、测试素材;
- 体积大的压缩包、安装包,抓取一次就占用可观的抓取预算;
- 数量庞大且无检索价值的缩略图目录。
收敛时的核对顺序
- 先关入口,再谈移除。目录列表、附件页内链、站点地图里的资源条目,是蜘蛛反复发现它们的来源,入口不关,移除请求会一直反复。
- 按路径统一设置响应头。对资源目录统一返回 X-Robots-Tag: noindex,比逐个文件处理更可控。注意 noindex 需要蜘蛛能抓到文件本身才能生效,被 robots 屏蔽的 URL 不会读取到该指令。
- 区分 robots 与 noindex 的用途。robots 控制抓取,noindex 控制索引。想阻止抓取用前者,想让已收录地址退出用后者,两者别混用成互相抵消。
- 确认资源是否被页面依赖。被引用的图片、脚本若被屏蔽抓取,会影响页面渲染与用户体验,处理前先确认引用关系。
- 观察一段时间再判断。索引更新有周期,短期内数量不变属于正常现象,不要在几天内反复修改策略。
几个容易踩的坑
一是把 robots.txt 当成清理工具,结果资源仍然留在索引里,只是内容无法被抓取,展示的是旧快照。二是给整站加上 noindex 想顺手清理附件,反而影响了正常页面。三是只删内链不做额外处理,蜘蛛仍可能通过历史记录和外部链接访问。
资源类 URL 被收录,先分清“正常分发”和“占用预算”,再决定保留还是收敛。入口、响应头、引用关系三处对齐,比逐个文件提交移除请求更省事,也更稳定。