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>
2.5 KiB
2.5 KiB
MindSpace SEO / GEO 回归守卫
日期: 2026-08-07
保护内容
- 收录策略硬规则:
h5_publish_records中access_mode=public且status=online且未过期的发布页允许 SEO/GEO 注入与 sitemap/llms 收录;此外,工作区public/*.html直链在无在线非 public 发布记录阻挡时,默认视为可收录(implicit public)。不再要求user_confirmed_at。 - 私有页强制 noindex:在线
password/private_link/login_required/owner_only发布、已过期、embed 模式等必须注入noindex, nofollow并设置X-Robots-Tag。 - 总开关默认开启:
mindspace_config.seo_geo_config缺省为全开;库内已保存的旧值仍以数据库为准,需在 memind_adm MindSpace 配置页保存后才会改写生产。 - 配置来源:memind_adm MindSpace 配置页 →
PATCH /admin-api/mindspace/config→ PortalloadMindSpaceConfigCached()。 - 百度推送:仅在 admin 开启
seo.baiduPush且页面可索引时触发;公开页发布与 Plaza 发帖共用该开关。 - 作者侧 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。 - 存量回填:
npm run backfill:mindspace-geo可批量补齐mindspace-geo/description/ 缺失<h1>,并清理失效 cover 引用;Plaza SSR 页通过platform-seo-html.mjs注入 canonical / OG / JSON-LD。
必跑验证
npm run verify:seo-geo
npm run verify:seo-discovery
npm run verify:portal-access-policy
改以下路径前必须跑上述命令:
mindspace-index-policy.mjsmindspace-seo-tags.mjs/mindspace-geo-tags.mjs/mindspace-seo-geo-delivery.mjsmindspace-seo-discovery-service.mjs/mindspace-seo-notify.mjsmindspace-public-delivery.mjsserver/portal-published-page-delivery.mjsserver/portal-workspace-publication-delivery.mjsserver/portal-seo-discovery-routes.mjsmindspace-config.mjsmindspace-publications.mjs(确认公开 + 百度推送)
禁止回退
- 禁止让非 public 页面进入
/sitemap.xml或/llms.txt - 禁止在 embed 模式注入 SEO/GEO
- 禁止绕过
resolveIndexPolicy直接注入 canonical / JSON-LD - 禁止删除私有页的
noindex保护以“提升收录”