你是不是做帝国CMS站的时候,好不容易伪静态设置完了,以为万事大吉。结果过了一个月查收录,傻了?同一个内容,动态带参数的链接和伪静态.html链接,居然都被收录了。本来就不多的权重直接被拆分,排名刚摸到前十直接掉没影,严重的还会被判定重复内容整站降权。我前阵子帮一个做本地装修的朋友处理过这个问题,他就是漏了两个设置,3个月的更新全白费,光拉权重就拉了俩月才回来。今天这篇全是实操步骤,零技术基础照着点就行,看完就能把这个问题彻底解决。
上来直接改配置很容易踩坑,先搞清楚问题出在哪,处理起来才高效。
你直接去百度搜索资源平台,找“流量与关键词”里的“索引量”,下载最近30天的收录链接清单。也可以直接在搜索框输site:你的域名,把所有收录的链接都复制出来整理成表格。
重点筛两种链接:一种是带/e/action/或者?classid=这类参数的动态链接,另一种是你设置的.html后缀的伪静态链接,两个内容一模一样的就是重复项。
90%的人都是这两个原因导致的:要么是伪静态规则开了,但是没关动态链接的访问权限,动态链接还能正常打开;要么是模板里的导航、内容页链接,有的调用了动态地址,没统一换成伪静态的。
举个例子,之前有个做二手交易的站长,伪静态设置完了,但是首页推荐位的链接还是调用的动态地址,蜘蛛爬着爬着就把两套链接都收了。
这几步是我测试过几十次的最优流程,不会损失之前攒的权重,修复速度也最快。
说白了301就是给搜索引擎发个搬家通知,旧地址的权重都转到新地址上。直接把所有动态链接,永久跳转到对应的伪静态链接上,蜘蛛再爬动态就会自动跑到伪静态那边。
如果你的服务器是nginx的话,直接把这段代码加到nginx配置里:
``` if ($query_string ~ ^(.)classid=([0-9]+)&id=([0-9]+)(.)$) { rewrite ^/e/action/ShowInfo\.php$ /$2/$3.html? permanent; } ```
要是用的apache服务器,就把这段加到根目录的.htaccess文件里就行。
避坑提醒:别直接把动态链接禁了返回404,不然之前攒的权重直接全清零,一定要做301跳转合并权重。改完记得测一下,随便输个之前的动态链接,看能不能自动跳到伪静态地址,跳的状态码是不是301,别写错规则搞成404了。
光跳还不够,你得把网站里所有能点的链接,全换成伪静态格式的,不给蜘蛛爬动态链接的机会。
首先去帝国CMS后台,找“系统设置”里的“伪静态设置”,把所有内容模型的链接规则都统一成你要的格式,比如列表页是/[classpinyin]/,内容页是/[classpinyin]/[id].html。然后去“模板管理”里,把所有模板里之前手动写的动态链接,全替换成系统的伪静态调用标签,比如内容页链接就用[!--titleurl--],别自己拼地址。
避坑提醒:改完模板一定要全量更新下页面缓存,不然老的缓存页面还是带动态链接,等于白改。
前面两步做完只是基础,这两步能帮你更快把旧的重复收录清掉,少走弯路。
你之前被收录的动态链接,现在跳301了,也可以整理成死链清单,直接上传到百度搜索资源平台的死链提交入口,这样搜索引擎会更快把旧的动态链接从收录里删掉。注意死链地址要填之前的动态链接,不要填伪静态的。
改完前7天每天都去看一下索引量数据,要是看到动态链接的索引量慢慢下降,伪静态的索引量稳定上升,就说明没问题。要是发现伪静态链接反而掉收录,就回去查301规则是不是写错了,或者有没有伪静态页面打不开的情况。
今天讲的这几步,操作下来最多一个小时。改之前记得先备份服务器配置和网站模板,就算写错了也能一键回滚,没啥风险。要是你现在站已经出了重复收录的问题,今天就可以动手改。要是还没出问题,也去查下自己的收录清单,提前排查总比掉排名了再救火强。我前阵子帮那个装修站的朋友改完,半个月重复链接就全清完了,排名不到一个月就回到了之前的水平,早改早省心。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图