首先先申明一下,小弟不是什么高手,甚至对 PHP 一点都不懂,所以有什么错误的地方,请大侠们指出。先看一下效果,http://www.xmxyk.net/html/ykxd/2009/1112/1131.html,在这篇文章里面有两个关键字,即“厦门信用卡”与“信用卡积分”。我在发布文章的时候都没有加上链接,现在都文章里面去看,是有链接的,所以这些链接都是自动加的。这其实也就是实现了 DEDE 自动加内链的功能。
其实通过 dede 后台是可以直接设置的,但比较麻烦,搞不懂 dede 设计者这个这么重要的 SEO 都没有设计。嘿嘿,以下我在 dedecms V5.3 中设置的步骤:
1、进入后台,系统,系统基本参数,核心设置,关键字替换(是 / 否),这里选择“是”。
2、然后“采集”,“文档关键词维护”,在这里面设置关键词,指向网址。这里,我设置的是“厦门信用卡”与“信用卡积分”都链向 http://www.xmxyk.net。注意:这里频率不是指关键词出现的次数。
3、在发布文章时,在“TAG 标签”里,输入相应的关键词:厦门信用卡与信用卡积分。注意,使用 dede 后台设置,就必须这样设置,不然起不了作用。
这个功能是实现了,但很麻烦,我每次发文章的时候,在 TAG 标签里面都得输入相应的关键词,很麻烦。修改以下代码就可以不用设置第三步就可以实现自动加内链了。PS:这段代码是我在 dedecms 的论坛里面找到的,修改过可以实现这个功能,请大家放心使用,不过最好在修改前把文件备份一下。
修改文件 /include/arc.archives.class.php,找到这一段:
以下为引用的内容: foreach($kws as $k) { $k = trim($k); if($k!=””) { if($i > $maxkey) { break; } $myrow = $this->dsql->GetOne(“select * from cz_keywords where keyword=’$k’ And rpurl<>” “); if(is_array($myrow)) { $karr[] = $k; $GLOBALS[‘replaced’][$k] = 0; $kaarr[] = “<a href='{$myrow[‘rpurl’]}’><u>$k</u></a>”; } $i++; } } |
把它替换成:
以下为引用的内容:
global $dsql; |
通过以上代码,只要在“文档关键词维护”设置了带有链接的关键词,就可以实现在发布文章时自动就有会链接了。但相同的关键词出现了 5 次,这样就有 5 个链接,这样好像不太好,但我还没有找到解决的办法。希望有实现这个功能的高手指导一下。