feat: PLANNING体系首版(00路线图/02任务总表/03执行协议/I-03/I-04/registry42口径)+M1止血交付
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# E-05 · 公开内容页 SEO(词/题/词书)
|
||||
|
||||
| 字段 | 值 |
|
||||
|---|---|
|
||||
| 项目 | EnglishDrill · `Desktop/english-drill` |
|
||||
| 优先级 | P1 · M3 |
|
||||
| 建议模型 | deepseek-v4.1-flash(主)/ kimi-k3(全页核查) |
|
||||
| 依赖 | 无(建议 E-02 后,共享公开路由思路) |
|
||||
| 预估 | 3.5 天 |
|
||||
|
||||
## 一、背景(为什么做)
|
||||
|
||||
整站登录后可见,搜索引擎**收录不到任何内容**。440 个单词 = 440 个长尾入口("abandon 什么意思"这类搜索词),是**唯一不花钱的持续获客渠道**(增长报告 P1-5)。
|
||||
|
||||
## 二、目标(交付物)
|
||||
|
||||
1. **公开路由**(无需登录、服务端渲染或预渲染,蜘蛛可见正文):
|
||||
- `/word/:word` 单词详情:释义 / 音标 / 例句 / 相关词
|
||||
- `/question/:id` 单题页:题干(+ 解析,如果现有数据有)——搜索词如"定语从句 that which 区别"
|
||||
- `/book/:id` 词书页:词表概览
|
||||
2. 每页独立 `<title>` / `description` / OG;**页内注册引导**("注册后加入学习计划")
|
||||
3. `sitemap.xml`(440 词 + 题库 + 词书)+ robots.txt
|
||||
4. 渲染选型:按项目现状选 **SSR(若后端模板可承接)或构建期预渲染**,产出必须可被 curl 直读;不破坏现有 SPA 登录内体验。
|
||||
|
||||
## 三、执行步骤
|
||||
|
||||
```text
|
||||
1. 选型:评估后端 Django 模板直出(快)vs 前端预渲染(重);记录选型理由
|
||||
2. 三条公开路由 + 数据查询(注意只暴露公开字段,不含用户数据)
|
||||
3. meta/sitemap/robots
|
||||
4. 注册引导组件(点击 → 跳注册并带来源参数)
|
||||
5. 验收:curl 内容检查 + 覆盖率检查脚本
|
||||
```
|
||||
|
||||
## 四、验收标准
|
||||
|
||||
- [ ] 未登录 `curl` 三个页面均可见正文(非空壳 HTML)
|
||||
- [ ] 每页 title/description/OG 独立且非空
|
||||
- [ ] sitemap 覆盖:440 词 + 题库 + 词书(数量核对)
|
||||
- [ ] 页内注册引导跳转正常(带来源标识)
|
||||
- [ ] 不泄露任何用户/答案数据(公开页字段白名单审查)
|
||||
- [ ] 既有 E2E 全绿
|
||||
|
||||
## 五、验收命令(参考)
|
||||
|
||||
```bash
|
||||
# 例:curl 直读
|
||||
curl -s http://localhost:8756/word/abandon | grep -o "<title>.*</title>"
|
||||
node scripts/check_seo_public.mjs # 覆盖检查(本任务交付)
|
||||
```
|
||||
|
||||
## 六、边界(不许做)
|
||||
|
||||
- 公开页不显示用户作答数据、不做"谁在学"
|
||||
- 不做全站 SSR 迁移(只做三个内容路由)
|
||||
- 不动登录内页面
|
||||
|
||||
## 七、交接
|
||||
|
||||
写 `PROGRESS_E-05.md`(含 curl 输出、sitemap 数量、选型理由)。
|
||||
Reference in New Issue
Block a user