站点改版时把 /blog/ 全目录 302 到 /p/ 想着观察一阵再定 结果一挂三年 新地址收录正常 但外链权重始终没转过来 索引里旧目录条目还在 搜索结果显示的仍是跳转后的标题

真正麻烦的地方在于,几个原因的现象几乎一样。302 表示临时 蜘蛛不会把权重和索引实体迁移过去;旧地址没有 canonical 指向新地址;内链仍然大量指向 302 的旧目录;sitemap 里同时存在新旧两套地址。

上来先确认跳转码到底是 301 还是 302

curl -sI https://www.example.com/blog/123 | head -3

然后确认业务无需回滚后改成 301

rewrite ^/blog/(.*)$ /p/$1 permanent;

随后列出主题里还指向旧目录的内链

grep -rl '/blog/' wp-content/themes | head

剩下的就是让 sitemap 只保留新地址

curl -s https://www.example.com/sitemap.xml | grep -c '/blog/'

别只看报错消失,验证要多做一步。旧地址全部 301 索引里的旧条目逐步换成新地址 外链权重在两个月内体现到新页。

提醒一点。临时跳转一旦挂过一个月 基本就该当永久处理 越晚改权重损失越大。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。

作者 9823189