很多站点在做抓取自查时,會把注意力全部放在文字頁面上,图片和视频則被預設為“蜘蛛不在乎”。實际情况没那么简單:图片是頁面内容的一部分,也是 URL 發現的一部分。当一批图片只以占位符的形式出現在 HTML 里,蜘蛛看到的就是一個内容稀薄的頁面;当图片地址被規則挡住,頁面就少了一批本来可以被發現的 URL。
下面這份清單不涉及任何排名技巧,只解决一個具体問题:让媒体资源的地址真實出現在可以被抓取的位置。
图片為什么會進入抓取检查的范围
大致有三個原因。第一,图片地址本身就是 URL,會進入抓取队列,也占用抓取预算。第二,图片的 alt 文本和周邊文字,是蜘蛛判断頁面主题的辅助信息。第三,图集頁、商品頁、教程頁往往以图為主,如果图片没有被正确暴露,這類頁面的可见内容會明顯缩水。
五個需要逐項確認的点
一、HTML 里有没有真實的图片地址
懒加载是最常见的坑。当图片寫成 data-src,或者由脚本在滚動时才注入地址,初始 HTML 里就只有占位符。蜘蛛不一定會滚動頁面,也就不一定看得到真實地址。可以查看頁面源代碼,搜尋一下图片所在域名,看看首屏之外的图片出現了多少。如果數量几乎為零,就需要给懒加载加一层降級:用 src 放一張低质量占位图,真實地址放在 srcset 或 noscript 中;至少保證正文中的關键图片是直接寫在 HTML 里的。
二、图片地址本身能不能被抓
地址存在不等于能拿到内容。常见情况有:robots.txt 里整目錄屏蔽了 /images/ 或 /uploads/;防盗鏈規則對非本站来源直接返回 403;图片放在另一個域名下,而那個域名的抓取規則没有跟着一起調整。抽几張有代表性的图片直接請求一次,看看返回的是 200、403 還是跳轉,比在後台猜要可靠得多。
三、给图片一條被發現的路
图片站点地图是成本最低的做法,把重要图集頁、商品图、示意图的地址按規范列進去,能让這批 URL 不必只依赖頁面上的連結被發現。同时检查图集頁本身:分頁是否可点、缩略图是否指向詳情頁、有没有把整個图集塞進一個脚本加载的彈层里。图集頁的問题和列表頁類似,一旦入口都藏在脚本中,蜘蛛就只能在第一頁打轉。
四、alt 與文件名:给图片一点语义
alt 不需要堆關鍵詞,但需要描述图片内容。更值得检查的是批量複製的痕迹:同一套模板生成的几百張图,alt 全部寫成“产品图片”,文件名全部是 1.jpg、2.jpg。這類做法未必带来直接惩罚,但它让图片信息完全同质化,也让人工排查时無從下手。至少让文件名能對應到具体内容,例如把主图從 IMG_2031.jpg 改成能看懂的名字。
五、体积與响應
图片体积直接影响頁面加载,也間接影响蜘蛛一次能抓多少頁。同一張图按场景上传几種尺寸,前端按需調用;開啟图片压缩與合适的缓存头;把大图放到 CDN 上並確認 CDN 對蜘蛛的响應正常。這里的目标不是做到极致,而是避免單個頁面几 MB 的图片把服務器带宽占满。
一個可以按顺序执行的复核流程
- 選三個有代表性的頁面:一個图集頁、一個詳情頁、一個首頁。
- 查看源代碼,確認首屏之外的图片地址是否出現在 HTML 中。
- 抽五張图片地址逐個請求,记錄狀態碼和响應体大小。
- 检查 robots.txt 與防盗鏈規則,確認没有整目錄誤伤。
- 更新图片站点地图,之後在抓取日誌里观察图片地址的抓取情况。
- 把發現的問题记進清單,下個季度再复核一次。
媒体资源的問题通常不會立刻表現為流量波動,它更像是長期低效:该被發現的地址没有被發現,该被理解的頁面少了一半信息。定期花半小时查一遍,比等到出問题再回头补要省事得多。
最後提醒一句:這類自查的结论只代表你這邊地址可抓、内容可讀,具体的抓取與展示由搜尋引擎决定,不需要也不應该用固定周期去套。把清單跑通、把明顯的問题修掉,剩下的交给時間。