很多人检查收錄时只看 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 承载頁面,而不是孤零零一個下载地址。
把這些资源当成站点内容的一部分来規划,而不是收尾时才發現的一堆杂物,收錄資料會干净很多。