首先先申明一下,小弟不是什么高手,甚至对PHP一点都不懂,所以有什么错误的地方,请大侠们指出。先看一下效果,http://www.xmxyk.net/html/ykxd/2009/1112/1131.html,在这篇文章里面有两个关键字,即“厦门信用卡”与“信用卡积分”。我在发布文章的时候都没有加上链接,现在都文章里面去看,是有链接的,所以这些链接都是自动加的。这其实也就是实现了DEDE自动加内链的功能。
0 m, T/ o, b0 S8 W4 D1 T$ e, v其实通过dede后台是可以直接设置的,但比较麻烦,搞不懂dede设计者这个这么重要的seo都没有设计。嘿嘿,以下我在dedecms V5.3中设置的步骤:
s b1 r4 `; q" c1、进入后台,系统,系统基本参数,核心设置,关键字替换(是/否),这里选择“是”。
+ b# O: Z5 i5 N0 j2、然后“采集”,“文档关键词维护”,在这里面设置关键词,指向网址。这里,我设置的是“厦门信用卡”与“信用卡积分”都链向http://www.xmxyk.net。注意:这里频率不是指关键词出现的次数。
% {% d; R J6 V$ P2 |8 _ f0 ]3、在发布文章时,在“TAG标签”里,输入相应的关键词:厦门信用卡与信用卡积分。注意,使用dede后台设置,就必须这样设置,不然起不了作用。9 }5 s9 N5 L8 X) A
这个功能是实现了,但很麻烦,我每次发文章的时候,在TAG标签里面都得输入相应的关键词,很麻烦。修改以下代码就可以不用设置第三步就可以实现自动加内链了。PS:这段代码是我在dedecms的论坛里面找到的,修改过可以实现这个功能,请大家放心使用,不过最好在修改前把文件备份一下。
- e2 ~" h" q$ h修改文件 /include/arc.archives.class.php ,找到这一段:
; T U! q* N5 G) K+ p以下为引用的内容:
; b* F8 w; V7 xforeach($kws as $k)
) t+ }4 P, d' P! E% n7 Q1 ? {1 z7 T& V1 U# N8 c X
$k = trim($k);4 g; E$ P0 N6 N
if($k!="")
: d6 w+ p/ s# V7 k {+ D9 g7 F: c8 U" E
if($i > $maxkey)
: l! L/ I9 i w( O( n \ {( _- N7 _* _# E$ H5 F( l
break;
1 ]( z5 h2 Y% C1 I6 n9 g" H }8 z. L9 N4 ]' U. P# b
$myrow = $this->dsql->GetOne("select * from cz_keywords where keyword='$k' And rpurl<>'' ");
5 K7 m; V! ?$ e if(is_array($myrow))
& Q: E0 s! W# r# Z {1 ^5 c: X. E7 Z7 p: p ^/ W" i* v
$karr[] = $k;) y4 P: e# s# y9 p
$GLOBALS['replaced'][$k] = 0;
8 N4 w1 T" U1 N! A $kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";
" j4 q! ?+ n: W' n+ |& X }* [+ {% A' _* S- g8 M
$i++;
! u: |, L+ S- r7 q }
, t9 Y; g% _( m' g7 ?5 j- s0 ? } | 5 D2 ]2 I8 E- E4 O1 C
把它替换成:8 J* f/ p: V. h0 E7 C/ {- ~
以下为引用的内容:$ ?, k }' V2 t% l: q& ~5 L9 C, [
global $dsql;
" g! M7 l* C( M! J $query="SELECT * FROM cz_keywords WHERE rpurl<>'' ORDER BY rank DESC";
& _; S0 ~- \. ~' ^ $dsql->SetQuery($query);3 G0 o8 Z* B0 j4 \$ P0 [' m
$dsql->Execute();$ k. Q. ~; W7 Q
while($row = $dsql->GetArray())% @! t+ |% R7 ]" s
{8 J i( s, |/ W/ |2 p: o: p" I
$key = trim($row['keyword']);
7 P2 v6 g) W% g+ A, ? R" v $key_url=trim($row['rpurl']);; n- X. C; o* z5 U. G) U
$karr[] = $key;
8 l! E/ k# ~) \ T $kaarr[] = "<a href='$key_url' target='_blank'><u>$key</u></a>";. U) ^% U- E, }% Q% p% G7 s
}3 V! u3 O% [/ s
| , o/ G) B3 k" r
通过以上代码,只要在“文档关键词维护”设置了带有链接的关键词,就可以实现在发布文章时自动就有会链接了。但相同的关键词出现了5次,这样就有5个链接,这样好像不太好,但我还没有找到解决的办法。希望有实现这个功能的高手指导一下。
; R2 Q" V: _( _0 v 注:相关网站建设技巧阅读请移步到建站教程频道。 |
|