帝国cms文章内链关键字被拆分的解决方案

帝国cms文章关键字内链被拆分是帝国cms系统在网站内链关键字设置上一直被站长所诟病的地方。具体体现为:

比如网站设置的关键字有:覃师宁、个人博客、覃师宁个人博客

现在我们想要设置替换的关键字是覃师宁个人博客,但是实际情况是替换的关键字是:”覃师宁“这个关键字而已。那么我们如何解决内链关键字被拆分的问题呢?

1、路径:/e/class/functions.php

2、替换下面的找到//替换关键字、其中的if(STR_IREPLACE)判断,关键的是:/i替换为(?!([^<]*>)|([^<]*</a>))/i

这里提供了替换代码

  • if(STR_IREPLACE)
  •         {
  •             $newstext=empty($public_r[repkeynum])?str_ireplace($r[keyname],'<a href='.$r[keyurl].' tARget=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext):preg_replace('/'.$r[keyname].'(?!([^<]*>)|([^<]*</a>))/i','<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);
  •         }
  •         else
  •         {
  •             $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>))/i','<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);
  •         }
  •     }

设置完成,在测试是不是已经完成了关键字被拆分的问题了。

进一步延展:已经修复内链关键词拆分!但是还是有一个问题,就是如果一篇文章,出现多个关键字,如何根据网站关键词长短优先级排序,也就是长的关键字先替换,短的不替换

比如网站关键字有:覃师宁、个人博客、覃师宁个人博客

文章首段:覃师宁个人博客是一个专注分享网站设计,帝国cms模板二次开发的个人博客网站

我们如何做到替换的关键字是“覃师宁个人博客”,而不是“覃师宁”,但是实际情况是帝国cms内链关键字替换是以谁先出现,替换谁的原则。

这就需要考虑关键词长短优先级排序,站在SEO角度,自然是长的关键字先排序替,短的不替换。

然而帝国cms在内链关键字上,除了关键字拆分,同时在长度排序上也没有做出定义。那么我们如何解决呢?

下一篇我们会探讨《帝国cms关键词自动内链和关键词长短优先级排序问题的解决方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值