Slug (URL Slug)

URL 路径中使用的人类可读标识符,影响 SEO 和用户体验。

Slug 是 URL 路径部分使用的人类可读标识符。例如 https://example.com/blog/seo-tips 中的 seo-tips 就是 slug。在 WordPress 等众多 CMS 中用于确定文章和页面的 URL,在网站信息架构中扮演着重要角色。这个术语最初源自报业,指文章的简短标识名。

从 SEO 角度看,能够从 slug 推断出页面内容的状态是可取的。不过,Google 关于 URL 结构的指南并没有把 URL 说成排名因素,它给出的是把单词分开、让 URL 易于理解这一可读性方面的指引。该指南建议用连字符 (-) 而非下划线 (_) 来分隔单词,理由是这样能让用户和搜索引擎更容易识别 URL 中的概念。下划线是标识符中表示"不可拆分的整体名称"的写法,因此不建议用作分隔符,而把单词直接连写、不加任何分隔也是应避免的形式。

Slug 的生成有从标题自动生成和手动设置两种方式。自动生成通常将标题转为小写,将空格替换为连字符,并移除特殊字符。英文标题能生成自然的 slug,但日文标题需要进行罗马字转换或替换为英文关键词。WordPress 允许在文章编辑界面手动编辑 slug。

Slug 通常使用 ASCII 字符 (小写字母、数字、连字符)。Slug 中也可以包含日语字符,Google 的指南允许在 URL 中使用读者语言的词语,前提是非 ASCII 字符会被百分号编码为 %E6%9D%B1%E4%BA%AC 这样的字符串。实务中之所以倾向选择 ASCII,是因为这类编码后的字符串很长,贴到邮件或聊天中容易断裂;反过来,浏览器地址栏会还原显示原本的日语,所以在搜索结果或地址栏中被阅读时,读者语言的 slug 更能传达内容。

更改 slug 需要谨慎。修改已发布页面的 slug 会改变 URL,导致外部链接和书签失效。如需更改,必须设置从旧 URL 到新 URL 的 301 重定向以保留 SEO 价值。因此,slug 应在发布前慎重确定。

实务中,英文 slug 会控制在 3 到 5 个单词左右。去除不必要的冠词 (a、the、and) 和停用词,聚焦于代表内容核心的关键词,可以创建简洁有效的 slug。从字符计数角度看,slug 长度直接影响整个 URL 的长度。这里真正起作用的上限来自站点地图的规范:sitemaps.org 协议要求站点地图中列出的每个 URL 少于 2,048 个字符,因此在层级很深的路径上叠加过长的 slug,就可能触及这一限制或各系统自身的 URL 长度限制。

分享这篇文章