隐藏页面
无需删除页面,即可将其从侧边栏和搜索结果中移除。通过 frontmatter、docs.json 或 seo 控制可见性。
有些页面不适合出现在公开侧边栏中,例如草稿、内部手册,以及仍需通过链接访问的弃用指南。隐藏页面仍可通过直接 URL 访问,但会从导航、搜索、站点地图以及提供给 LLM 的 AI 上下文中消失。
隐藏单个页面
在页面的 frontmatter 中添加 hidden: true:
---
title: Internal handbook
hidden: true
---
有人访问页面 URL 时,页面仍会正常渲染,但 Jamdesk 会:
- 将其从侧边栏中移除
- 添加
<meta name="robots" content="noindex, follow">,让搜索引擎跳过该页面 - 将其从
sitemap.xml、llms.txt、llms-full.txt和站内搜索中排除
隐藏整个组或标签页
在 docs.json 的组或标签页上设置 "hidden": true:
{
"navigation": {
"tabs": [
{
"tab": "Public",
"groups": [{ "group": "Guides", "pages": ["intro", "quickstart"] }]
},
{
"tab": "Internal",
"hidden": true,
"groups": [{ "group": "Runbooks", "pages": ["oncall", "postmortems"] }]
}
]
}
}
隐藏节点下的每个页面都会继承此规则。同一标志也适用于 tabs、groups、anchors、dropdowns、products、languages 和 versions。
在搜索中保留隐藏页面
如果希望隐藏标签页或组,使其不显示在侧边栏中,但仍被站内搜索、AI 回答和站点地图索引,请添加 "searchable": true:
{
"tab": "Internal",
"hidden": true,
"searchable": true,
"groups": [{ "group": "Runbooks", "pages": ["oncall"] }]
}
子页面 frontmatter 中的 hidden: true 仍具有更高优先级。searchable 只会重新开放那些自身未选择退出的后代页面。
项目级控制
这两个标志都位于 docs.json 的 seo 下:
| 标志 | 默认值 | 效果 |
|---|---|---|
seo.indexing | "navigable" | 只有列在导航中的页面才会出现在生成的资源中。设置为 "all" 可包含代码库中的每个 MDX 文件。 |
seo.indexHiddenPages | false | 设置为 true 可将 hidden: true 页面包含在站点地图、llms.txt 和搜索中,并移除自动添加的 noindex 标签。 |
示例:
{
"seo": {
"indexing": "all"
}
}
快速参考
| 场景 | Frontmatter | docs.json | 在侧边栏中可见 | 直接 URL | 在站点地图中 |
|---|---|---|---|---|---|
| 普通页面 | — | 已列出 | 是 | 是 | 是 |
| 通过 frontmatter 隐藏 | hidden: true | 已列出 | 否 | 是 | 否 |
| 不在导航中的页面(孤立页面) | — | 未列出 | 否 | 是 | 否 |
| 隐藏组 | — | 组上设置 hidden: true | 否 | 是 | 否 |
| 隐藏且可搜索的组 | — | hidden: true, searchable: true | 否 | 是 | 是 |
| 项目选择将所有内容纳入索引 | — | 任意 | 同上 | 是 | 是 |
何时使用各项设置
- 草稿和预览: 在单个页面上设置 frontmatter
hidden: true - 内部部分适用于小型团队:使用隐藏组或标签页
- 合规文档应公开但不主动推广:使用
searchable: true的隐藏组 - 仅用于 AI 内容依据的完整代码库索引:
seo.indexing: "all"
隐藏页面不等同于访问控制。任何拥有 URL 的人都可以读取页面。如需真正的访问控制,请参阅密码保护。
