文本转 slug

slug 是网址中可读的那一段,比如 yoursite.cn/why-rust-is-winning 里的 why-rust-is-winning。这个工具会把带变音符号的拉丁字母还原成纯 ASCII,把除字母和数字以外的连续字符换成一个分隔符,清理首尾,再按你设定的长度截断。先说清楚最重要的限制:汉字不会被转成拼音,而是直接删除,所以中文标题需要你先自己写成拼音或英文再粘贴进来。原因和替代做法见下文。

slug 是怎么生成的

  1. 1

    粘贴标题或短语

    文章标题、产品名称、栏目名称都可以。输入时结果会同步更新。

  2. 2

    变音符号变成 ASCII

    `é` 变成 `e`,`ß` 变成 `ss`,`ø` 变成 `o`,`ł` 变成 `l`。货币符号会写成字母,`€` 会变成 `EUR`。

  3. 3

    汉字在这一步消失

    汉字没有对应的 ASCII 字符,因此会被直接去掉。标题里原有的数字和拉丁字母才会保留。

  4. 4

    其余一律变成分隔符

    `A-Z`、`a-z`、`0-9` 之外的连续字符都会变成一个分隔符。相邻的分隔符会合并,首尾会被修掉。

  5. 5

    长度上限截掉尾部

    填入最大字符数,不需要限制就填 `0`。截断按字符计算,可能落在词的中间;末尾多出来的分隔符随后会被去掉。

最大的限制:汉字会被删除

这个工具生成的是 ASCII slug,只能转写在 ASCII 中有对应的字符,也就是带变音符号的拉丁字母。汉字没有这种对应关系,因此不会被罗马化,而是被剔除。西里尔字母、希腊字母、阿拉伯字母、希伯来字母、日文和韩文、泰文同理。

你粘贴的标题 得到的 slug
如何在 2026 年建立网站 2026
3000元以下的笔记本电脑 3000
Node.js 与 Deno 性能对比 2026 node-js-deno-2026

因此有两条切实可行的路。

自己写一个拼音或英文标题。 国内不少站点本来就这么做。输入 ruhe jianli wangzhan 2026,就会得到 ruhe-jianli-wangzhan-2026,空格、标点、大小写和长度都交给工具收拾。

网址直接保留中文。 现在的浏览器和搜索引擎都能正确处理 /如何建立网站 这样的网址,内部以百分号编码保存。这种情况下在内容管理系统里直接填写 slug 即可,用不上这个工具。

三项设置

设置 作用 说明
分隔符 用来替换空格和标点的字符 只能一个字符。留空则回到 -。
最大长度 字符数的硬性上限 填 0 表示不限制。最多 500。按字符截断,不按词截断。
转为小写 把 A-Z 变成 a-z 默认开启。关闭后保留你输入的大小写。

转换示例

你粘贴的标题 得到的 slug
ruhe jianli wangzhan 2026 ruhe-jianli-wangzhan-2026
3000 yuan yixia de bijiben diannao 3000-yuan-yixia-de-bijiben-diannao
Node.js vs Deno: benchmark 2026 node-js-vs-deno-benchmark-2026
Rust vs Go benchmark 2026 rust-vs-go-benchmark-2026
C++ for beginners c-for-beginners

最后一行值得记住:++ 同样是标点,所以 C++ 只剩下一个孤零零的 c。如果某个符号本身带有含义,请在标题阶段就写成文字,C plus plus for beginners 会得到 c-plus-plus-for-beginners。

什么样的 slug 才算好

  • 短。 三到五个词足以覆盖多数主题。十二个词的 slug 通常说明标题太啰嗦。
  • 关键词靠前。 把重要的词放在最前面。搜索引擎和人都是从左往右读的。
  • 去掉虚词。 a、the、of 这类词只会加长,除非去掉会改变意思。
  • 慎用年份。 top-10-js-frameworks-2026 到二月就显得过时了。
  • 名词优于动词。 rust-performance-guide 比 guiding-rust-performance 更好读。

避免 slug 撞车

如果两篇文章归结出同一个 slug,比如两篇都叫「前言」,大多数内容管理系统会默默补上 -2、-3。能用,但不好看,对读者也毫无信息量。更好的做法是在保存之前就把标题区分开:introduction-to-rust 和 introduction-to-go 既不重复,也比 introduction 和 introduction-2 说明得多。

常见问题

因为汉字没有对应的 ASCII 字符。它们不会被转成拼音,而是被删除,只有标题里原有的拉丁字母和数字会保留。西里尔字母、阿拉伯字母、希伯来字母、希腊字母、日文、韩文和泰文也一样。请为网址另写一个简短的拼音或英文标题再粘贴进来,或者在内容管理系统里保留中文,让它自己去编码网址。

连字符。Google 把连字符当作词与词的分隔,把下划线当作同一个词的一部分,所以 text-to-slug 会读成三个词,而 text_to_slug 只算一个词。如果旧系统一定要用下划线,分隔符一栏也接受,但连字符成为默认值是有道理的。

它数的是字符而不是词,到了上限就直接截断。如果切口落在词中间,这个词就保持截断的样子;只有留在末尾的分隔符会被去掉。完全不想限制就把这一栏填成 0。

只有在配上从旧网址到新网址的 301 跳转时才可以。没有跳转就改动线上网址,会让所有指向它的外链失效,页面此前积累的排名也会归零。除非旧 slug 明显有错,否则保持原样。

会。slug 是在我们的服务器上生成后,随着你的输入回传到页面的,所以请把它当作普通网页表单,不要在这里粘贴机密内容。文字不会被保存,但确实离开了你的设备。

相关工具

此工具还提供其他语言版本