先把“有效地址集合”理解成一个可维护的白名单,而不是把所有能打开的URL都算进去。面对筛选、排序、分页、追踪等参数组合,你要做的不是穷举,而是为每类页面定义一个规范地址,并让内链只指向这个集合内的地址。旧内容、旧系统或旧合作关系退出时,这个集合就是判断哪些页面继续保留、哪些只保留跳转、哪些彻底不再链接的依据。
参数组合之所以会无限增长,通常不是页面真的变多了,而是同一个内容被不同访问状态反复表达。你可以拿任意一个带参数的URL来问:去掉这个参数后,页面主体内容是否发生实质变化?
这个判断直接决定下一步:内容身份参数进入有效地址集合,访问状态参数只允许出现在站内功能链接中,不进入内容页之间的正文内链。若两者混在一起,后面的站点地图和抓取预算都会被拖垮。
不要试图为每个参数组合都写一条规则,那样规则本身也会无限增长。更可执行的做法是反过来定义:什么算规范地址,什么一律排除。
这样定义后,有效地址集合是一个有限清单,参数增长只影响被排除的部分,不会让需要维护和内链的页面数量持续膨胀。
旧内容退出时,最容易犯的错是“一刀切删除”或“全部保留”。你可以按下面的顺序处理手中的旧页面:
关键动作是:每处理一个旧页面,就同步更新一次内链来源。如果只改地址不修内链,有效集合之外的老地址仍会被反复访问,前面的定义就失效了。
定义完集合后,可以用站点地图提交你希望保留的规范地址,但站点地图不保证收录,它只是告诉搜索引擎哪些地址是你认可的。对于要排除的参数组合,robots.txt 的抓取限制不等于可靠的索引移除:被限制抓取的地址仍可能因为外部链接而出现在索引中。若确实需要移除,应使用页面级或响应头级别的移除信号,并分别核查不同搜索引擎的支持情况。
一个可操作的验证方法是:从有效地址集合中随机抽取若干页面,检查它们的正文内链是否只指向集合内地址。如果发现指向集合外的链接,先修正来源页面,再重新抽样。这个动作的结果会告诉你排除规则是否真的生效,而不是只看抓取量或请求量下降就下结论——请求量归零也可能只是抓取调度变化,不能单独证明处理正确。
假设某旧站有一批商品列表页,地址形如 /list?color=red&size=m&sort=price。颜色和尺寸改变的是内容身份,排序改变的是访问状态。
按上面的方法,你可以为每个颜色和尺寸组合保留一个规范地址,把排序参数排除。对于已经退出合作的品牌筛选页,若该品牌商品已下架,就不再纳入集合,并把原先指向它的内链改为指向同品类的主列表页。执行后重新抽样内链,确认没有正文链接继续指向带排序参数的地址。下一步才是决定是否为这些规范地址更新站点地图,而不是先批量提交全部参数组合。
这个例子的数字和场景都是假设,用于说明比较方法:先区分参数性质,再定义集合,最后用内链抽样验证,而不是靠一次提交或一次抓取限制解决全部问题。