Awwoe Restaurant Guide
Powered by Nuxt4 PPR × Drizzle ORM × CF Workers
Technical Showcase · SEO Engineering
核心技术亮点
PPR 混合渲染
文章页 SSG 预渲染,搜索/看板 SSR 动态渲染,按路由精细控制渲染策略
双存储架构
Drizzle ORM 单一 Schema,生产走 Cloudflare D1,本地走 SQLite,Repository Pattern 隔离驱动差异
短信免密登录
阿里云 SMS 验证码,双 JWT 令牌(15分钟 Access + 7天 Refresh),httpOnly Cookie 防 XSS
全文搜索引擎
自建 TF-IDF 倒排索引,无需 Elasticsearch,支持中文分词,构建时生成索引
六维 SEO 工程化
技术SEO / 内容SEO / 构建自动化检查 / AEO AI爬虫优化 / RUM 实时监控 / 内容自动生成,一站覆盖
实时 SEO 看板
SSE 流式推送 PageSpeed Insights 评测结果,内置自检 robots.txt / Sitemap / JSON-LD
行为数据追踪
采集 PV、滚动深度、完读率等用户行为事件,上报至 /api/behavior,KV 存储
评论系统
登录用户可发表/回复/删除评论,嵌套一级回复,手机号脱敏展示,D1/PG 双实现
双平台部署
BUILD_TARGET=cf 走 Cloudflare Pages,BUILD_TARGET=node 走 VPS Docker,单配置文件分支隔离
SEO 健康看板
尚未检测
① 技术 SEO
性能体验 · PageSpeed Insights
📱 Mobile
🖥️ Desktop
② 内容 SEO
元数据完整性 · 结构化数据
未检测到有效 JSON-LD
③ 工程自动化
构建时静态检查 · 无需运行时触发
构建时 SEO 检查已启用
titleSlug 唯一性(error)· meta description 完整性(error)· 正文字数 ≥ 300(warn)· 标题去重(warn)
由 vite-plugin-seo-check 在每次 build / dev 启动时运行
④ AEO(AI 引擎优化)
AI 爬虫可访问性 · robots.txt · Sitemap
⑤ 监控(RUM)
真实用户指标采集
Web Vitals 采集已启用
通过 web-vitals.client.ts 采集真实用户的 LCP · INP · CLS · FCP · TTFB, 上报至 /api/metrics/vitals,KV 存储 7 天。
Dashboard 聚合视图待后续版本实现