解决问题:dedecms织梦内链教程:如何给文章自动添加关键词内链锚文本
网站关键词内链,是做好网站内部优化的一个重要环节,织梦(DedeCMS)官方默认规则是:
1.添加关键词和关键词的链接地址
设置步骤:进入后台 核心->批量维护->文档关键词维护
2.文章内容出现该关键词
3.文章的关键词出现这个词(就是这里 ) //这个是在发布文章的时候填写的
第三条规则使得关键词内链不尽完美,所以得修改文件取消掉第三条规则,达到我们想要的效果,即文章内出现该关键词即链向指定的URL,在Dedecms5.5,5.6下测试有效。
一、开打include/arc.archives.class.php 文件
二、查找 function ReplaceKeyword($kw,&$body)
三、往下找到下面这段代码,删除或注释掉(www.genban.org 网站建设)
-
foreach($kwsas$k){$k=trim($k);
-
if($k!=""){if($i>$maxkey){break;}
-
$myrow=$this->dsql->GetOne("select*frommeiwen_keywordswherekeyword='$k'Andrpurl<>''");
-
if(is_array($myrow))
-
{
-
$karr[]=$k;
-
$GLOBALS['replaced'][$k]=0;
-
$kaarr[]="<spanstyle="text-decoration:underline;">$k</span>";
-
}
-
$i++;}}
四、并在注释或删除的代码下面加入以下代码:
-
$dsql=newDedeSql(false);
-
$query="select*frommeiwen_keywordswhererpurl<>''";
-
$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";}}
五、OK,已经修改完成了。直接复制上面代码,文章内同样的关键词只会出现一个链接。
六、一键更新网站->更新所有