迁移之后,索引里为什么会新旧两种 URL 并存
换域名、改目录结构、把 http 换成 https、把 /p/123.html 改成 /article/123,这类动作做完之后,服务器上的跳转是即时生效的,但搜索引擎索引里的记录不是。索引是一份需要被更新的副本,旧 URL 的记录要等蜘蛛重新访问、确认跳转、抓取新页面、重新评估之后,才可能被替换。这段新旧并存的时间,就是迁移期的收录交接期。
问题在于,交接期的表现很容易被误读。有人看到旧 URL 还在索引里,就以为迁移失败了;有人看到新 URL 已经出现,就以为大功告成,把后续该做的事停掉。这两种判断都下得太早。
先确认迁移本身是不是“干净”的
交接慢,多数时候不是搜索引擎的问题,而是迁移动作留下了尾巴。可以按下面的顺序自查:
- 跳转是不是单跳。旧 URL 直接 301 到新 URL。如果中间还夹着一层甚至两层,每次访问都要多走一步,蜘蛛确认成本会变高。
- 是不是全站覆盖。只跳首页、只跳主要栏目,而列表页、详情页、分页、老文章仍然以 200 可访问,索引里自然长期保留两份。
- 内部链接有没有换过来。导航、面包屑、相关推荐、正文内链、sitemap 都指向新 URL,蜘蛛才有机会顺着站内路径稳定发现新地址。旧链接留在页面里,等于自己在给旧 URL 续命。
- canonical 指向哪里。新页面自指,旧页面要么 301 要么不出现,别写成“新页面 canonical 到旧地址”这种反着的用法。
- 别顺手把旧站封死。旧域名如果整个 robots.txt 禁抓或者全站 noindex,蜘蛛就没有机会看到 301,交接会被卡住。想收口的是旧 URL 的可访问性,不是旧 URL 的可发现性。
过渡期该看哪几个信号
不要只盯着“收录量”这一个总数。迁移期更该看的是结构性的变化:
- 旧 URL 被抓取时,返回的是不是 301,跳转目标是不是正确的那个新地址。
- 新 URL 是否开始被蜘蛛访问,访问频率有没有从零星变成稳定。
- 索引中旧 URL 的数量是否在缓慢下降——这个过程通常是渐进的,很少某天突然清空。
- 搜索结果的落地页是否从旧 URL 切到新 URL,点击与展现是否跟着转移。
- 重要页面(首页、核心栏目、高价值内容)是否先完成交接,长尾内容落后属于常见情况。
看总量容易被站点规模差异掩盖,看“重要页面的新旧比例”更有判断力。
容易拖慢交接的几种做法
新旧两版同时可以正常访问
这是最常见也最伤的一种。内容一样、都能打开、都不做声明,搜索引擎只能自己选一个,而且选择结果可能反复。长期看两份同时被索引,信号也被拆开。
只改域名,不改内容里的绝对地址
正文、图片、CSS、内链里写着旧域名的绝对地址,蜘蛛顺着这些地址又走回旧站,等于自己制造循环。
迁移和改版同时做
换域名、换模板、换 URL 结构、换内容组织方式同时进行,一旦出问题就无法判断是哪一步造成的。稳妥的做法是拆开、分批推进。
一个可以照着执行的检查顺序
- 列出旧 URL 与新 URL 的对应表,确认覆盖到详情页、列表页、分页和已废弃页面。
- 逐条验证跳转:状态码、跳转目标、是否单跳、是否覆盖全量。
- 更新站内所有内部链接与 sitemap,只保留新 URL。
- 确认新页面可被抓取、可被索引:robots、meta、登录墙、脚本渲染都过一遍。
- 观察抓取日志里新旧 URL 的访问比例变化,而不只看报表上的收录总数。
- 对长期仍被访问的旧 URL,检查是否还有站外链接或站内残留指向它。
关于时间预期
交接速度取决于站点规模、页面数量、抓取频率和外链分布,没有统一的时间表。小站可能较快看到明显切换,内容量大的站点分层推进、持续数周甚至更久都属正常。能控制的是迁移动作是否干净、信号是否一致;不能控制的是搜索引擎什么时候更新某一条记录。所以在过渡期,重点是把该做的动作做完整,然后按节奏观察,而不是每天看一次收录总数就改一次策略。