改版、换域名,或者把 /p/123.html 换成 /article/slug,几乎都会带来一段时间的收录波动。多数波动不是所谓的“被惩罚”,而是旧地址、新地址、跳转规则与站内链接之间没对齐。想让过渡平稳,核心只有一件事:让爬虫能明确判断哪个 URL 是旧的、哪个是新的,以及两者是不是同一个页面。
先分清三种情况
三种情况处理方式不同,别用一套动作套所有场景。
- 同域名改版:域名不变,只是模板、栏目结构或页面路径变了。重点是路径映射。
- 换域名:整站搬到新域名。重点是整站跳转与新旧站并存期的处理。
- URL 结构重写:路径规则变化,比如去掉日期目录、改成短路径。重点是一对一映射表。
无论哪种情况,都建议先整理一份“旧 URL → 新 URL”的对照表。表里要覆盖栏目页、列表分页、文章页、标签页,而不是只列首页和几篇热门文章。
跳转:301 要一对一
- 能用 301 就别用 302。302 表示临时跳转,长期使用容易让爬虫继续把旧地址当作主地址。
- 不要把所有旧 URL 都跳到首页。这等于告诉爬虫这些页面已经不存在,原有页面积累的东西很难转移到新页面。
- 避免跳转链:旧地址 → 中间页 → 新地址。链条越长,中途出错的概率越高。
- 避免用 JavaScript 或 meta refresh 做跳转,HTTP 状态码比它们更直接。
- 确实没有对应新页面的旧内容,直接返回 404 或 410,比乱跳更清楚。
给爬虫几个一致的信号
跳转只是入口,页面自身和外部线索也要保持一致。
- sitemap:尽早换成新 URL,旧 URL 从清单里移除。
- canonical:新页面指向自己;如果新旧页面短暂并存,旧页面的 canonical 指向新地址。
- 内链:导航、正文链接、面包屑全部换成新地址。这一步往往比提交 sitemap 更关键。
- 互指关系:分页、多语言等页面之间的指向关系,也要同步更新。
旧的跳转规则不要急着删。保留几个月是常见做法,具体多久取决于旧 URL 还有多少外部链接和访问量。
过渡期的节奏
改版最容易出问题的地方是“一次改太多”。换域名、换模板、加 noindex 测试、调服务器,全挤在同一周,出了状况很难定位是哪一步引起的。
- 先小范围上线,确认跳转、状态码、canonical 都正确,再全量切换。
- 关注服务器响应:过渡期爬虫访问量会变化,5xx 和超时会直接影响抓取与后续处理。
- 别在新站上留着测试用的 robots.txt 规则或 noindex 标签。
怎么判断过渡是否正常
不要只看 site: 命令。更实用的做法是对着日志和索引状态看几件事:
- 爬虫是否开始抓取新 URL,返回码是否以 200 为主。
- 新 URL 是否逐步进入索引,旧 URL 是否逐步退出。
- 搜索结果里的落地页是否换成了新地址。
- 是否有明显的流量断层,以及断层集中在哪些栏目。
过渡期收录数字下降很常见。先确认跳转和各类信号是否一致,再去找其他原因,不要一发现波动就反复改配置。
几个常见的坑
- 只处理首页和热门页,栏目页、标签页、分页全部遗漏。
- 新旧页面内容都保留且都能访问,形成两个版本互相竞争。
- 跳转规则写错,出现循环跳转或跳到 404。
- 换域名后忘了更新 sitemap、站内绝对链接和统计代码。
- 过渡还没结束就删掉旧跳转,导致外部链接全部落空。
把“旧地址到新地址的映射”当成改版清单里的一项正经任务,比事后补救省力得多。改版的目标不是看起来新,而是让搜索引擎和用户都能顺着链接走到正确的页面。