如果遗留系统的模板层动不了,你仍然可以在 robots.txt 之外做有限调整,但边界很清楚:能改的是抓取入口的放行与拦截规则、页面级指令、以及站点地图等发现路径;不能改的是模板输出的 canonical、分页链接和导航结构。先接受这个限制,再把动作分成“可独立部署”和“必须依赖模板”两类,只做前者。
遗留系统通常把模板、路由和输出逻辑绑死。此时可独立生效的只有三类:站点根目录下的 robots.txt、可单独返回的页面级 meta 指令、以及独立维护的站点地图文件。判断方法很简单:把目标改动写成一条规则,问自己“它是否需要模板渲染才能出现在 HTML 里”。需要,就放弃;不需要,才进入候选清单。
一个实际动作是:打开当前 robots.txt,逐行标注每条规则对应的路径与目的。结果会影响下一步——如果发现某条 Disallow 覆盖了本应被抓取的目录,先改这一条,而不是急着加新规则。因为遗留系统下每加一条规则都可能误伤未列出的路径,减少比增加更安全。
robots.txt 只表达抓取许可,不表达索引移除。这意味着即使你把某路径写进 Disallow,页面仍可能因为外链或历史记录出现在结果里。遗留系统无法改模板时,容易误以为“封了抓取就等于删了页面”,这是最常见的越界判断。
如果目标是让页面退出索引,robots.txt 不是正确工具,应改用页面级 noindex,但那通常需要模板配合。当模板不可动时,这条路径实际上被关闭,你只能接受“停止抓取但可能仍被索引”的中间状态,并向相关方说明这一限制。
如果遗留系统允许单独编辑个别页面的 head 区域,或者有独立于模板的注入点,那么 noindex、nofollow 这类指令是可用的。但要注意:这类指令必须能被爬虫实际读到才有效,若页面本身已被 robots.txt 拦截,爬虫不会读取页面内容,noindex 也就不会被看到。两者不能同时用于同一路径。
站点地图是另一条可独立维护的路径。你可以生成并提交它,但不能由此推出“提交即收录”。站点地图只帮助发现,不保证抓取和索引。假设某栏目有 200 个页面,模板无法加内链,你只能靠站点地图暴露它们——这能提高被发现的机会,但无法替代站内链接对权重和抓取频率的作用,这个结论需要在后续观察抓取日志时再验证。
在权限和数据都不完整时,建议按以下顺序执行,每一步都保留回滚点:
这个顺序的意义在于:每次只动一个变量,才能把结果归因到具体改动。遗留系统下模板不可控,任何一次多规则同时修改都会让后续判断失去依据。
抓取限制不等于索引移除;站点地图提交不保证收录;HTTPS 不保证安全无漏洞,也不保证排名。当模板无法修改时,你能做的调整集中在抓取入口和发现路径,索引层面的控制权实际上不在手上。把这一点写进方案说明,比承诺一个无法兑现的结果更负责。如果后续拿到了模板权限,再重新评估是否需要补上页面级指令,那才是下一个阶段的动作。