把站点切到 HTTPS 之後,很多人以為安全连接就萬事大吉。實际上,證书配置、混合内容和跳轉方式里的细节,會直接影响蜘蛛能不能顺利抓到頁面。蜘蛛在請求一個 URL 时,如果先遇到證书错誤,通常不會像浏览器用戶那样点“繼續訪問”,而是直接终止這次抓取。结果就是頁面在日誌里看起来“没被抓”,但問题並不在内容。
蜘蛛為什么會在 HTTPS 环节停下
蜘蛛對 HTTPS 的判断比較直接:證书是否有效、域名是否匹配、證书鏈是否完整、服務器是否支持目前客戶端。任何一項不满足,請求就可能失敗。這里不需要讨论“蜘蛛是否收錄”,而是先保證门能打開。
還有一類問题更隐蔽:頁面本身是 HTTPS,但里面引用了 HTTP 的图片、脚本或样式。浏览器會提示“混合内容”,有些资源被拦截,頁面渲染不完整。蜘蛛看到的内容可能缺图、缺样式,甚至缺關键文本。
證书自查:先看四個硬指标
- 有效期:證书是否临近過期,是否已经過期。過期證书會让抓取直接失敗,最好在到期前留出足够的更換窗口。
- 域名匹配:證书覆盖的域名是否包含實际訪問的域名,包括带 www 和不带 www 的版本。如果只簽了一個,另一個就可能报错。
- 證书鏈:中間證书是否完整部署。有些桌面浏览器能自動补全,但蜘蛛和部分客戶端不一定能。
- 协议與套件:服務器是否關閉了過舊协议,同时没有把蜘蛛常用的 TLS 版本一並挡掉。改完要實际請求驗證。
混合内容自查:別让頁面只加载一半
混合内容常出現在老站点或第三方资源上。可以按资源類型逐個检查:
- 图片和媒体文件是否仍用 HTTP 地址。
- JavaScript 和 CSS 是否從 HTTP 引入。
- 字体、图标、iframe 是否混用协议。
- 站内連結和表單提交地址是否指向 HTTP。
浏览器控制台會列出被阻止的混合内容,抓取工具和日誌也能看到资源請求失敗。把资源地址统一改成相對协议或直接寫 HTTPS,能减少這類問题。
跳轉與 HSTS:別让蜘蛛多跑几趟
HTTP 到 HTTPS 的跳轉建议用 301,並且尽量一步到位。常见問题是先跳不带 www 的 HTTP,再跳带 www 的 HTTPS,最後又跳一次带斜杠的版本,形成跳轉鏈。蜘蛛虽然能跟,但會多消耗一次請求,也容易在鏈路中間丢失信号。
如果已经啟用 HSTS,要確認所有子域名都准备好了 HTTPS。HSTS 一旦下發,浏览器會强制走 HTTPS,如果某個子域没有證书,用戶和蜘蛛都會直接訪問失敗。上线前先在測試环境驗證,再逐步扩大 max-age。
一份可执行的自查清單
- 用命令行或在线工具检查證书有效期、域名匹配和證书鏈。
- 打開頁面控制台,確認没有混合内容拦截记錄。
- 检查站内主要入口是否從 HTTP 301 到 HTTPS,且跳轉不超過一次。
- 確認 sitemap、robots.txt 和内部連結里寫的都是 HTTPS 地址。
- 查看服務器日誌,篩選 TLS 握手失敗和 5xx 相關請求。
- 如果用了 CDN,確認回源协议和邊缘證书也正常。
HTTPS 不是一次性配置,而是會随證书到期、资源更換和域名調整而變化的狀態。把它放進定期巡检,比出事後再排查更省力。
最後提醒一句:證书和混合内容問题不會直接决定排名,但它們會决定蜘蛛能不能正常拿到頁面。门都打不開,後面的内容優化就無從谈起。建议把證书到期日、跳轉規則和混合内容检查寫進站点运维清單,按固定周期過一遍。