745e9b691d
Memind CI / Test, build, and release guards (pull_request) Successful in 3m35s
未点公开发布但已落盘到 public/ 的页面,在无在线非 public 发布阻挡时 合成 implicit public snapshot,注入 canonical/JSON-LD 并扫描进 sitemap。 Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
2.5 KiB
Markdown
41 lines
2.5 KiB
Markdown
# MindSpace SEO / GEO 回归守卫
|
||
|
||
日期: 2026-08-07
|
||
|
||
## 保护内容
|
||
|
||
1. **收录策略硬规则**:`h5_publish_records` 中 `access_mode=public` 且 `status=online` 且未过期的发布页允许 SEO/GEO 注入与 sitemap/llms 收录;**此外**,工作区 `public/*.html` 直链在无在线非 public 发布记录阻挡时,默认视为可收录(implicit public)。不再要求 `user_confirmed_at`。
|
||
2. **私有页强制 noindex**:在线 `password` / `private_link` / `login_required` / `owner_only` 发布、已过期、embed 模式等必须注入 `noindex, nofollow` 并设置 `X-Robots-Tag`。
|
||
3. **总开关默认开启**:`mindspace_config.seo_geo_config` 缺省为全开;库内已保存的旧值仍以数据库为准,需在 memind_adm MindSpace 配置页保存后才会改写生产。
|
||
4. **配置来源**:memind_adm MindSpace 配置页 → `PATCH /admin-api/mindspace/config` → Portal `loadMindSpaceConfigCached()`。
|
||
5. **百度推送**:仅在 admin 开启 `seo.baiduPush` 且页面可索引时触发;公开页发布与 Plaza 发帖共用该开关。
|
||
6. **作者侧 SEO/GEO 必填**:每个 `public/*.html` 必须包含 `title`、`description`、`mindspace-geo`(summary/keywords/faq)与语义化 `<h2>` 分节;`npm run check:mindspace-cover --scope all` 默认校验 MindSpace + 平台静态页(含 `/learn`)。服务端对缺失 FAQ 会尝试从 `h2+p` 自动抽取 JSON-LD。
|
||
7. **存量回填**:`npm run backfill:mindspace-geo` 可批量补齐 `mindspace-geo` / `description` / 缺失 `<h1>`,并清理失效 cover 引用;Plaza SSR 页通过 `platform-seo-html.mjs` 注入 canonical / OG / JSON-LD。
|
||
|
||
## 必跑验证
|
||
|
||
```bash
|
||
npm run verify:seo-geo
|
||
npm run verify:seo-discovery
|
||
npm run verify:portal-access-policy
|
||
```
|
||
|
||
改以下路径前必须跑上述命令:
|
||
|
||
- `mindspace-index-policy.mjs`
|
||
- `mindspace-seo-tags.mjs` / `mindspace-geo-tags.mjs` / `mindspace-seo-geo-delivery.mjs`
|
||
- `mindspace-seo-discovery-service.mjs` / `mindspace-seo-notify.mjs`
|
||
- `mindspace-public-delivery.mjs`
|
||
- `server/portal-published-page-delivery.mjs`
|
||
- `server/portal-workspace-publication-delivery.mjs`
|
||
- `server/portal-seo-discovery-routes.mjs`
|
||
- `mindspace-config.mjs`
|
||
- `mindspace-publications.mjs`(确认公开 + 百度推送)
|
||
|
||
## 禁止回退
|
||
|
||
- 禁止让非 public 页面进入 `/sitemap.xml` 或 `/llms.txt`
|
||
- 禁止在 embed 模式注入 SEO/GEO
|
||
- 禁止绕过 `resolveIndexPolicy` 直接注入 canonical / JSON-LD
|
||
- 禁止删除私有页的 `noindex` 保护以“提升收录”
|