网站收录

URL 结构怎么设计才好抓:目录深度、命名和参数的取舍

URL 不只是页面地址,也是蜘蛛发现页面、判断层级和规范版本的线索。本文从目录深度、路径命名、参数控制、大小写与斜杠几个角度,说明哪些设计真的影响抓取与收录,哪些被过度放大,并给出一份上线前的自查清单。

网站收录

URL 结构怎么设计才好抓:目录深度、命名和参数的取舍

URL 不只是页面地址,它也是蜘蛛发现页面、判断页面归属和规范版本的一条线索。结构本身不会直接决定收录与否,但它会影响发现速度、抓取时的判断,以及后期改动的成本。下面几件事是实操里最常被问到的。

目录层级:深不是原罪,不可达才是

常听到“三层以上蜘蛛就不抓了”,这个说法并不准确。蜘蛛能否抓到某个 URL,主要看它能不能通过链接到达,以及这个地址是否值得抓。一个四层路径的页面,从首页三次点击就能到,一样会被正常抓取;反过来,一层路径但没有任何内链指向,就是孤儿页面。

真正麻烦的是这几种情况:

  • 列表页只显示前几页,深处的条目只能靠站内搜索进入;
  • 目录层级深,而且每一层都是纯筛选页,把链接信号稀释掉了;
  • 面包屑和导航由 JS 生成,蜘蛛拿到的原始 HTML 里没有链接。

所以判断标准不是“几层”,而是“从入口到它需要几次跳转、有多少条路径”。重要内容尽量控制在三次点击以内,同时确保有不止一处内链指向它。

路径命名:语义化有用,但别为了改名反复折腾

语义化路径(/shoes/running-shoes)比纯数字(/p/1002381)多提供了一点信息,对蜘蛛判断主题、对用户阅读地址都有帮助。但这个收益是小幅的,不值得为了它把所有旧 URL 推倒重来。

更实际的做法是:新站直接用语义化路径;已有站点保持稳定,除非结构本身有硬伤,比如分类混乱、大量重复路径。因为每次改 URL 都意味着 301、外链价值衰减、索引重新计算,改得越频繁,收口成本越高。

命名上不必追求完美:英文、拼音、数字混用都可以接受,关键是同一类页面用同一套规则,别今天用 /article/xxx,明天换成 /a/xxx。

参数与“伪静态”:稳定比好看重要

带参数的 URL 并不意味着不能收录。搜索引擎能处理 ?id=123 这类地址,问题出在参数的组合爆炸:排序、筛选、分页、追踪参数叠加,同一个页面能生成几十个地址。这时需要的不是把参数改写成静态路径,而是控制参数的产生。

  • 排序和筛选参数用 robots.txt 或 noindex 收口,只保留默认视图;
  • 追踪参数(utm 等)不要写进站内链接;
  • 分页可以保留,但翻到很深的页码可以考虑不再输出链接。

把参数强行重写成静态路径,表面看干净了,但如果底层逻辑没变,蜘蛛依然能通过其他入口发现那些组合版本,反而更难排查。

长度、大小写和结尾斜杠

URL 过长,比如几百个字符,不会直接被拒绝,但容易被截断、复制时出错。中文路径会被编码成一长串 %XX,可读性差,也不方便人工核对。条件允许时用短一点的英文或拼音。

大小写和结尾斜杠属于规范问题:/Page 和 /page 可能被服务器当成两个地址,/list 和 /list/ 也是。选定一种写法后,用 301 统一,别让两个版本同时返回 200。

上线前可以自查的几项

  • 新页面发布时,是否至少有一处站内链接指向它;
  • 导航、面包屑、列表页的链接是否出现在原始 HTML 中,关掉 JS 后仍能看到;
  • 同一内容是否存在多个 URL 版本,canonical 是否指向正确;
  • URL 结构近期是否改过,旧地址是否都做了 301;
  • 站点地图里的地址是否都是规范版本。
URL 结构没有唯一正确答案。判断标准是三条:蜘蛛能不能顺利找到、能不能判断哪个是规范版本、以后改动时成本高不高。

把这三件事解决掉,剩下的细节不用过度纠结。改结构之前先想清楚收口方案,比事后一处处补救省事得多。