首先先申明一下,小弟不是什么高手,甚至对PHP一点都不懂,所以有什么错误的地方,请大侠们指出。先看一下效果,http://www.xmxyk.net/html/ykxd/2009/1112/1131.html,在这篇文章里面有两个关键字,即“厦门信用卡”与“信用卡积分”。我在发布文章的时候都没有加上链接,现在都文章里面去看,是有链接的,所以这些链接都是自动加的。这其实也就是实现了DEDE自动加内链的功能。
; g8 a: S j: m% g {3 d' V其实通过dede后台是可以直接设置的,但比较麻烦,搞不懂dede设计者这个这么重要的seo都没有设计。嘿嘿,以下我在dedecms V5.3中设置的步骤:: Z* S2 q$ `: _: t& K* k4 l
1、进入后台,系统,系统基本参数,核心设置,关键字替换(是/否),这里选择“是”。 N M/ @" E+ U
2、然后“采集”,“文档关键词维护”,在这里面设置关键词,指向网址。这里,我设置的是“厦门信用卡”与“信用卡积分”都链向http://www.xmxyk.net。注意:这里频率不是指关键词出现的次数。: @# |* s2 Z0 f% N
3、在发布文章时,在“TAG标签”里,输入相应的关键词:厦门信用卡与信用卡积分。注意,使用dede后台设置,就必须这样设置,不然起不了作用。
/ F1 @3 y- K' u. A这个功能是实现了,但很麻烦,我每次发文章的时候,在TAG标签里面都得输入相应的关键词,很麻烦。修改以下代码就可以不用设置第三步就可以实现自动加内链了。PS:这段代码是我在dedecms的论坛里面找到的,修改过可以实现这个功能,请大家放心使用,不过最好在修改前把文件备份一下。
: \- t) h) t. z7 T, F修改文件 /include/arc.archives.class.php ,找到这一段:" s4 j( `' C+ Q* A
以下为引用的内容:3 K4 ` m$ v$ b1 t3 L8 i: `- I# j
foreach($kws as $k)
( z1 p# p4 `* w. x% t; \5 w4 k! E {( H3 ^. G& ^9 o$ w; H
$k = trim($k);
5 \ i% p+ N% X( m if($k!="")" k& W/ z# z( ~! \) }2 `
{
" y- _/ ]1 A; k! y9 f8 T if($i > $maxkey)/ S) o9 r2 l9 L& Y% \
{6 i1 @$ m9 `5 h7 o% K* m1 B( U! U# Q& `
break;
* ~7 ]. d, J1 N6 ]/ [ }
( P/ g* {1 a, ^* @% o $myrow = $this->dsql->GetOne("select * from cz_keywords where keyword='$k' And rpurl<>'' ");0 M9 D9 U! j0 f7 [2 j7 [
if(is_array($myrow))
3 a: P9 ]) i) @- K6 j. U s {# f2 k: z$ j; e. y5 R9 y9 ~
$karr[] = $k;8 c3 w7 F: m" T( H
$GLOBALS['replaced'][$k] = 0;- p2 l% X9 P! k: B: G( ?# M
$kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";8 j2 \, O. `1 w; Q0 s
}0 ]. g" t7 i. P* o, B
$i++;
; I5 d* j$ j5 d4 ~8 { }8 W, y7 r- I( }2 a
} | * {, b& M R* T+ ?* o% V S
把它替换成:# _! Z6 v: m/ f
以下为引用的内容:1 D: e! ]. L9 C t7 W
global $dsql;$ u- d, F) H9 X* r: a8 m) d! w
$query="SELECT * FROM cz_keywords WHERE rpurl<>'' ORDER BY rank DESC";0 K' b8 e- `" h q! {; s" p) F, H& W
$dsql->SetQuery($query);
4 \: f. _' g8 f# c2 Z. W& W& z $dsql->Execute();
) h7 a( a* F3 s7 H; [ while($row = $dsql->GetArray()); N" _1 h, C4 G+ [* f
{& m3 D( b6 c V
$key = trim($row['keyword']);) g. P2 O0 T) L5 M
$key_url=trim($row['rpurl']);
7 R9 s4 @6 K: }/ {. T4 T; E. x $karr[] = $key;
# W/ Q ^7 p* N $kaarr[] = "<a href='$key_url' target='_blank'><u>$key</u></a>";3 |5 k, _6 S% L! O
}' Y% l. S" D+ ]# Z N6 a& T3 B
|
; i8 c6 S2 k- V4 }+ _1 u" V0 R 通过以上代码,只要在“文档关键词维护”设置了带有链接的关键词,就可以实现在发布文章时自动就有会链接了。但相同的关键词出现了5次,这样就有5个链接,这样好像不太好,但我还没有找到解决的办法。希望有实现这个功能的高手指导一下。& N, r4 `" B# I( e5 w
注:相关网站建设技巧阅读请移步到建站教程频道。 |
|