当你面对一个由筛选、分页、排序、会话参数拼接出的 WordPress 地址空间时,有效地址集合不能靠“穷举全部组合”来定义。更可执行的做法是:先为参数分出维度,再给每个维度划定允许值的边界,最后只保留能映射到真实内容或明确跳转规则的组合。缺少完整访问日志或服务器权限时,你仍可以从站点地图、内链、规范标签和现有重定向中反推一个最小有效集合,但推不出“没被列出的组合一定无效”。
参数组合之所以看起来无限,通常是因为把不同性质的参数混在一起计数。对 WordPress 服务器上的地址空间,可以先按作用拆成几类:
只有第一类参数真正扩展了“有哪些内容页”,第二类和第四类是在已有内容页上做变体,第三类通常不应进入有效地址集合。把这几类分开之后,组合数量会从乘法关系变成几个可控的集合。
有效地址集合可以定义为满足以下任一条件的地址:
反过来,以下情况不应计入有效集合:返回空结果但仍以成功状态呈现的筛选页、只改变排序却不改变内容主体的地址、以及仅用于跟踪的会话参数地址。这里要注意一个常见误判:robots.txt 里禁止抓取某类参数,并不等于这些地址已被可靠地从索引中移除;抓取限制和索引移除是两件事,需要分别核查。
假设你手上只有一个 WordPress 站点的前台页面,没有服务器日志,也没有数据库权限。可以按下面顺序处理:
这个动作的结果会直接影响下一步:如果某个参数在手工取样中从不改变内容,你可以优先把它加入规范标签统一或跳转规则;如果它偶尔改变内容,则需要更细的取值边界,而不能直接一刀切。需要说明的是,手工取样只能证明“取到的样本如此”,不能证明“所有取值都如此”,所以结论要写成待验证假设,而不是最终规则。
假设某站点有颜色、尺码、排序和页码四类参数,颜色有 6 个取值,尺码有 5 个取值,排序有 3 个取值,页码不限。表面组合是 6×5×3×页码,几乎无限。
如果颜色和尺码各自对应真实存在的商品集合,那么有效地址集合可以限定为:颜色与尺码的合法组合,加上排序参数中的默认值,再加上实际存在的页码。排序的非默认值如果不改变内容主体,可以统一指向默认排序的规范地址。页码则只保留实际有内容的页,超出末页的页码不应视为有效地址。
这个例子的关键不是具体数字,而是判定顺序:先确认参数是否改变内容,再确认取值是否有真实内容支撑,最后才处理展示类和分页类变体。站点地图不保证收录,所以即使你把某个组合写进站点地图,也不能据此认定它一定被处理为有效地址。
定义有效地址集合的最终产出,应该是一份能交给开发或运维执行的规则,而不是一句“参数太多”。规则至少包含:参数名、参数类别、允许取值来源、无效时的处理方式(跳转、返回错误状态或统一规范地址)、以及验证方法。
验证时不要只看状态码。状态码正常但内容为空、或内容重复但规范标签缺失,都属于需要继续处理的信号。HTTPS 只说明传输层配置,不保证地址集合定义正确,也不保证页面没有重复内容问题。不同搜索引擎对参数地址的处理方式需要分别核查,不能把一家的观察直接套用到另一家。
当你缺少完整数据时,最小动作是先建立参数分类和取样证据,再据此收缩有效集合;能确定的写入规则,不能确定的保留为待验证项,并说明还需要哪些数据才能推进。