织梦(Dedecms)官方默认规则是: 1.添加关键词和关键词的链接地址 设置步骤:进入后台 核心->批量维护->文档关键词维护 2.文章内容出现该关键词 3.文章的关键词出现这个词(就是这里<meta name=”keywords” content=”" />) //这个是在发布文章的时候填写的 第三条规则使得关键词内链不尽完美,所以得修改文件取消掉第三条规则,达到我们想要的效果,即文章内出现该关键词即链向指定的URL 在Dedecms5.5,5.6下测试有效
一、开打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 dede_keywords where keyword='$k' And rpurl<>'' "); if(is_array($myrow)) { $karr[] = $k; $GLOBALS['replaced'][$k] = 0; $kaarr[] = "<span style="text-decoration: underline;">$k</span>"; } $i++; } }
四、并在注释或删除的代码下面加入以下代码:
$dsql = new DedeSql(false); $query="select * from dede_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[] = "<a href='$rul' title='$key' target='_blank'>$key</a>"; } }
五、OK,已经修改完成了。直接复制上面代码,文章内同样的关键词只会出现一个链接。
六、一键更新网站->更新所有
|