Skip to content

URL风格自定义

迁移自:URL风格自定义 发布日期:2024-5-8 最后编辑:2024-9-29 原栏目:🛠 站点配置 标签:NotionNext、SEO 摘要:NotionNext 自定义url风格

提示

在4.5.0之后的版本中,支持将博文url前缀配置为 %category% ,即文章所属分类;从而语义化URL、有利于SEO。 参考文末教程。 在4.5.2之后,支持将url中的中文分类名,映射为英文单词,参考文末教程。

URL构成

Untitled

NotionNext中的URL

目前博客列表的文章都有统一的前缀,默认是 article ; 因此访问您列表中的博客时默认打开的路径url是这样的:

Untitled

/user-guide/intro/article/notion-next-url-customize

在以上链接中:URL 主要可以拆分为3个部分构成,绿色部分是你的站点域名, 红色部分是url前缀,蓝色部分则是取自数据库中的slug部分。

URL优化有利于SEO

URL最好能有明确的层级和语义,以便于搜索引擎抓取、收录、并更好地排名。

我建议设置一个有意义的url,例如我的每一篇文章的url都是手动设置的,并且可以通过url推测这篇文章的内容。

URL前缀配置

在NotionNext的blog.config.js 中可以找到以下配置,来设置你的默认文章前缀:

JavaScript
POST_URL_PREFIX: process.env.NEXT_PUBLIC_POST_URL_PREFIX || 'article',

默认填写的article ,您可以任意填写为其它前缀,例如 postp 等等。

变量配置

您可以配置以下变量,他们在生成网页后会被动态替换成对应的值

年月日取自博客文章的date字段,分类名在您的Notion数据库的category

Untitled

使用示例

例如《SEO指南》 这个站点的url分格就是用的分类:访问文章的链接格式如下:https://seo.tangly1024.com/一、SEO概念入门/what-is-google-seo

Untitled

分类名映射

如果分类名称是中文,希望url中分类名映射为英文,请更新到4.5.2之后的版本。

url里分类名可以映射为自己想要的英文单词,便于统一url: xx.com/知行合一/slug -> xx.com/learning/slug

使用方法

在NotionConfig添加类似以下配置:

如图

Untitled

可在参考模板数据库中配置

配置中心 | Notion

配置中心使用说明

注意

注意,这里最常出现一个错误,因为Notion会自动将用户输入的英文双引号转成中文,从而导致配置无法读取。因此建议复制我上面的配置进行调整,而非手动输入双引号 正常的英文双引号中文双引号的格式是非法的 与双引号相关的配置都要格外小心,在其他的配置中也会出现类似的问题。

组合使用

以上变量可以混合使用,但是必须用/隔开。

例如:

POST_URL_PREFIX 配置为: %category%/%year%/%month%/%day%

则博客文章的url风格示例如下:https://[domain]/分类名称/2024/12/31/文章id

内嵌子页面跟随父路径

4.10.10 更新

该能力从 4.10.10 起提供,默认关闭。只有希望未收录的 Notion 内嵌子页面 URL 跟随父级文章路径时,才需要开启。

Notion 页面中可以继续嵌套子页面。默认情况下,NotionNext 会优先把能在站点数据库中找到的内页链接转换为该页面自己的 slug;如果子页面没有收录到数据库中,则会保留 Notion 页面 ID 作为兜底地址。

如果希望未收录的内嵌子页面 URL 也体现父级文章层级,推荐直接在 Notion Config 配置中心添加一行:

txt
Key:   INNER_PAGE_URL_PARENT_PATH
Value: true

保存 Notion Config 后重新部署或等待站点重新读取配置即可生效。该配置会优先于部署平台环境变量,适合不想修改代码或部署配置的站点。

也可以在部署平台使用环境变量开启:

bash
NEXT_PUBLIC_INNER_PAGE_URL_PARENT_PATH=true

开启后,在 /article/fpga-studying-notes 文章中点击未收录的内嵌子页面时,链接会从默认的:

txt
/aac03c95df87469ca52c471453416f4d

改写为:

txt
/article/fpga-studying-notes/aac03c95df87469ca52c471453416f4d

这只是内页访问路径的显示和导航优化。未收录子页面不会因此自动进入 sitemap、RSS 或站内搜索;如果页面需要稳定 SEO 收录,仍建议把它加入 NotionNext 主数据库,并配置明确的 slug

原文链接

https://docs.tangly1024.com/article/notion-next-url-customize