URL 是站点里最容易被忽视、又最难回头改的东西。内容可以重写,模板可以换,但地址一旦被蜘蛛抓取、被用户收藏、被外链引用,改动成本就会成倍上升。很多站点的结构问题并不出在内容质量上,而是地址本身就没有规律:同一个栏目有三种写法,同一批页面有的带日期有的不带,有的用 ID 有的用拼音。平时看不出来,等到要做栏目调整、批量替换或站点迁移时,问题会集中爆发。
先分清“可读”和“可维护”两件事
URL 好不好看是次要的,能不能被稳定维护才是关键。一条合格的地址通常满足三个条件:
- 可归类:从路径就能看出它属于哪个栏目、哪一类内容,而不是一串无语义的编号。
- 可预测:同类页面的命名规则一致,写规则、做匹配、批量处理时有章可循。
- 可变更:栏目调整时能通过一条重定向规则覆盖一整段,而不是逐页配置。
只要这三点成立,即使地址里带 ID、带拼音,也不会成为负担。反过来,如果命名规则前后不一致,哪怕每条地址单看都很“干净”,整站依然是乱的。
常见的混乱现象
- 大小写混用:Article 与 article 同时存在,服务器大小写敏感时会被当成两个页面。
- 参数与静态混排:一部分栏目用目录形式,另一部分长期停留在 ?id= 形式。
- 命名语言不统一:同一层级里英文、拼音、中文编码、缩写混着用。
- 层级过深:为了“归档清晰”不断加目录,实际访问路径已经超过四层。
- 日期目录随意:有些栏目带年月,有些带年月日,有些干脆不带。
- 重复入口:同一篇内容在多个栏目下都有可访问地址,且没有明确的规范版本。
一次可落地的自查清单
- 抓取站点主要栏目和内容页,抽样 50 到 100 条地址,按路径前缀归类。
- 检查同一类内容的命名规则是否一致(分隔符、大小写、是否带日期)。
- 确认是否存在大小写或斜杠差异导致的重复访问地址。
- 列出仍然依赖查询参数的栏目页和列表页,评估能否改为静态路径。
- 确认每篇内容只有一个明确的主地址,其余入口是否已做规范处理。
- 检查目录层级,把过深的路径压平,或确认这是有意为之。
- 核对内链、Sitemap、站点地图文件中的地址是否与线上保持一致。
命名约定要写下来,而不是靠自觉
命名规则如果没有文档,就会随着人员更替慢慢走样。建议在站点内部文档里明确几条简单规则,例如:
- 路径统一使用小写字母,单词之间用连字符。
- 栏目层级不超过三层,超出部分用标签或筛选参数承载。
- 内容页优先使用稳定 ID 加简短标识,避免标题改动导致地址变化。
- 日期只用于时效性明确的归档栏目,且格式统一。
规则不需要多复杂,能被执行、能被后来的人看懂就够了。
变更时把三件事一起做
哪怕只是改了一个栏目名,也建议同步完成三件事:旧地址到新地址的重定向、站内链接的替换、地图与提交文件的更新。只做其中一件,站内就会长期并存新旧两套地址,既增加维护成本,也让抓取端在重复入口之间来回消耗。
URL 结构不是一次性设计,而是一个需要跟着站点一起迭代的约定。定期花半小时抽查一遍,比出问题后大规模救火划算得多。
最后提醒一句:结构优化不必追求一步到位。先把规则理清、把明显重复的入口收敛掉,剩下的可以随着栏目调整逐步推进。稳定、可预期、可维护,比“好看”重要得多。