做收錄盘点时,经常會遇到一種情况:内容頁數量没怎么變,索引量却比预期高出一截。把索引里的 URL 按扩展名或路径特征筛一遍,往往發現多出来的部分是图片、PDF、附件下载、音视频文件這類非 HTML 资源。它們能被抓取,也能被單獨建立索引條目,只是站点通常没打算让它們以這個身份出現在搜尋结果里。
為什么非 HTML 资源會獨立進索引
只要一個 URL 能被爬虫正常請求、返回正常狀態碼、又没有指令明确拒绝,它就有机會被單獨處理。图片、PDF、Office 文档、音视频文件都符合這個條件。站点平时把注意力放在内容頁上,而這些文件往往是編輯器、附件模块、導出功能自動产生的,既没有導航入口,也没有任何索引信号,于是就成了没人管但确實存在的一批 URL。
要不要處理,關键看這個资源本身有没有獨立價值。产品說明书 PDF 可能真的有人直接搜;頁面缩略图、临时導出的表格、後台上传的中間文件通常没有。有價值的不必强行清理,没有價值的才需要收口。
核對顺序:從盘点走到處置
- 先按類型統計,不要凭感觉:把索引报告或抓取日誌里的 URL 按扩展名(.pdf、.jpg、.docx)和路径特征(/uploads/、/tmp/、/export/)分桶,看清多出来的量級和来源,再决定要不要動手。
- 区分内容本体和内容附件:同一篇文章的配图,和一份獨立對外的文档,處理方式完全不同。前者一般不需要獨立索引,後者可能值得保留,甚至應该把文档属性里的标题一類信息寫清楚。
- 確認有没有真正的内鏈入口:如果一個附件只是被站点地图或某個列表模板批量带出,没有任何人工维護的連結指向它,價值通常很低。反過来,被正文反复引用的附件,清理前要谨慎。
- 選對屏蔽方式:只想阻止後續抓取,用 robots.txt 就够;如果资源已经被收錄,robots.txt 無法让它從索引里消失,反而會让爬虫看不到頁面上的 noindex。這種场景更适合用 X-Robots-Tag 响應头,對 PDF 等非 HTML 文件同样有效;確認不再需要的,也可以直接返回 404 或 410。
- 顺手检查站点地图和批量模板:很多附件被收錄,根源是 sitemap 生成逻辑把上传目錄一並包含,或者列表頁把所有附件都渲染成連結。不從源头收口,今天清理完,明天又會生成一批。
- 留出观察窗口,分批驗證:先在一類资源上做改動,過一段時間再看索引报告里這類 URL 的數量變化,確認有效再推廣到其他類型,避免一次性大面积改動後無法判断到底是哪一步起了作用。
容易踩的几個坑
- 用 robots.txt 屏蔽已经收錄的资源,以為能顺带清掉索引,结果索引條目還在,後續排查也看不到真實狀態。
- 把有價值的文档和垃圾附件一刀切,损失了本来能带来的訪問。
- 只處理了 URL 本身,没處理生成這些 URL 的模板和上传流程,問题反复出現。
- 忽略了文件命名和替代文本,即使保持收錄,也没有可用的信息支撑展示。
非 HTML 资源的處理原則和普通頁面一致:先判断它有没有獨立價值,再决定保留、規范化還是移除。屏蔽抓取和移除索引是两件事,不要混着做。
處理之後需要關注什么
观察的指标不必复杂:這類 URL 在索引报告中的數量趋势、抓取日誌里對應目錄的請求占比,以及核心内容頁的抓取频次有没有變化。抓取预算是有限的,把没有價值的资源從抓取队列里挪開,通常能让真正重要的頁面获得更多訪問机會。但這是一個逐步顯現的過程,不要期待改動後立刻出現明顯波動,也不要因為短期没有變化就频繁反复調整策略。