门户 SEO 清单
新增栏目、页面或大批量数据时,按本清单检查,便于搜索与分享发现 llamafactory.cn。
每次新增「入口级」内容(导航栏 / 首页卡片)
docs/<栏目>/index.mdtitle:含栏目名 +| LlamaFactory(或统一后缀)description:一两句中文,含用户会搜的词(功能 + 代表资源名)- 可选
keywords(未写时由seo.ts的PORTAL_KEYWORDS补全)
docs/.vitepress/seo.ts- 在
PORTAL_DESCRIPTIONS增加'<path>/index.md'兜底描述 - 在
PORTAL_KEYWORDS增加对应 keywords - 若栏目有结构化数据需求:在
applyPortalSeo中增加 JSON-LD(参考creative-media-hub) - 若需更好分享图:在
portalOgImage()中按路径返回封面
- 在
docs/.vitepress/config.mts- 顶栏
nav链接文案清晰(与title语义一致)
- 顶栏
- 内链
- 首页
HomeContent2、页脚FooterView、相关 hub 交叉链接指向新栏目
- 首页
- 构建后自检
npm run docs:build- 打开
docs/.vitepress/dist/<栏目>/index.html,检查description、canonical、og:*、application/ld+json - 确认 robots.txt 可访问 sitemap(VitePress 自动生成
sitemap.xml)
仅新增数据(JSON / 定时同步,无新路由)
- 更新目录 JSON 时,视情况刷新 JSON-LD 数据源(如
seo.ts引用的 catalog) - 在页面底部保留一两句 可见栏目说明(含关键词 + 站内链接),供爬虫与用户理解上下文
- 运维文档(如
creative-media-sync.md)注明「改 catalog 后需重新 build 部署」若 SEO 依赖构建期内嵌
中文文档 / OpenClaw
- OpenClaw:
frontmatter的description/summary/keywords+applyOpenclawSeo - AI 项目文档:每篇
title/description含项目名;索引见ai-projects/index.md与PORTAL_*映射
不要做
- 不要堆隐藏关键词块
- 不要为纯 API / 代理数据单独造无内容的 indexable 页
- 需要
noindex时:在 frontmatterhead写robots: noindex
