广告投放

帝国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关键词自动内链和关键词长短优先级排序问题的解决方法》

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

    给TA打赏
    共{{data.count}}人
    人已打赏
    广告位招租919838898
    0 条回复 A文章作者 M管理员
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    有新私信 私信列表
    搜索