改版或迁移时,robots.txt编写最容易踩的坑,是把“禁止抓取”当成“从搜索结果移除”。实际上,robots.txt只控制爬虫能否抓取路径,不能可靠地让已收录页面消失;如果旧URL被屏蔽,搜索引擎可能仍保留旧标题和摘要,也无法抓到新页面上的301跳转或canonical信号。正确做法是:改版迁移期间优先保证新URL可抓取、旧URL可跳转,只有在页面确实不应被抓取时才用robots.txt,并配合其他移除手段。
很多人改版后直接写:
User-agent: *
Disallow: /old-section/
以为这样旧页面就会从搜索结果消失。但抓取限制和索引移除是两件事:
所以改版迁移时,不要用robots.txt替代跳转、noindex或状态码处理。
迁移后新站常沿用旧规则,例如:
Disallow: /search
Disallow: /assets/
如果新站把重要页面放在/search/下,或把CSS、JS放在/assets/下,爬虫可能无法渲染页面。核对方法:列出所有重要目录和静态资源路径,逐条对照Disallow规则,确认没有误伤。适用条件:任何改版后路径结构变化的站点。判断结果:若重要页面或渲染资源被屏蔽,应删除或收窄对应规则。
旧页面迁移后,正确顺序是:
如果旧URL被Disallow,爬虫不会请求它,也就看不到301或410。已收录的旧URL可能继续出现在结果中。核对项:随机抽取旧URL,用抓取工具或命令行查看HTTP状态码,确认是301/410而不是200或403。
robots.txt中的Sitemap:行只是提交站点地图位置,不保证收录。迁移后要核对:
注意:不同搜索引擎对robots.txt中Sitemap指令的支持情况须分别核查,不能假定所有引擎行为一致。
改版后常见旧参数链接,如?page=2、?sort=price。有人用Disallow: /*?一刀切。这可能误伤需要抓取的分页或筛选页。核对方法:在搜索控制台或日志中查看哪些参数URL有实际搜索流量,只屏蔽无价值参数,不要全站禁止。适用条件:电商、列表页较多的站点。判断结果:若重要分页被屏蔽,应改为更精确的规则或使用canonical处理。
HTTPS不保证安全无漏洞,也不保证排名。迁移到HTTPS时,robots.txt要核对的是:新HTTPS站点是否可抓取、旧HTTP URL是否301到HTTPS、站点地图是否使用HTTPS地址。不要因为启用了HTTPS就放松对robots.txt、跳转和索引状态的检查。
假设你刚完成域名迁移,按以下步骤检查:
/robots.txt,确认返回200且内容为纯文本。Sitemap:指向新站点地图,且站点地图内无旧URL。这套流程适用于已有页面或项目的改版迁移。判断结果:如果旧URL无法被爬虫请求,跳转和noindex都不会生效,应优先恢复可抓取。
现在就打开你改版后的/robots.txt,把每一条Disallow与当前重要目录做一次对照;对任何屏蔽旧路径的规则,先确认旧URL是否已正确返回301或410,再决定是否保留该规则。