用 AI 审计 Astro 站点

针对 Astro 的审计 prompt——sitemap / hreflang / output / RSS。

Astro 的灵活——三种 output 模式、可选 integration、内容集合、hybrid 渲染——也是多数团队积累隐性 SEO bug 的地方。Sitemap 漏一条路由、hreflang 漏一个 locale、RSS 指着过期 base URL——这些都要等到流量开始掉才浮出。这篇讲针对 Astro 的审计 prompt,专门抓通用站审漏掉的”Astro 形”问题。

这篇讲什么

针对 Astro 的审计 prompt,瞄准多数团队 ship-and-forget 的集成层:astro.config.mjssrc/pages/、sitemap 输出、hreflang alternate、output 模式(static / SSR / hybrid)、RSS feed。审计是按 Astro 实际工作方式裁剪的——不是通用的”你站好不好”。

本文涉及的工具 / 概念:

  • Astro: 面向内容站的现代静态 / 混合渲染前端框架。不同 output 模式会显著改变审计面。
  • Integration: @astrojs/sitemap@astrojs/rssastro-i18n 等。多数审计发现都在这些怎么配上。

这篇适合谁看

跑 Astro 内容 / 营销站的独立开发和小团队——尤其是双语站,hreflang 和路由生成的相互作用很不直观。

什么时候适合用

大批量内容增加前后。升 Astro 大版本后(3.x / 4.x / 5.x 配置形态会变)。加 / 减 integration 后。任何生产行为偏离你心智模型的时候。站级审计跑完,再下钻到AI Category 页审计教程——重复 intro、内链弱、分页坏,通常只有专门审 Category 页时才暴露。

开始前准备

  • astro.config.mjssrc/pages/ 让 AI 能读到。审计要看两个。
  • 知道你的 output 模式(output: 'static' | 'server' | 'hybrid')。不同模式 prompt 不同。
  • 双语站要给出 locale 清单。hreflang 审计需要知道预期是什么。

具体步骤

  1. astro.config.mjssrc/pages/ 的树(find src/pages -type f)作为上下文喂 agent。
  2. 跑路由审计。Prompt:
基于 astro.config 和 src/pages,列出 Astro build 会生成的
每个路由。标出:没 getStaticPaths 的 [...slug] 动态路由、
getStaticPaths 返回空、文件路径与另一路由冲突、locale
前缀缺失或不一致。
  1. 跑 sitemap 审计:
检查 @astrojs/sitemap 配置。列出生成 sitemap 会包含的每个
URL。和上一步路由列表交叉。标出:sitemap 有但没生成的、
生成了但 sitemap 排除的、双语 URL 的 alternate (hreflang)
缺失、lastmod 设错的。
  1. 跑 hreflang 审计:
对每个双语页对,确认:两边页面都在、各自 head 里的
<link rel="alternate" hreflang="..."> 指向对方、x-default
有、自指 hreflang 没漏。
  1. 有 RSS 就跑 RSS 审计:
读 @astrojs/rss 用法。确认:site URL 匹配生产、item 含
pubDate、feed 在 <head> 里被链接、feed URL 在阅读器能用。
  1. 分流发现:阻塞(页面坏或 canonical 错)、warn(缺锦上添花的)、info(风格)。先修阻塞。
  2. 修完重新生成站点,重跑审计。Sitemap 相关修复尤其需要新 build。

第一次实操怎么跑

  1. 只跑路由审计。每条被标的路由都读一遍。
  2. 每个 audit 说”缺失”的路由,在本地 dev server 上访问验证。审计可能错;当假设处理。
  3. 把一个真阳性端到端修了(比如某个 locale alternate 缺失)。只重跑同一个 audit——确认数量正好降 1。
  4. 再加下一个 audit(sitemap)。一次叠一个,才能追溯发现来源。

完成后检查

  • 每条发现都指向具体文件 / 行了吗?“sitemap 错”不可操作;“sitemap 含 /en/foo 但 src/pages/en/foo.astro 不存在”可操作。
  • 发现在新跑的 npm run build 上可复现吗?审计说”X 缺失”但 dist/X.html 真在,说明审计读的是旧源。
  • 双语断言里,AI 有没有区分”locale 缺失”和”locale 在但没被 link”?修法不同。

怎么复用这套流程

  • 每个 prompt(路由 / sitemap / hreflang / RSS)单独存。按改动重跑不同子集。
  • 配一个小 CI 脚本:跑 astro build,再用 grep 检查输出是否匹配预期路由清单。AI 审计变成”清单是否还对”的问题,而不是”哪里坏了”。
  • 跟踪发现随时间的趋势。反复出现的类别(新 locale 总缺 hreflang)告诉你工具化的位置。

建议的操作流程

Astro 配置 + 页面 → 路由审 → sitemap 审 → hreflang 审 → RSS 审 → 修复清单 → 应用 → 重生 → 重审。Astro 专属层干净后,再配合一份按技术栈定制的 SEO checklist,把 render mode、schema、监控这些 Astro 之外的盲区一并抓出来。

容易踩的坑

  • 让 AI “全面审一下”——拿到与 Astro 无关的通用 SEO 建议。
  • 不重新 build 就审源文件——sitemap 和渲染后 HTML 直到再跑 astro build 之前会漂移。
  • 不带 astro build --verbose 就信路由数量——output 模式会改变生成内容。
  • 双语站跳 hreflang 审——这是 Astro 头号沉默 SEO 问题。
  • 只在上线前跑——Astro 升级和 integration 版本升会让配置漂;季度重跑能抓到。
  • getStaticPaths 返回空数组的警告当无害——那是发 404 的坏路由。

FAQ

  • static / SSR / hybrid 审计会变吗?: 会。SSR 模式引入请求时渲染 bug,静态审计抓不到。提前告诉 AI 你的 output 模式。
  • astro-i18n 而不是手动 locale 呢?: 同审计,配置路径不同。给 AI 配置文件它都能处理。
  • 跟内容审计什么关系?: 内容审计查每文件 frontmatter;站审查框架级接线。两个都跑。看 Astro 内容审计教程
  • AI 能生成修复代码吗?: 能——问”给修复 N 的最小补丁”。配置类改动 AI 特别快且准。
  • Starlight、Astro Studio 或其他 Astro 模板适用吗?: 适用,但模板可能抽象了 config;如果能看到,把 AI 指向底层 astro.config.mjs

相关阅读

标签: #AI 编程 #教程