站点还保留着 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,维护两套模板的成本更高,收益却越来越小。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。