很多人检查收录时只看 HTML 页面,结果在索引里发现一堆 PDF、图片甚至表格附件的地址。这些资源同样会被搜索蜘蛛抓取和入库,只是它们的处理逻辑和普通网页不太一样。把它们当成一回事来管,往往会出现两种尴尬:该进索引的附件一直没被发现,不该进索引的下载地址却反复被抓。
它们是怎么被发现的
非 HTML 文件进入索引,通常有两条路径:一条是页面上的链接,比如 a 标签直接指向 PDF、img 标签加载图片;另一条是 sitemap 或其他 XML 文件里写的地址。只要 URL 能请求到、返回 200、内容不是乱七八糟的二进制噪声,蜘蛛就可能把它带走。图片还会通过 srcset、picture 标签被额外发现,有时同一张图会以多个尺寸的地址出现。
不同资源的待遇不一样
- 图片:多进入图片搜索,原页面仍在,图片作为一个独立结果出现。文件名、alt 文字、周边正文会影响它被理解成什么内容。
- PDF:会被当作文档处理,有机会出现在网页搜索结果里。带文字层的 PDF 能读出正文;扫描件本质是一张张图片,几乎读不出有效文字。
- 视频:通常需要一个 HTML 播放页来承载,裸的视频文件较难独立获得像样的结果。
- Office 文档、压缩包:能被抓取,但即使进了索引,对用户的可用性也有限,下载链接反而可能被反复请求。
想让某个附件被收录
- 用普通链接指向它,而不是只用 JavaScript 点击事件触发下载。
- 把附件放进 sitemap,或从一个稳定的页面长期链接过去。
- 文件名用可读的英文或拼音,避免一长串哈希。
- PDF 尽量导出带文字层的版本,扫描件额外补一份可读的 HTML 摘要页。
不想被收录时的控制顺序
先分清是“不想让搜索引擎抓取”还是“抓取无所谓、只是不想进索引”。前者用 robots.txt 屏蔽对应目录;后者用 X-Robots-Tag 响应头或页面级的 noindex。注意 robots.txt 只拦抓取、不拦收录,这个区别在附件上同样成立——屏蔽了抓取,如果别处有链接,地址仍可能出现在索引里。更省事的做法是把下载类文件集中在固定目录下统一处理,比零散地逐个加规则更容易维护。
更常见的做法:给附件配一个 HTML 落地页
把 PDF、表格的用途、目录、适用场景写成一个正常网页,附件作为页面里的下载项。这样用户搜索时落到的是可读的页面,附件本身是否进索引就不那么关键了。反过来看,如果一个附件长期没有任何页面链接它,它也很难被稳定发现。
索引里出现一批附件地址并不等于站点出了大问题,但如果这些地址长期消耗抓取次数、又没有对应的可读页面,就该考虑收口了。
自查可以按这个顺序
- 在搜索结果里用 site:你的域名 filetype:pdf、filetype:xls 这类方式,看有哪些漏网的地址。
- 翻日志里这些扩展名的抓取频率,判断是否被反复请求。
- 检查 robots.txt 有没有误伤图片目录,整站图片被屏蔽是常见的误操作。
- 确认重要的附件都有可读的 HTML 承载页面,而不是孤零零一个下载地址。
把这些资源当成站点内容的一部分来规划,而不是收尾时才发现的一堆杂物,收录数据会干净很多。