帝国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)