站点还保留着 AMP 版本,AMP 页 canonical 指向标准页,标准页又标了 amphtml,两边收录都很少。

真正麻烦的地方在于,几个原因的现象几乎一样。谷歌已弱化 AMP 的展示优先级;两套模板内容不一致,被判为不同页面;amphtml 指向的地址已经 404。

先检查标准页上的 amphtml 是否有效

curl -s https://www.example.com/a/ | grep -i amphtml

随后确认 AMP 页的 canonical 指向标准页

curl -s https://www.example.com/amp/a/ | grep -i canonical

不再维护时直接下线 AMP 并 301

rewrite ^/amp/(.*)$ /$1 permanent;

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

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

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

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

恢复的判定其实很直接。标准页收录恢复正常,AMP 相关的报错消失,移动端流量没有明显变化,反而少了模板同步的维护成本。

这里还有个坑。AMP 已经不是必需项,如果只是为了速度,优先优化 Core Web Vitals,维护两套模板的成本更高,收益却越来越小。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189