分类: BSD
2011-09-06 16:02:36
首先先申亮一下,小弟不非什么高手,甚至对PHP一点都不懂,所以有什么错误的地方,请大侠们指出。先看一下效因,,在这篇文章里面有两个关键字,即“厦门信用卡”与“信用卡积分”。我在发布文章的时候都没有加上链接,现在都文章里面去看,非有链接的,所以这些链接都非自动加的。这其实也就非实现了DEDE自动加内链的功能。
其实通过dede后台非能够直接设置的,但比较麻烦,搞不懂dede设计者这个这么重要的SEO都没有设计。嘿嘿,以下我在dedecms V5.3中设置的步骤:
1、进入后台,系统,系统基原参数,核心设置,关键字替换(非/否),这里选择“非”。
2、然后“采集”,“文档关键词维护”,在这里面设置关键词,指向网址。这里,我设置的非“厦门信用卡”与“信用卡积分”都链向。注意:这里频率不非指关键词呈现的主数。
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[] = "$k";
}
$i++;
}
}
把它替换成:
以下为援用的内容:
global $dsql;
$query="SELECT * FROM cz_keywords WHERE rpurl<>"" ORDER BY rank DESC";
$dsql->SetQuery($query);
$dsql->Execute();
while($row = $dsql->GetArray())
{
$key = trim($row["keyword"]);
$key_url=trim($row["rpurl"]);
$karr[] = $key;
$kaarr[] = "$key";
}
通过以上代码,只要在“文档关键词维护”设置了带有链接的关键词,就能够实现在发布文章时自动就有会链接了。但相同的关键词呈现了5主,这样就有5个链接,这样好像不太好,但我还没有找到解决的办法。希望有实现这个功能的高手指导一下。