欢迎访问覃师宁博客!

帝国cms关键词长短优先级排序先替换较长的词解决方法

帝国cms内容关键字替换对于绝大多数没有php相关经验的站长朋友就是一个大坑,为什么这么说呢?

主要原因有两点:

1、文章内链关键字被拆分

具体实例和解决办法看文章:帝国cms文章内链关键字被拆分的解决方案

2、内链关键字谁短谁先出现,就先替换谁的原则

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

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

看到这里,我相信绝大多数网站都会想以:”覃师宁个人博客“作为这篇文章的内链锚文本关键字,但是帝国cms程序优先级以“覃师宁”作为内链锚文本展示

那么,我们如何根据关键词长短优先级排序,也就是说,以覃师宁个人博客、个人博客、覃师宁这样的顺序进行排序,这里需要修改functions.php中的参数

3、内链关键字长度优先级的解决办法

找到路径:e/class/functions.php,搜索//替换关键字,找到

  • $where=" where cid='".$class_r[$classid]['keycid']."'";

替换

  • $where=" where cid='".$class_r[$classid]['keycid']."' ORDER BY L DESC";    

查找

  • $sql=$empire->query("select keyname,keyurl from {$dbtbpre}enewskey".$where);

替换

  • $sql=$empire->query("select keyname,keyurl,CHAR_LENGTH(keyname) AS L from {$dbtbpre}enewskey".$where);

解释说明一下:ORDER BY L DESC,根据关键字长短降序,而CHAR_LENGTH(keyname),则是mysql获取关键字字符串长度函数(CHAR_LENGTH)

    猜你喜欢

    无相关信息

文章评论

人参与,共有 0 条评论

为了响应国家网信办《网站要对跟帖评论审核管理规定》,网站评论将审核后发表