一个栏目整体不做了,里面有两百多篇文章,不确定应该全部 410 还是跳到相近的新栏目。
真正麻烦的地方在于,几个原因的现象几乎一样。内容彻底废弃用 410 更干脆。也可能是有相近主题的栏目,301 能承接部分流量。
还有一种情况,全部跳首页会被判为软 404。
上来先看栏目里是否有高流量文章
grep -c '/old-cat/' access.log
高流量文章单条 301 到相近内容
rewrite ^/old-cat/(hot-.*)$ /new-cat/$1 permanent;
其余返回 410
location /old-cat/ { return 410; }
手上没有现成的复现脚本,就照着线上请求手工拼了一个。
报错是间歇性的,我蹲守了半小时才抓到一次完整现场。
改完先别撤,确认这几项。有流量的文章保住了入口,废弃页面快速退出索引,栏目整体抓取量下降。
一刀切 410 会丢掉还能承接的流量,一刀切 301 到首页又会制造软 404,按流量分层处理最划算。处理完在日志里盯一周,看旧栏目的请求是否还在增长。报错文案容易误导,真正的原因往往在相邻那一层的日志里。