🌱 明之小泉

什么是slug?

💡
写作规范

每篇文章发布前,必须填写 SlugStatus。详细工作流请参考本文档底部。

什么是 Slug?

Slug 也就是“网页 URL 的后缀标识”,它是一篇文章在网址中的“门牌号”。比如,假设你的网站是 https://minspring.org,你写了一篇文章叫“什么是 Slug”,如果设置 Slug 为 what-is-slug,那么这篇文章最终的绝对网址就是:

https://minspring.org/what-is-slug

为什么必须有?
  1. 系统生成网页的需要:我们的博客使用的是 Astro 静态生成框架,系统在把 Notion 文章转换成网页时,必须知道把网页放在哪个路径下。如果没有 Slug,会导致构建报错。
  2. 保持网址干净整洁:如果不使用统一的英文 Slug,网址会直接使用中文标题,被转码成一大长串看不懂的字符(如 %E4%BD...),既不美观,也不利于分享和 SEO(搜索引擎收录)。

命名最佳实践与常见问题

🌟 推荐结构:主题-英文名

使用这种结构(例如 essay-what-is-slugai-what-is-slug)既能实现天然的分类,又对系统和搜索引擎绝对安全。

❓ 常见问题
  • 能否使用斜杠(如 blog/what-is-slug)?

    强烈不建议。 Astro 框架会把 / 误认为是一个多级目录,会导致构建报错或网页路径全部失效。

  • 能否使用下划线(如 blog_what-is-slug)?

    不建议(影响 SEO)。 Google 等搜索引擎会将连字符 - 视为“空格”(单词分隔符),而下划线 _ 会被视为“字符连接符”。blog_what-is-slug 可能会被机器连读成 blogwhat,这会破坏语义并降低搜索排名。现代 Web 规范中,全小写字母加连字符(Kebab-case)是绝对的主流。


Notion 博客数据库自动化工作流

为了科学管理,我们的博客数据库针对 Slug 做了专门的结构化升级:

  • Subject:文章的主题/分类(下拉单选)。
  • Slug_English:纯英文文章名(文本),在Notion中设置为自动翻译文章标题(Title)
    补充代码
  • Auto Slug:自动生成字段,用双横线(--)拼接 SubjectEnglish Name,既能在视觉上明显区分主题,又完全符合 SEO 规范。
  • Slug: 设置为AI自动填充,来源于Auto Slug
💡 为什么还要保留原始的 Slug 字段?
astro-notion-blog 底层代码强制要求 Slug 必须是纯文本字段。如果直接改成公式,Notion API 返回给代码的数据格式变化,会导致 Cloudflare 构建报错。
🚀 日常发布标准工作流
  1. 正常写文章,选择 Subject
  2. Notion 会在 Auto Slug 中自动计算出标准字符串(例如:ai--what-is-slug)。然后Slug会自动提取Auto Slug_Auto
  3. Status 改为 Published
  4. 人工触发 Cloudflare 的 iOS 快捷指令完成发布。