先看现象。文章地址用了中文标题,浏览器复制出来是一长串百分号编码,日志里看到的也是编码后的路径。

原因不止一个,得分开看。固定链接直接使用了中文标题。还有一种是不同系统对中文的编码方式不完全一致。

少数情况下是sitemap 里输出的是解码后的地址。

动手时先对比 sitemap 与实际请求的地址

grep -o '<loc>[^<]*' sitemap.xml | head -3

随后改成拼音或英文别名

wp post update 123 --post_name='seo-guide'

给旧地址做 301

rewrite ^/旧地址$ /seo-guide/ permanent;

中途换过一次思路,把范围缩到最小的那一层,反而快了。

中间停过一次,把已经改的东西回滚干净,再重新来一遍。

同样的操作我在测试机上先走了一遍,线上只做验证过的部分。

改完先别撤,确认这几项。地址变为可读的英文别名,分享和日志排查都更方便,收录不受影响。

补一句。中文 URL 本身能被正常抓取,但分享时容易被截断,统计和排查也更麻烦,能用英文别名就别用中文。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189