先说清楚:非 HTML 资源也會被索引
很多站点讨论收錄时,預設對象是 HTML 頁面,但搜尋引擎抓取和索引的范围並不限于網頁。图片、PDF、Word 和 Excel 文档、压缩包,甚至音视频文件,都可能被抓取。它們的去向不完全一样:图片通常進入图片搜尋索引,PDF 和文档類文件則可能進入網頁索引,在搜尋结果里以一條獨立的連結出現,带标题、摘要和跳轉地址。
這里有個常见誤解要先纠正:图片被收錄,不等于它所在的頁面被收錄;頁面没被收錄,也不代表頁面里連結的那份 PDF 没被收錄。两套索引的评估逻辑和刷新节奏不同,排查时不要混在一起看。
它們是怎么被發現的
- 頁面里 img 标簽的 src 属性、a 标簽指向的文件地址,是最主要的入口;
- XML sitemap 中列出的文件地址,图片類资源還有专门的扩展格式;
- 外鏈直接指向文件本身,例如別人引用你網站上的某份报告;
- CDN 或静態目錄被意外開放了目錄浏览,導致文件被成批遍歷。
被發現之後,是否被抓取取决于連結位置、文件大小、抓取预算和服務器响應速度。文件体积越大,抓取成本越高,排队時間也越長。
什么情况下值得管
不是所有文件都需要處理。先做一次分類,大致可以分成三组。
- 應该被搜到的:产品手册、公開报告、說明书。這類文件本身就是内容资产,收錄是好事,只需要保證連結形式统一、文件可訪問、标题等元資料能看懂。
- 無所谓也不碍事的:装饰性图片、图标、頁面背景图。它們進图片索引通常没什么影响,除非數量巨大或被大量重复引用。
- 不该公開出現的:舊版报價單、内部培训材料、測試用演示文件、带客戶信息的表格。這類才是真正需要收口的對象。
判断顺序建议是:先確認文件是否應该公開,再確認它是否應该出現在搜尋结果里,最後才處理多個地址指向同一文件的問题。顺序颠倒,很容易把精力花在無關紧要的图标上。
收口手段與各自邊界
robots.txt
Disallow 能阻止抓取,但它不负责把已经索引的地址移除。已经被收錄的文件,即使之後被禁止抓取,搜尋结果里仍可能保留那條連結,只是摘要和快照會逐渐失效。要真正清掉,通常需要配合文件本身返回错誤狀態碼。
X-Robots-Tag 响應头
這是非 HTML 文件少數可用的 noindex 手段之一。它在 HTTP 响應头里生效,對 PDF 等文件通常有效,但支持程度和生效速度不如 HTML 的 meta robots 稳定。關键一点:不要以為把 noindex 寫在 HTML 頁面的 head 里就能管住那份 PDF,两者根本不是同一個文件。
替換、刪除與狀態碼
對過期文件,最干净的做法是從服務器上撤回文件,让地址返回 404 或 410。對仍有價值但内容已更新的文件,直接在同一地址替換新版本,比新增一個带年份後缀的副本更好——後者會長期累积成一批内容相近的舊文件,既占抓取资源,也容易让用戶在搜尋结果里点進過时版本。
统一連結形式
同一份 PDF 常出現多個地址:主站域名、CDN 域名、带追踪參數的下载連結、大小寫不同的路径。這些都會被各自抓取和索引。收口方式是站内只引用一個地址,下载入口不要拼接無關參數,避免把 CDN 域名直接暴露在頁面連結里。
经驗上,非 HTML 资源的問题很少是「被發現得太少」,更多是「被發現得太杂」。先把同一文件的多個地址收敛成一個,再谈要不要收錄。
怎么观察
- 用 site: 查询加文件後缀,看看哪些文件進了索引,标题和摘要被顯示成什么样;
- 在抓取日誌里筛出文件類請求,看抓取频率和响應碼,判断有多少抓取被大文件占掉;
- 對比服務器上的實际文件清單與索引里的地址,找出文件已经刪除但索引仍在的那批。
观察的重点不是數量,而是那些既不该公開、又确實能被搜到的文件。這類問题一般不會自己消失,只會随着時間被更多人搜到。