平时讨论 URL 發現,預設说的是 HTML 頁面:首頁点進去、栏目頁展開、Sitemap 列出来。但站点里還有另一類地址——图片、PDF、视频、音频等附件。它們同样有 URL,也會進入抓取队列,只是發現路径和普通頁面不太一样。
资源 URL 從哪里被看到
搜尋蜘蛛發現资源地址,主要靠几個入口,優先級和頁面類似,但更依赖“被引用”這件事。
- 頁面里的 img src、video src、source srcset,解析 HTML 时直接拿到。
- 指向资源的連結,比如 a href 指向某個 PDF,會被当作普通連結處理。
- 图片和视频 Sitemap 扩展,主動声明资源與所属頁面的關系。
- 站外引用或直接提交,量少但存在。
對多數站点来说,前两項承担了绝大多數资源發現工作。资源 Sitemap 是补充,不是替代。
頁面内引用是最稳的入口
只要资源出現在 HTML 的 src 或 href 里,抓取路径就成立。實际操作中有两点容易被忽略。
懒加载別把地址藏起来
很多图片用 data-src 占位,真正的地址由脚本在滚動或進入视口时寫入 src。搜尋蜘蛛执行脚本的能力有限,尤其在大批量頁面里。比較稳的做法是首屏图片用原生 src,非首屏保留 noscript 或至少让 src 在服務端渲染时就存在。
別用重定向绕路
把图片地址先跳到 CDN 再跳一次,會让抓取多走一步,也可能因為中間响應慢被放弃。资源地址尽量一步到位,减少不必要的跳轉。
资源型 Sitemap 怎么用
图片和视频可以在頁面 Sitemap 里用扩展标簽声明,也可以單獨放一個资源較多的頁面 Sitemap。它解决的是“頁面被發現了,但资源没被解析到”的情况。
- 图片 Sitemap 需要给资源的绝對 URL,並挂在對應的頁面 URL 下。
- 视频 Sitemap 除了地址,還要填缩略图、时長等基础信息。
- 资源 Sitemap 的 url 數量不要超過常規限制,分片逻辑和普通 Sitemap 一致。
Sitemap 只负责告诉蜘蛛“這里有個资源”,能不能被選用,仍取决于资源本身和頁面上下文。
资源文件和頁面是两種索引
图片通常進入图片搜尋的索引,和頁面索引分開;PDF 有可能被当作獨立落地頁出現在搜尋结果里;视频則更多依赖承载它的頁面。理解這一点對运营策略有帮助:图片優化重点在文件名、周邊文字和頁面主题;PDF 重点在标题、内容质量和是否值得作為單獨入口。
獨立域名和 CDN 上的资源
资源放在獨立域名或 CDN 时,抓取會遇到額外變量。robots.txt 是否放行、DNS 解析是否稳定、响應時間是否够快,都會影响资源被抓取的概率。如果资源域名對搜尋蜘蛛返回 403 或频繁超时,頁面里的引用再完整也没有用。
用日誌核對资源抓取
在服務器日誌里按图片、PDF 後缀過滤,能看到蜘蛛是否真的来取過。重点看三個東西:狀態碼是不是 200、响應時間是否正常、同一资源是否被反复抓取却從不變化。如果资源長期不被抓,先回到頁面 HTML 里確認地址是否真實存在。
资源 URL 的發現没有太多技巧,核心還是“地址能被解析到、服務器能正常响應”。把這两件事做稳,剩下的交给抓取节奏。