WordPress更换服务器后出现重复或冲突信号,最常见的误解是“只要把旧服务器关掉,重复内容就会自动消失”。实际情况更复杂:旧站如果仍可访问、仍返回200状态码、仍被搜索引擎抓取,新站与旧站就会同时存在同一批URL,形成重复或信号冲突。正确做法不是立刻删库或关站,而是先确认哪些URL仍可访问、哪些已被抓取、哪些信号(canonical、站点地图、内链、外链)指向旧地址,再按条件逐步收敛。
重复信号指同一内容在两个地址上都能打开,例如旧服务器IP仍能访问、临时域名仍解析、测试站没关。冲突信号指两边的技术声明互相矛盾,例如新站页面写canonical指向新域名,但旧站页面canonical仍指向旧域名;或者站点地图里同时提交了两套URL。排查时不要只看首页,要抽查栏目页、文章页、图片和上传目录。
curl -I或浏览器无痕访问旧地址,看状态码和跳转目标。如果旧服务器还能控制,优先做整站301跳转到新站对应URL,而不是让旧站返回404或直接关机。301能传递信号,也能让用户和搜索引擎找到新地址。但要注意:如果旧站和新站内容并非一一对应,或者只是部分迁移,就不要把所有旧URL都跳到新站首页,否则会被视为软404或无关跳转。适用条件是旧站有稳定流量、外链和收录;判断结果是旧URL应尽量跳到新站最接近的页面。
如果旧服务器已经无法控制,或者只是临时测试环境,处理方式不同:能关则关,能设防火墙则限制访问,避免它继续被公开抓取。不要一边保留旧站可访问,一边只在新站提交站点地图,这会让两套信号同时存在。
WordPress更换服务器后,常见冲突来自插件或主题把canonical写死为旧域名。检查方法:打开新站文章页,查看源码中的<link rel="canonical">,确认它输出的是新域名。如果使用SEO插件,进入其设置检查“站点地址”或“规范URL”是否同步更新。站点地图只提交新域名下的地址,旧域名站点地图应停止提交或让它随旧站跳转失效。内链也要检查:菜单、文章正文、小工具里的链接如果还指向旧域名,应批量替换为新域名。
需要提醒的是,robots.txt的抓取限制不等于可靠的索引移除。你在旧站robots.txt里写Disallow,只能阻止后续抓取,不能保证已收录页面立刻消失;站点地图也不保证收录,它只是发现URL的辅助方式。HTTPS同样不保证安全无漏洞或排名提升,它只是传输层加密。不同搜索引擎对跳转、canonical和移除请求的支持情况须分别核查。
假设一个场景:旧站文章/old-post/在新站对应/new-post/,旧站应301到新站该文章,而不是跳到首页;如果新站没有对应内容,才考虑410或保留说明页。这个判断依据是内容对应关系,不是域名本身。
观察新站日志中来自搜索引擎的抓取是否增加,旧站日志中是否仍有大量200响应;检查搜索结果中旧域名是否逐步被新域名替换。如果旧站仍返回200且canonical仍指向自己,重复信号通常不会自行消失。下一步是登录搜索引擎的站长平台,分别核查新域名的抓取、索引和站点地图状态,并对仍显示旧域名的URL提交更新或移除请求。