网站URL结构到底有多重要?

先看几个跑得很好的站是怎么写的。Omni Calculator 上那几个被反复引用的页面地址是 /finance/annual-income/finance/margin/finance/salary-to-hourly/other/test-grade——一级类目、二级具体对象,全小写,连字符分词,没有任何参数。Gusto 把工资计算器放在一个描述性的独立路径上,Shopify 把所有工具收在 /tools/ 下面。

Omni Calculator 官网首页截图
Omni Calculator 官网首页截图

Omni Calculator 首页的 Construction 分类收着 160 个计算器,从材料估算到工程量都有。

它们的共同点不是"好看",是可预测。用户看到 /finance/margin 就知道这是财务类里的利润率计算,爬虫也能从路径读出层级关系。

URL 不是排名因子,但迁移成本是真实的

先说清楚一点:URL 里含不含关键词,对排名的直接加成很小,Google 官方也从未把它列作重要信号。

URL 真正重要的地方在于它是唯一不能轻易改的东西。改一次标题,第二天生效;改一次 URL,你要处理 301、更新 sitemap、等 Google 重新发现、期间排名波动。一个站跑三年,URL 结构改两次,中间损失的收录量会超过你前两年所有优化加起来的收益。

所以设计 URL 的目标不是讨好算法,是一次定对、十年不动。

五条现在就该定死的规则

全小写。 大写会造成 /Finance/Margin/finance/margin 两个地址同时可达,权重被摊薄到两份副本上。

分词用连字符,不用下划线。 Google 把连字符当分词符,下划线不是。

层级不超过三层。 /tools/image/compress/ 已经是极限,再深意义不大,还会拉长内链路径。

不放日期,不放 ID。 /blog/2026/09/24/xxx 的问题在于:你想更新这篇文章时改不改 URL?改了丢外链,不改 URL 里的日期和正文对不上。

结尾斜杠策略全站一致。 带还是不带都行,但不能两种并存。在 Nginx 层做统一 301 最省事——定好规范形式,其余形式全部跳过去。

参数是最该小心的地方

/tool?type=compress&format=png 这种地址的问题不是丑,是可以无限生成。爬虫抓到一堆参数组合,会消耗大量抓取预算在这些实质重复的页面上,真正的正文页反而排不上抓取队列。

规则是:能静态化的参数,一律静态化成路径。/tools/png-compress//tool?type=compress&format=png 好,前者是一个确定的页面,后者是一组不确定的组合。

确实需要保留参数的(筛选、排序、分页),在 robots.txt 里明确处理,别让它们被大量抓取。具体写法在 Sitemap 与 robots.txt 那一节。

单复数、时态、语种要全站统一

/tool/ 还是 /tools/?这个问题没有正确答案,但一旦选定就必须全站统一。混用是两个不同的目录,爬虫会当成两个类目,你的内链也会分裂。

多语言站还要额外注意:语言目录是独立于内容层级的第一级,即 /zh/finance/margin/en/finance/margin,而不是 /finance/zh/margin。这样每个语言版本的目录树完全对齐,hreflang 的对应关系才好维护,加一种语言也不用动路由规则。

改 URL 时的最小代价路径

确实非改不可的话,顺序是这样:新 URL 上线 → 旧 URL 全站 301 到新 URL → sitemap 只列新 URL → 旧 URL 从 sitemap 移除但保留 301 至少半年 → Search Console 里用"网址移除"处理掉那些已被索引且你不想要的旧地址。

301 保留多久没有统一答案,但对已经积累外链的页面,半年是很保守的下限。别急着删旧规则——见过太多站在改版两周后就把跳转规则下线,结果三个月前积累的权重全部清零。

改完之后用 Search Console 配置里的"网页"报告盯索引数。正常情况是旧地址逐渐减少、新地址逐渐增加,两条曲线交叉期间流量会跌,这是正常的,别在这个阶段做第二次改动,否则两条曲线会变成三条,你再也分不清是哪次改动造成的。


Omni Calculator、Gusto、Shopify 的 URL 为其线上真实地址;Omni Calculator 2026 年 6 月访问约 1429 万(Semrush 估算)。