Skip to content

文章状态

NotionNext 用 status 决定文章是否进入公共入口,用 password 决定正文是否需要密码查看。两者是独立字段,不要把 Invisible 当成私密文章使用。

status 基础状态

status 建议只使用三类语义:PublishedInvisibleDraft。如果你的 Notion 下拉值做了本地化,请在 NEXT_PUBLIC_NOTION_PROPERTY_STATUS_PUBLISHNEXT_PUBLIC_NOTION_PROPERTY_STATUS_INVISIBLE 中映射到这两个公开状态;其他值都按未发布内容处理。

展示位置PublishedInvisibleDraft / 其他值
首页 / 分页显示不显示不显示
归档显示不显示不显示
分类显示不显示不显示
标签列表显示不显示不显示
标签 / 分类统计统计不统计不统计
站内搜索可搜索不搜索不搜索
RSS输出不输出不输出
Sitemap输出不输出不输出
Algolia 索引索引不索引不索引
直接 slug 访问可以访问可以访问不作为公开访问目标

Invisible 的定位

Invisible 表示“没有公共入口,但保留完整 slug 直接访问”。它适合内嵌页、补充页、临时分享页等场景。

Invisible 不应参与任何公共聚合入口,包括首页、归档、分类、标签、标签统计、RSS、Sitemap、站内搜索和 Algolia 索引。知道完整地址的人仍然可以访问它,所以它不是私密文章。

password 修饰属性

password 是叠加在 status 之上的内容保护字段,不改变文章是否出现在列表里的规则。

行为无 password有 password
列表 / 入口可见性status 决定status 决定
RSS 正文完整输出不暴露正文,最多保留标题、摘要或入口
搜索索引正文完整索引不暴露正文
页面内容直接可见需要密码解锁

如果希望文章有公开入口但正文加密,使用 status = Publishedpassword。如果希望文章不进入公共入口但可以通过完整链接访问,使用 status = Invisible。如果还没有准备公开,使用 Draft 或其他未映射状态。

公众号和外部发布

公众号、外部平台同步、转载来源等信息不要复用 status。这类字段更适合作为展示或同步策略字段单独维护,避免影响 PublishedInvisibleDraft 的基础语义。