站点从 HTTP 切到 HTTPS 之后,很多事情并不会自动变好。证书到期、页面里混着旧协议的图片和脚本、HTTP 与 HTTPS 长期并存,这些问题往往不会立刻报错,却可能在爬虫访问时表现为「抓到的页面不完整」或「同一内容两套地址」。这篇把 HTTPS 相关的自查点集中捋一遍,适合在改版、换服务器、续费证书前后对照检查。
先看证书本身
证书是整条链路的地基,如果它有问题,后面的页面优化都无从谈起。重点看三件事:有效期、域名覆盖、证书链是否完整。
- 有效期:证书到期是最常见的翻车原因。建议在到期前 30 天设置提醒,而不是等浏览器弹出警告才处理。
- 域名覆盖:确认证书包含主域名、www 子域名,以及你实际用到的其他子域。只签了 example.com 却让蜘蛛访问 www.example.com,就会出现证书不匹配。
- 中间证书:有些服务器只装了站点证书,没有装中间证书。桌面浏览器可能自动补链,但爬虫和一些老客户端不会,结果是握手失败。可以用在线工具或本地命令检查链是否完整。
HTTP 与 HTTPS 是否都能打开
切到 HTTPS 之后,原 HTTP 地址不应该继续返回 200 并输出完整内容。理想状态是:HTTP 全部 301 到对应的 HTTPS 地址,且只跳一次,不做多级跳转。
常见问题是只跳了首页,栏目页和内页的 HTTP 版本仍然可访问,于是同一篇内容存在两个地址,权重和抓取都分散了。检查方法很简单:随机抽几条内页,手动把 https 改成 http 看返回码。
混合内容:页面看着正常,抓取可能不完整
混合内容指 HTTPS 页面里引用了 HTTP 资源,比如图片、JS、CSS、字体或 iframe。浏览器会拦截部分资源,页面看起来「样式丢了」或「图片裂了」,蜘蛛抓到的版本也可能缺内容。
排查思路可以按这几个方向走:
- 用开发者工具的 Network 面板,筛选 http:// 开头的请求,逐条确认来源。
- 重点检查编辑器留下的富文本内容、第三方统计代码、CDN 上引用的老资源。
- 数据库里存了大量 http:// 链接时,批量替换要谨慎,先备份再操作。
HSTS 要谨慎开启
HSTS 告诉浏览器「以后这个域名只用 HTTPS 访问」。它能减少跳转、提升安全性,但一旦开启并附带较长有效期,回退成本很高:如果证书出问题,用户在有效期内可能无法通过点击「继续访问」绕开警告。
建议先确保全站 HTTPS 稳定运行一段时间,再开启 HSTS,并且先从较短的有效期开始,确认无误后再逐步延长。
一份可执行的检查顺序
- 检查证书有效期与域名覆盖,确认中间证书完整。
- 抽查首页、栏目页、内页的 HTTP 版本是否 301 到 HTTPS。
- 确认 www 与非 www、大小写等变体最终都指向同一个地址。
- 排查页面内是否还有 http:// 资源引用。
- 检查 Sitemap、robots.txt、canonical 里的地址是否都已统一为 HTTPS。
- 观察一段时间日志,看是否还有大量请求落在旧协议地址上。
HTTPS 不是一次性任务。证书会到期,页面会被编辑,第三方代码会被更换。把这些检查点放进改版清单或季度巡检里,比出事之后临时补救省力得多。
安全协议的配置本身不直接决定排名,但它影响蜘蛛能否稳定、完整地拿到你的页面。把基础打牢,后面的内容和结构优化才有意义。