隐藏页面
在不删除页面的情况下,将其从侧边栏和搜索结果中隐藏。使用 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。
在搜索中保留隐藏页面
添加 "searchable": true,可使隐藏的标签页或分组仍被站内搜索、AI 回答和站点地图索引:
{
"tab": "Internal",
"hidden": true,
"searchable": true,
"groups": [{ "group": "Runbooks", "pages": ["oncall"] }]
}
子页面上 frontmatter 中的 hidden: true 仍然优先生效。searchable 只会重新开放那些自身未选择退出的后代页面。
仅将页面排除在搜索之外
如果某页面应保留在侧边栏中并可被索引,但不希望出现在站内搜索或 AI 回答中,请在该页面的 frontmatter 中添加 search: false:
---
title: Legacy v1 endpoints
search: false
---
该页面在导航、站点地图、llms.txt 和 RSS 订阅源中仍保留其位置。搜索引擎仍会索引它。它只会离开查找类入口:站内搜索、AI 聊天回答以及 MCP 服务器。
search: false 与 hidden: true 的作用恰好相反。hidden 会将页面从导航和索引入口中移除。search: false 则不影响这些,只是阻止该页面被检索。请不要将它与导航级别的 searchable 混淆,后者会让隐藏页面重新纳入搜索。
页面有多少内容会被建立索引
搜索并不会将页面作为一个整体进行索引,而是逐节索引。每个标题都会成为一个独立的搜索条目。搜索"Rate limits"会直接定位到该标题,而不是长页面的顶部。
有两项限制会自动生效:
| 限制 | 数值 | 超出后的处理 |
|---|---|---|
| 每页条目数 | 50 | 各节按页面顺序索引。第 50 节之后的内容不会被纳入搜索。 |
| 每节文本 | 前 300 个字符 | 节内更深处的文字无法被匹配。 |
页面本身占用其中一个名额,因此实际可索引 49 个节。
设置此上限是因为搜索会将每个条目与索引中的其他内容进行权衡。单个页面生成数百个条目会挤占其他页面的结果位置。自动生成的更新日志可能占满半个索引,使相关页面被挤出第一屏。
超出上限的页面依然会完整渲染。只是其后面的各节不再可被搜索到,而且页面上没有任何提示告知读者这一点。
对于包含超过约 50 个标题的页面,请将其拆分为多个页面。这同时也能改善导航。对于没有人手动搜索的机器生成页面,请改为添加 search: false,使整个页面都不进入索引。
请将关键词放在搜索权重最高的位置:页面标题(权重最高),其次是标题,然后是描述。正文权重最低,且每节只有前 300 个字符会被计入。
seo.metatags.keywords 不会影响站内搜索。它只会输出 HTML 的 <meta name="keywords"> 标签。Google 已表明其排名时会忽略该标签。你无法为页面附加额外的搜索词。请将希望被匹配的词放在标题、标题文字或描述中。
项目级控制
这些标志位于 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 | 否 | 是 | 是 |
| 仅排除在搜索之外 | search: false | 已列出 | 是 | 是 | 是 |
| 项目选择索引所有内容 | - | 任意 | 同上 | 是 | 是 |
何时使用各项设置
- 草稿与预览: 在单个页面的 frontmatter 中设置
hidden: true - 小团队的内部板块: 隐藏分组或标签页
- 应公开但不宣传的合规文档: 带有
searchable: true的隐藏分组 - 仅用于 AI 基础的全仓库索引:
seo.indexing: "all" - 已被取代、但仍希望可链接并被索引、却不希望被搜索或 AI 推荐的页面: frontmatter 中设置
search: false
隐藏页面不等同于访问控制。任何拥有 URL 的人都可以阅读它们。如需访问控制,请参阅密码保护。
