很多站点把 PDF、压缩包、安装包放在網站上供用戶下载。這些文件的連結往往随手加在正文、侧栏或頁脚里,時間一長,附件目錄可能攒了成百上千個文件。對搜尋蜘蛛来说,它們同样是可抓取的 URL,會消耗带宽和抓取配額,還可能把一些本不该公開的文件带進索引。
先弄清附件為什么會被抓
- 下载頁或文章里直接给出文件連結,蜘蛛顺着連結就能到達。
- 服務器開啟了目錄列举,訪問附件目錄时會列出全部文件。
- 文件曾出現在 XML 站点地图或 RSS 里,被一起提交。
- 老文件被外部頁面引用,形成了站外入口。
這几種情况叠加起来,附件請求在日誌里占的比例可能比正文頁還高,值得單獨拿出来梳理一遍。
给附件分個類再動手
治理的第一步不是屏蔽,而是分類。大致可以分成三類:
- 有检索價值的文档:白皮书、产品說明书、行业报告、規范文档。用戶會主動搜尋這類内容,值得保留入口。
- 纯下载资源:安装包、素材压缩包、導出表格、批量資料文件。用戶通常通過站内連結获取,没有獨立检索需求。
- 内部或临时文件:測試文件、舊版本、客戶资料、备份。原則上不應该让它們出現在公網上。
让有價值的文档有落地頁
PDF 被索引时,搜尋结果里展示的往往是文件标题或前几頁文字,用戶看不到站点名稱、相關推荐和更新日期,轉化路径很長。更稳妥的做法是给每份重要文档配一個 HTML 頁面:一句說明、适用场景、更新日期、下载按钮,正文里寫清文档要点和常见問题。
文件本身要不要參與索引,可以按情况選擇。如果同一份内容既有落地頁又有文件,可以考虑给文件加 X-Robots-Tag: noindex 响應头,让落地頁承担检索入口;如果文档本身有明顯搜尋需求,比如某型号的說明书,保留它的索引也没有問题,但建议在文件里补好标题、作者、目錄等元資料,方便用戶判断内容。
不需要索引的附件怎么處理
- 在 HTTP 响應头里加 X-Robots-Tag: noindex。PDF、图片、压缩包這類非 HTML 文件,頁面里的 meta 标簽不起作用,只能靠响應头。
- 用 robots.txt 的 Disallow 挡掉對應目錄。注意它只阻止抓取,不保證已收錄的 URL 從索引里消失,通常需要配合 noindex 或移除申請。
- 關閉目錄列举,避免訪問目錄路径时把全部文件列出来。
- 把备份、導出和内部资料移出網站根目錄,或者加上訪問認證。
這四條可以叠加使用,但不要一次性全部打開。建议先在測試环境或單個目錄上驗證,確認不會誤伤正常下载。
版本與舊文件的處理
同一個文件反复更新,容易出現 v1、v2、最终版、最终版2 這類 URL 堆积。两種思路各有取舍:固定文件名加覆盖更新,URL 稳定,外部連結指向的始终是新内容,但要確認缓存策略是否能让用戶拿到新版本;版本号寫進文件名,歷史版本保留完整,舊文件則應该 301 到新版,或者用 410 明确下线。
需要避免的是两個版本同时可訪問、内容又不一致,用戶和蜘蛛都分不清哪個才是目前版本。
用日誌和資料回看效果
調整之後,隔一段時間翻一遍服務器日誌,重点看几個數:附件請求在總請求里的占比、被反复抓取的附件是否有更新價值、大文件是否集中在某個時間段被抓、403 和 404 是否明顯變多(可能是屏蔽規則寫過头了)。這些資料比主观感觉可靠,也能帮你判断下一步该收紧還是放松。
抓取资源是有限的,但附件治理的目标不是把文件全部藏起来,而是让该被找到的文档有清晰的入口,让纯下载资源安静地待在下载連結後面。
最後提醒一句:robots.txt、noindex、訪問控制都只是告诉蜘蛛该怎么處理你的站点,並不构成收錄或排名的保證。附件治理真正能拿到的收益,是减少無效抓取、降低带宽浪費、让用戶更容易找到想要的文档。