大多数站点在讨论URL发现时,注意力都放在文章页和栏目页上,而PDF、压缩包、表格模板、图片原图这类附件资源,往往被默认成“顺便就能被抓到”。实际情况是,这些资源的入口常常藏在下载按钮、弹窗或者后端接口里,搜索蜘蛛走不到,用户也很难通过链接分享出去。
为什么附件链接经常断在入口上
页面上的下载行为,实现方式差别很大。有的站点用一个普通超链接直接指向文件地址,蜘蛛顺着 href 就能走到;有的站点用按钮加脚本监听,点击之后才动态拼接地址并触发下载,页面源码里没有任何可抓取的URL。前者天然可发现,后者基本等于把资源藏了起来。差别不在文件本身,而在于它有没有被写成一条链接。
几种常见但容易忽略的情况
- 下载按钮只绑定了脚本事件:源码中看不到文件地址,抓取工具拿不到入口。
- 资源目录被整体屏蔽:早期为了省流量,把 /uploads 或 /files 整段写进 robots.txt 的 Disallow,结果文件全部无法被发现。
- 文件挂在独立CDN域名上:地址与主站不同域,主站的站点地图、内链、面包屑都覆盖不到它。
- 文件命名随意:一长串哈希值或者编码混乱的字符,地址本身没有语义,分享出去也不易辨认。
- 同一文件存在多个地址:带版本号、带时间戳、带下载来源参数,产生一批内容相同但URL不同的近似重复页面。
- 响应头直接触发下载:返回头里带了 attachment,浏览器不渲染,爬虫对这类响应的处理表现也各不相同。
让附件资源重新回到可发现范围
处理思路和普通页面是一套逻辑,只是需要有人专门盯一下附件这条线。
- 为重要的文件配一个稳定的详情页或列表条目,页面上用普通超链接指向文件地址,而不是只放一个按钮。
- 在栏目页、正文、相关推荐里做适当的内部链接,保证每个文件至少有一条可被抓取的路径,避免形成孤岛。
- 检查服务器配置,确认文件目录没有被 robots.txt、X-Robots-Tag 或访问权限挡住。
- 把有价值的PDF、文档、原图补充进站点地图,必要时使用站点地图的图片或视频扩展。
- 统一文件命名规则,去掉随机串;同一份内容只保留一个规范地址,其余做跳转或不再对外暴露。
- 文件托管在独立域名时,留意该域名的解析、证书与超时设置是否稳定,避免蜘蛛到这里就停下。
不必强求每个附件都被收录
并不是所有附件都值得出现在搜索结果里。安装包、内部报表、体积很大的视频,即使被收录,带来的多半也是无效流量,还会占用抓取资源。真正需要投入的是那些对用户有参考价值、能被稳定引用的文件:规范文档、模板、样例数据、说明手册。对这部分资源,入口清晰、地址稳定、响应及时,比单纯追求数量更有意义。
附件资源的URL发现,和普通页面遵循同一套规则:有一个能被顺着走到的链接,地址尽量唯一稳定,服务器不要中途拦截。区别只在于,页面通常有人持续维护,而附件往往是运营中被遗忘的那一部分。