阅读提示
本文约 780 字,预计阅读 2 分钟。文中命令与配置均经过实测,可直接参考执行。
本文约 780 字,预计阅读 2 分钟。文中命令与配置均经过实测,可直接参考执行。
引言:改版后某语言死链一堆
多语言站改动多,手动测不过来。用自动化脚本定期巡检语言切换、hreflang、死链、结构数据,集成 CI 或定时任务,问题早发现。
原理分析:测什么
- 语言切换:每页各语言 URL 可访问(200)。
- hreflang:每页双向+自引用+x-default(见实现篇)。
- 死链:全语言 URL 状态码非 200/软 404。
- 结构数据:本语 inLanguage(见 Schema 篇)。
保姆级实操
巡检脚本(示意):
for url in $(cat all_urls.txt); do
for lang in zh en de; do
code=$(curl -s -o /dev/null -w '%{http_code}' "$url/$lang/")
[ "$code" != "200" ] && echo "DEAD $url/$lang $code"
done
curl -s "$url/en/" | grep -q 'hreflang="en"' || echo "NO hreflang $url"
done
集成 GitHub Actions 定时跑。
常见坑
- 只测默认语,其他盲。
- hreflang 不自动验,错漏。
- 案例:某站 CI 定时巡检,一次改版发现德文 12 死链,上线前修。
- 软 404 不查,收录错。
- 不测结构数据,富媒体错。
总结
判断标准:切换/hreflang/死链/结构数据自动化巡检。行动清单:列检查项 → 写脚本 → 定时跑 → 告警 → 修。详见hreflang 常见错误与验证工具。
觉得有用?点个赞支持一下
