结论先说:模板不能改,并不等于只能被动等抓取。真正可用的边界在于——你能否在不触碰页面输出结构的前提下,改变“哪些 URL 被暴露、哪些内容被看见、哪些路径被拦截”。如果连这三件事都做不到,那么剩下的操作空间非常有限,此时更合理的判断是接受抓取节奏,而不是反复提交同一批地址。
遗留系统常见的情况是:后台没有模板编辑权限,页面由老框架直接渲染,URL 结构固定,连 meta 标签都未必能改。运营或 SEO 侧却仍能拿到一批地址,于是把它们批量提交,希望至少让搜索引擎知道这些页面存在。
一段时间后可能出现两种反馈:一是抓取日志里这些地址出现次数没明显变化;二是抓取出现了,但抓到的仍是旧内容或空壳。很多人据此认为“提交没用”。这个判断下得太快,因为至少有两种解释都能产生同样的现象。
解释一:提交只是入口提示,不是抓取指令。提交动作本身只告诉搜索引擎“这里有 URL”,它不改变站点的抓取预算分配,也不改变服务器对爬虫的响应速度。如果站点整体抓取频率低、响应慢或存在大量重复参数,提交后没有立刻变化是正常的。
解释二:页面被抓取了,但可见内容不达标。遗留系统常把正文放在需要执行脚本后才出现的位置,或者对未登录、无 Cookie 的请求返回占位内容。这种情况下,抓取量可能上升,但有效内容没有被读到,收录自然不会推进。
这两种解释对应的动作完全不同:前者要解决抓取入口和站点整体响应,后者要解决内容可见性。选错方向,后续所有操作都会浪费。
不要只看提交后的总量,要看单条 URL 的响应链路。可以按下面的顺序取证据:
curl 或类似方式请求目标 URL,去掉 Cookie 和登录态,看返回的 HTML 里是否包含正文关键词。如果返回的是空壳,属于解释二。这里要注意一个边界:抓取量或请求量归零,并不能单独证明你的处理是正确的。它也可能是站点整体被降频、服务器临时不可达、或该路径被某条规则拦截的结果。必须结合状态码和返回内容一起看。
在模板不可改的前提下,能调整的通常只有外围配置和内容层。可以动的包括:
robots.txt 控制哪些路径不必抓取。但必须清楚,robots.txt 的抓取限制不等于可靠的索引移除——它阻止的是抓取,不是已存在索引的删除。不能动的边界同样明确:无法改标题和描述时,不要指望通过反复提交来改变摘要展示;无法改 URL 结构时,不要假设换一个提交入口就能绕过重复内容问题。HTTPS 也不保证安全无漏洞或排名,它不构成这里的选择依据。
假设某遗留系统有 5000 个详情页,模板无法修改,正文由前端脚本渲染。现在有两个看似合理的做法:
做法 A:批量提交全部 5000 个 URL,并持续重复提交。适用条件是服务器响应稳定、无脚本请求也能返回正文、且这批 URL 此前从未被暴露。代价是如果无脚本请求返回空壳,提交只会消耗抓取预算,不会带来收录。
做法 B:先修数据输出,让无脚本请求返回正文,再提交其中一批。适用条件是正文数据可从数据库或接口取出,且改动不涉及模板文件。代价是需要开发配合,周期更长。
区分条件很直接:先用一条 URL 做无 Cookie 请求,看返回内容里有没有正文。如果有,做法 A 可以成立;如果没有,做法 B 才是有效路径。这个测试只需要一条 URL,却能决定后续是继续提交还是先改输出。
实际操作上,建议先做这个单条测试,再根据结果决定下一步:返回正文就扩大提交范围并观察抓取日志;返回空壳就暂停批量提交,把精力转到数据输出层。不同搜索引擎对脚本渲染和提交入口的支持情况需要分别核查,不能用一次测试结果推断所有渠道。
遗留系统的调整边界,最终取决于你能不能在模板之外改变内容的可见方式。能改,提交才有意义;不能改,提交就只是重复告知,不会改变结果。