URL 是蜘蛛理解入口页的第一层信息
蜘蛛进入一个入口页之前,先拿到的是 URL 字符串。它要判断:这属于哪个站点、是不是重复地址、值不值得排进抓取队列。所以 URL 写得乱,后面内容再规范,也要多花一道解释成本。
动态参数:尽量收敛,别让同一页生出几十个地址
入口页常见的参数有追踪参数(utm_source、from、spm)、分页参数、排序参数、会话 ID。前两类通常不改变内容,却会生成新地址。
- 能在服务端把追踪参数丢掉就丢掉,用 301 统一到干净地址。
- 排序、筛选这类参数,如果内容确实不同,可以保留,但要保证每个组合都能返回稳定内容,别返回空白页。
- 会话 ID、随机数这类参数不要出现在入口页链接里。
- 路径参数优先于查询参数,例如 /topic/seo 比 /topic?id=seo 更容易被稳定识别。
层级与目录深度
入口页如果埋在 /a/b/c/d/e/ 下面,蜘蛛从首页要走五层才能到;如果站点本身抓取预算不宽裕,深链接往往排在后面。建议入口页尽量控制在三层以内,并且从首页或栏目页有直达链接。
同时要避免反向问题:所有入口页都堆在根目录,首页链接数上千,反而稀释了每个链接的可点击价值,也让蜘蛛在首页就要做更多筛选。
长度与可读性
URL 太长不会直接被判死刑,但会带来两个麻烦:一是日志、统计、手动排查时难以辨认;二是容易被截断或复制错。一般建议控制在 100 字符以内,用短横线分词,避免中文、空格、大写混用。
- 用连字符(-)分词,不用下划线。
- 统一小写,避免 /Article 与 /article 被当成两个地址。
- 结尾斜杠要么都带,要么都不带。
- 不要把日期、随机数字塞进固定栏目的入口页。
去重与规范化
入口页有个容易忽略的点:同一份内容可能通过带 www、不带 www、带参数、不带参数等多种形式被访问。如果这些地址都返回 200,蜘蛛会把抓取预算分给同一份内容的多个副本。
做法是选定一个规范地址,其余用 301 指过去,并在页面 head 里写好 canonical。注意 canonical 是提示不是命令,真正的收敛还是靠跳转和站内链接保持一致。
URL 设计不是装饰。它决定蜘蛛第一次看到入口页时,能不能快速判断“这是一个独立、稳定的地址”。
几个常见误区
- 以为 URL 静态就一定好:静态地址更容易被稳定识别,但如果内容本身是空白页或临时页,静态也没用。
- 以为参数越多越“动态”越高级:多数搜索引擎对参数的处理已经比较成熟,但没必要主动制造噪音。
- 用 URL 堆关键词:把关键词重复三遍不会加分,反而让地址难以阅读。
- 频繁改地址:入口页上线后大改路径,等于把之前的发现记录丢掉,只能靠 301 慢慢过渡。
上线前的检查顺序
- 确认每个入口页只有一个可访问的规范地址。
- 确认从首页或栏目页有可点的链接,层级不超过三层。
- 确认参数不会生成大量重复地址,必要时屏蔽或跳转。
- 确认大小写、结尾斜杠、协议与域名形式统一。
- 上线后观察日志,看蜘蛛抓到的是不是这些干净地址。
把 URL 这一层理顺,后面的内容更新、互链、日志分析才有稳定的基础。它不是决定收录的开关,但会让蜘蛛少走很多弯路。