2026 年 4 月 — 搭建 SEO 平台基础
2026年4月24日
本月,Aedifex 为接下来 6 到 12 个月的增长打下了地基:真实的内容、真实的可被发现性,以及真实的测试覆盖。
新路由
/blog— 写给建筑师、设计师和业主看的文章。第一篇手把手讲解如何设计一套 30 平方米的小公寓。/solutions/{floor-plan,interior,ai-designer}— 按使用场景设计的落地页,文案围绕关键词组织,并带有结构化数据。/showcase— 社区发布的 3D 设计作品。任何拥有 Pro 账户的用户都能一键把项目发布到公开目录。
底层改动
- SEO 关键指标已纳入测试。 一套包含 12 个用例的 Playwright 测试会逐一校验每个公开路由的 title、description、canonical URL、JSON-LD 结构化数据、
robots.txt、sitemap.xml和 hreflang 备用语言标签。CI 会对落地页、解决方案页、博客、作品展示和访客 demo 全部把关。 - 分享页拆成两次查询。
/view/[shareId]页面过去每次被爬虫抓取,都要加载好几兆字节的场景 JSON。如今拆成getPublicProjectMetadata(轻量)和getPublicProjectScene(重载)两部分,搜索引擎抓一次只需消耗几 KB。 - 基于 KV 的增量缓存。 OpenNext 现在用一个 Cloudflare KV 命名空间来存放 ISR 页面、sitemap 和 fetch-cache。爬虫流量不会再每次请求都让路由处理器重新查询 D1。
- 可供爬虫抓取的 SSR 正文。 即便 3D 视图是在客户端挂载,分享页和作品展示页也会把项目名称、作者和说明文字直接渲染进 HTML,并附带 Schema.org 的
CreativeWork和BreadcrumbList。
新数据库字段
slug—/showcase/{slug}对应的规范 URL 片段summary— 一句话的 meta description,发布时由 LLM 重新生成isListed— 是否进入公开作品目录的开关(与只控制分享链接的isPublic相互独立)publishedAt— 作品展示信息流的排序依据locale— 项目级语言提示的占位字段
现有项目已自动回填,无需任何操作。
UI
- 分享对话框现在有两个相互独立的开关:"公开访问"(任何拿到链接的人都能查看)和"发布到社区作品展示"(项目进入公开目录并获得 SEO 元数据)。
- 页脚新增了 Blog / Solutions / Showcase 入口。语言切换入口已经显示出来,但暂时禁用——等中文和日文翻译就绪后再开放。
开发体验
pnpm test:e2e— 在 localhost 上运行 SEO 回归测试套件。pnpm test:e2e:prod— 部署后针对 aedifex.app 运行同一套测试。pnpm typecheck:local— TypeScript 检查只覆盖我们自己的代码,过滤掉上游 aedifex 的干扰信息。
已知不足
- 项目级的 Open Graph 图片目前会回退到全站统一的静态卡片。动态
next/og生成与 OpenNext 的 WASM 打包器存在冲突,已记为待办事项。 - 中文和日文界面文案尚未上线。我们已经声明了
hreflang x-default和en-US,这样将来正式上线时不会出现 SEO 回退。
下个月计划:扩充内容(Q2 博客路线图)、用 Satori 实现动态 OG,并为 zh-CN 上线准备内容。