一条通配符规则,把两千个页面全导到首页
这是我见过最偷懒也最要命的写法。技术图省事,在配置文件里甩一行通配,老站所有路径统统跳首页。表面看没404了,实际上搜索引擎判定为软404,老页面的权重一分钱都传不过去。客户还以为自己做对了,等三个月后排名全没了才回过神。301这东西写起来只有几行代码,写对写错的差距是天上地下。
能一对一就别一对多,更别多对一
老站的产品页跳新站对应的产品页,老站的文章跳新站对应的文章。找不到完全对应的怎么办?跳到内容最接近的那个页面,比如跳到它所属的产品分类页,退一步找个近亲也比跳首页强。实在连相关页面都没有的,让它老老实实返回410,告诉搜索引擎这内容永久没了,别再来了。
做广州独立站制作的时候我一般把映射表分三档标记:精确对应、近似对应、彻底下线。精确的占八成以上算合格,低于六成说明你的新站结构规划本身就有问题,得回去重新想。
链式跳转是慢性毒药,一步到位才对
A跳B,B跳C,C跳D,这种链子在多次改版的老站上特别常见。每多跳一层,传递效率就折损一点,跳超过三层谷歌干脆不跟了。正确做法是把历史上所有的跳转规则捋一遍,全部改写成直接指向最终地址。老站要是改过两三次版,这个梳理工作量不小,可它是一次性的,做完受益好几年。
顺带说个容易踩的坑——带www和不带www、http和https、结尾带斜杠和不带斜杠,这四组组合会产生八种地址变体。规则里要统一收敛到一个标准形态,不然你自己给自己制造了一堆重复内容。这活儿我建议在服务器层面一次性配好,别指望在应用层打补丁。
规则写在哪一层,影响的不只是速度
Nginx或者Apache的配置文件里写,性能最好,请求根本不进应用层。WordPress站点用插件管理也行,胜在可视化、非技术人员能改,代价是每次请求多跑一遍PHP。站点规模不大、跳转规则几百条以内,插件完全够用;上万条规则还用插件,服务器要喘不过气。WordPress全球市占率超43%,相关插件成熟度足够高,选对了省心很多。
规则上线后必须验证,别凭感觉。命令行跑批量请求,看返回码是不是301、Location头指向对不对。我习惯写个小脚本把映射表全跑一遍,输出一张对照报告,哪条错了一目了然。人肉点击抽查十条就说"没问题"的,多半在自欺欺人。
什么时候该用302,别一律301
301是永久搬迁,权重传递,一旦被缓存想改回来很麻烦。临时活动页、季节性促销、地区跳转这些短期行为,用302才对。改版属于永久性变更,主力用301没错,可站内那些临时性的路径调整别跟着一起写成301,写死了将来自己难受。
规则的先后顺序,能把人坑得莫名其妙
服务器配置里的重定向是按顺序匹配的,谁写在前面谁先生效。一条宽泛的规则放在最上面,后面几百条精确规则统统失效,页面全跳到一个地方去了。排查这种问题最要命,因为规则明明都写了,就是不起作用。
正确的排法是精确规则在前,模糊规则在后,兜底规则放最末尾。写完之后按顺序读一遍,想象一个具体的URL从上往下走,看它会在哪一条被拦住。这个笨办法比任何工具都管用。
正则表达式尤其要小心。一个没转义的点号能匹配任意字符,一条本来只想管产品页的规则,结果把整站都收编了。写正则的时候把边界锚点加上,能用简单的前缀匹配就别炫技用复杂正则。上线前拿十几个反例测一测,专门测那些不该被匹配的地址。
上万条一对一的规则塞进配置文件,服务器每次请求都要遍历一遍,性能吃不消。这种规模得换思路:能用模式匹配批量处理的先归一批,比如老站所有以某个前缀开头的路径统一替换前缀,一条规则顶几千条。剩下的实在没规律的特例,放进一个映射文件里查表处理,查表的速度比逐条匹配快得多。
规则也要定期清理。改版两年之后,老域名的抓取请求基本归零,那些历史规则就可以逐步下线了。留着不清,往后每次改版都得在这堆陈年老账上继续叠加,越滚越乱。我一般建议每两年做一次规则体检,把已经没有流量的条目摘掉。
301这活儿说难不难,说简单也不简单,无非是耐心。少写一行规则,就少一条回家的路。
广州网站建设
如没特殊注明,文章均为高端网站定制专家万智网络原创,转载请注明来自https://www.wanzhiweb.com/xwzx/jyfx/18120.html


