用站点查询命令或站長工具看收錄时,大多數人只盯着 HTML 頁面,把返回的地址一律当成"網頁"来讀。但只要把结果拉出来按文件類型排一遍,常常會發現里面混着不少 PDF、DOC、XLS、图片、压缩包,甚至是接口返回的 JSON 或 XML。這些地址不是不能出現在索引里,問题在于它們會悄悄影响你對收錄状况的判断,也可能占用本该给内容頁的抓取額度。
為什么要把文件類型單獨分出来
收錄數量是一個總數,而總數里混了不同性质的東西,就没法直接下结论。假设某站索引里有 5000 條地址,其中 800 條是产品手册 PDF、300 條是大图、還有几十條是導出报表,真正的内容頁其實只有 3900 條左右。如果按 5000 去算收錄率、去對比同行,參考意义就打折了。分開看之後,你才能回答"我關心的是哪些頁面的收錄",而不是笼统的一個數字。
索引里常见的非 HTML 地址
- 产品手册、白皮书、报價單等 PDF 文件,通常是运营或销售直接上传到服務器上的。
- 图片文件,常见于图库站、素材站,或者頁面上寫死了大图地址而被外鏈引用。
- 表格、PPT、压缩包等下载资源,尤其在有"资料下载"栏目的站点。
- 接口或資料文件,例如 .json、.xml、.csv,多由前端异步請求暴露,或 sitemap 生成脚本誤提交。
- 後台導出的文件、測試文件,比如 /export/、/tmp/、/test/ 目錄下的残留资源。
它們是怎么被蜘蛛發現的
常见路径有這么几條:一是這些文件被直接寫在頁面上做下载連結,蜘蛛顺着 a 标簽就進来了;二是 sitemap 里把下载资源也一起提交了;三是文件被外部站点引用,蜘蛛從外鏈過来;四是服務器開啟了目錄列表浏览,蜘蛛在某個目錄下把所有文件都爬了一遍。還有一種情况是舊版本的静態文件没有清理,仍然能被直接訪問。
先別急着屏蔽。要弄清這些文件是"业務需要的下载入口"還是"歷史遗留的可訪問文件",處理方式完全不同。前者需要考虑替代方案,後者才适合直接挡掉。
核對步骤
- 拉出一份索引地址清單,按扩展名或响應類型分组,統計每類的數量和占比。
- 把非 HTML 類地址和站点目錄對照,标出它們属于哪個栏目、由谁上传、是否還有頁面連結指向。
- 抽查几條訪問一次,看返回的内容是不是真的需要被搜到,還是下载中轉或導出的中間产物。
- 確認這些地址是否在 sitemap 里、是否被内鏈指向、是否有外鏈在引用。
- 把结论寫成一張表:保留、改成 HTML 落地頁、加 X-Robots-Tag、robots.txt 屏蔽、直接刪除。
怎么處理更稳妥
业務上确實需要提供下载的资源,可以考虑做一個 HTML 落地頁来承接搜尋流量,把 PDF 只作為頁面里的下载連結。這样用戶搜到的是一段有說明、有上下文的頁面,而不是一個打開就下载的文件。落地頁也能承载标题、描述和内鏈,比裸文件更可控。
不希望出現在索引里的,按這個顺序處理:
- 能删就删。歷史遗留的測試文件、導出文件、舊版本资源,直接從服務器清掉最干净。
- 不能删又不想被索引的,用 X-Robots-Tag: noindex 响應头處理。注意 noindex 要能被蜘蛛抓到才生效,所以不要在 robots.txt 里同时屏蔽這些地址,否則蜘蛛根本看不到 noindex。
- 确實不需要抓取的目錄,例如後台導出目錄、临时目錄,用 robots.txt 的 Disallow 挡掉,同时確認没有頁面連結繼續指向它們。
- 检查 sitemap,把非内容類资源從提交列表里去掉,只留需要被搜尋的頁面。
- 關閉服務器目錄列表功能,避免蜘蛛顺着目錄把整批文件爬走。
分開看之後,統計才有意义
按文件類型分完,再回头看收錄資料,你會發現几個變化:内容頁的收錄率可能比之前算的高,也可能暴露出某些栏目其實一條都没被收。抓取日誌里的蜘蛛訪問,也常常有相当一部分落在這些非 HTML 地址上,把它們挡掉之後,留给内容頁的抓取額度往往會宽松一些。
這個動作不大,但能让後面所有的判断建立在同一套口径上。先分清索引里装的是什么,再谈收錄够不够、要不要补内容,顺序會顺很多。