现场是这样的。全站 HTTP 跳 HTTPS 用 308,老外链的权重半年没合并,新协议页面排名始终起不来,日志里 308 的响应每天几万条。

把日志和配置对完,能解释这个现象的基本就这几处。部分老爬虫和第三方工具不识别 308,直接放弃;跳转只做了一层,中间还夹着一次 302;老域名仍然能直接返回 200,没有强制跳。

第一件事是看跳转返回码和链条

curl -sIL http://www.example.com/ | grep -Ei 'HTTP/|location'

再往下改成 301 后复测

curl -sI https://www.example.com/ | head -2

剩下的就是确认老域名不再直接返回 200

curl -s -o /dev/null -w '%{http_code}\n' http://example.com/

改之前先确认了最近有没有人动过配置,避免白查一遍。

这次没动代码,只在配置和运行环境上找原因。

隔了一天再看,现象没变,说明不是偶发。

那几天正好在做别的变更,先把时间线对齐才敢动手。

怎么算真的好了,看的是同一批现象。换成 301 后两个月,新协议页面的排名逐步接近原来 http 版的位置。

308 语义上保留请求方法,对 SEO 场景没有额外好处,兼容性反而不如 301。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189