由于网站优化的需要,今天就讲讲怎么自动把发布的文章里出现的关键词添加上内链锚文本。
1.添加关键词和关键词的链接地址 ,
设置步骤:进入织梦dedecms后台 核心->批量维护->文档关键词维护 。
登录后台->系统->系统核心参数->核心设置:在【关键字替换(是/否)使用本功能会影响HTML生成速度:】选项下选择“是 ”;
2.文章内容出现该关键词
3.文章的关键词出现这个词(就是这里 ) //这个是在发布文章的时候填写的
第三条规则使得关键词内链锚文本不尽完美,所以得修改程序文件取消掉第三条规则,达到我们想要的效果,即文章内出现该关键词即链向指定的URL,在Dedecms5.6,5.7下测试有效。
首先
一、开打include/arc.archives.class.php 文件
二、查找 function ReplaceKeyword($kw,&$body)
三、往下找到下面这段代码,删除或注释掉(直接删除就行,别忘记在备份下)
foreach($kws as $k){$k = trim($k);if($k!=""){if($i > $maxkey){break;}$myrow = $this->dsql->GetOne("select * from xjq_keywords where keyword='$k' And rpurl<>'' ");if(is_array($myrow)){$karr[] = $k;$GLOBALS['replaced'][$k] = 0;$kaarr[] = "$k";}$i++;}}
四、在注释或刚删除的代码下面加入以下代码:
$dsql = new DedeSql(false);$query="select * from xjq_keywords where rpurl<>'' ";$dsql->SetQuery($query);$dsql->Execute();while($row = $dsql->GetArray()){$key = trim($row['keyword']);$rul=trim($row['rpurl']);if($rul!="")if(!in_array($key, $kw))if(!in_array($kw,$key))if(substr_count($body,$key)<20){$karr[] = $key;$kaarr[] = "$key";}}
五、这样就已经修改完成了。文章内同样的关键词只会出现一个链接。
六、一键更新网站->更新所有或者更新所有文档,这样生成的更快点。
(责任编辑:好模板) |