帝国cms 关键词自动上连接,以及限制次数。

1959人参与 |分类: 程序学习|时间:2023-02-28 13:53:46

具体操作步骤 分为两步;

第一步:设置站内:帝国cms文章关键字自动加链接。

找到位置:后台>其他>管理内容关键字,在框中添加关键词和链接

如图所示:

设置自己关于站点的关键词及相关信息内容链接;

第二步:设置关键词替换次数方法及技巧。

帝国cms内容关键字默认的是替换全部关键词,内容中会多次出现关键词锚文本,会全部加上a标签,而对搜索引擎的蜘蛛来说也许是在作弊,反而影响整个站点权重。

设置技巧:建议内容关键词锚文本出现1次或2次,建议设置的1次,帝国cms信息内容关键字重复出现,就只会替换第一个关键词锚文本。

设置方法如下:

位置:后台>系统>系统设置>系统参数设置>信息设置

第三步:特别注意内容关键词替换时把图片ALT与超链接替换的解决方法;

如下所示:

仅限于系统设置了替换次数,实际上从seo来说不建议把整篇文章都替换,那样页面中如果出现关键字过多,那么相同连接就泛滥了,如果你系统设置中设置的替换成1次,2次,只要不是0,那么修改e/class/functions.php中的ReplaceKey函数,425行左右,修改如下:

原函数:
$newstext=empty($public_r[repkeynum])?str_replace($r[keyname],'<a href='.$r[keyurl].' target=_blank class="infotextkey">'.$r[keyname].'</a>',$newstext):preg_replace('/'.$r[keyname].'/','<a href='.$r[keyurl].' target=_blank class="infotextkey">'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);

修改后的:
$newstext=empty($public_r[repkeynum])?str_replace($r[keyname],'<a href='.$r[keyurl].' target=_blank class="infotextkey">'.$r[keyname].'</a>',$newstext):preg_replace('/(?!<[^>]*)'.$r[keyname].'(?![^<]*>)/','<a href='.$r[keyurl].' target=_blank class="infotextkey">'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);
preg_replace是正则判断,就用正则表达式把<>里面的排除掉。这样一来问题就解决了。以上代码只是防止 ALT属性被替换
修改前记得备份,改坏了不负责。 本方法干净大方,无累赘,不增加负担~ 在6.6版本测试通过。

alt与超链接被替换的解决方法

使用正则  '/'.$r[keyname].'(?!([^<]*>)|([^<]*</a>))/i'  红色为增加的正则,该方法在 7.2UTF8测试通过