站点运营

站点运营:HTTPS 混合内容自查,別让蜘蛛拿到半截頁面

頁面切到 HTTPS 並不等于抓取就完整了。正文里残留的 http 图片、脚本、字体和附件,會让蜘蛛拿到一份缺样式、缺内容的文档。本文梳理混合内容的常见成因、自查顺序和驗證方法,帮你把抓取环节的技術噪音降下来。

站点运营

站点运营:HTTPS 混合内容自查,別让蜘蛛拿到半截頁面

很多站点把 HTTP 換成 HTTPS 之後,就預設這件事已经做完了。但蜘蛛抓取时看到的頁面,往往不是你在浏览器地址栏里看到的那一個——只要頁面里有任何一個资源還在用 http 加载,這次抓取就可能拿到一份残缺的文档。混合内容不會让整站立刻出問题,却會让蜘蛛對頁面的完整度和可信度打折扣。

混合内容為什么值得單獨查一遍

浏览器對混合内容的處理越来越嚴格:图片、脚本、样式表、字体、视频,只要走的是不安全的 http,轻則被降級加载,重則直接被拦截。用戶端看到的是排版错乱、功能失效;蜘蛛端拿到的則可能是少了样式、少了主体内容、或者干脆只有一段占位文字的 HTML。索引一份這样的頁面,價值有限,還會消耗抓取预算。

更麻烦的是,這類問题通常不會在頁面上直接报错,只有打開開發者工具或者做一次全站抓取才會暴露出来。

常见的几種成因

  • 模板里寫死了 http 連結:主题、頁头頁脚、彈窗组件里的图片和脚本地址没有跟着协议一起改。
  • 协议相對地址:寫成以双斜杠開头的资源地址,在 https 頁面下本来是安全的,但如果頁面本身被 http 訪問,就會退回 http。
  • 正文里的外鏈图片和附件:早期發布的文章里插入的图片、PDF、压缩包,地址還停留在 http。
  • 第三方组件:統計代碼、在线客服、字体库、地图嵌入,供應商没有提供 https 版本,或者你用的還是老代碼。
  • CDN 與子域名:静態资源域名只配了 http 證书或根本没配證书,頁面主体是 https,资源却是 http。
  • 跳轉鏈路不完整:http 版本没有 301 到 https,或者只跳了首頁,栏目頁、詳情頁仍然可以双协议訪問。

自查可以按這個顺序走

  1. 用浏览器打開几個代表性頁面,看控制台里的混合内容警告,记下具体的资源地址。
  2. 用抓取工具跑一遍全站,篩選出所有以 http 開头的外鏈和静態资源引用。
  3. 检查模板文件,而不是只在資料库里搜尋,很多地址来自主题配置或组件代碼。
  4. 翻一翻老文章的正文,尤其是几年前發布的图文内容,图片地址最容易遗留問题。
  5. 確認 sitemap、robots.txt、canonical、hreflang 里寫的都是 https 域名,避免自己给出互相矛盾的信号。
  6. 確認證书覆盖所有用到的域名和子域名,並設定到期提醒,別等它過期了才被蜘蛛先發現。
  7. 確認 http 到 https 的跳轉是 301,並且覆盖全站,而不是只處理首頁。

容易漏掉的几個角落

内容里的外鏈资源

自己站内的资源好改,外部站点提供的图片和文件不好控制。如果對方只有 http,可以考虑下载到本地再引用,或者換一個可用的来源。

第三方脚本與字体

供應商是否支持 https,直接决定這段代碼能不能留在頁面上。不支持的组件,要么找替代方案,要么去掉。

子域名與 CDN

静態资源子域名、图片域名、舊站子域名,都要單獨確認證书和跳轉是否配置齐全。

HTTPS 只是基础设施,不保證收錄,也不保證排名。但一份加载完整、资源一致的頁面,至少不會因為技術問题在抓取环节被扣分。

改完之後怎么驗證

改完不要只看首頁。挑几個栏目頁、詳情頁、列表頁,重新打開控制台確認没有混合内容警告;再跑一次抓取,確認返回的 HTML 里不再出現 http 资源地址。同时观察服務器日誌,看看蜘蛛對 https 頁面的抓取是否稳定,有没有出現大量 4xx、5xx 或握手失敗。

把這一步做成定期動作比一次性修复更實际:模板更新、插件升級、換 CDN、發新文章,都可能重新引入 http 地址。每隔一段時間抽查一次,成本不高,却能避免頁面悄悄退回到半成品狀態。