返回列表 发新帖

使dede在发布文章时自动加上关键词链接

469.6k 10
kjeittccdf 发表于 2015-4-1 15:21:21|湖北 | 查看全部 阅读模式
首先先申明一下,小弟不是什么高手,甚至对PHP一点都不懂,所以有什么错误的地方,请大侠们指出。先看一下效果,http://www.xmxyk.net/html/ykxd/2009/1112/1131.html,在这篇文章里面有两个关键字,即“厦门信用卡”与“信用卡积分”。我在发布文章的时候都没有加上链接,现在都文章里面去看,是有链接的,所以这些链接都是自动加的。这其实也就是实现了DEDE自动加内链的功能。
* T* k7 E# g) e- C1 S( C: d其实通过dede后台是可以直接设置的,但比较麻烦,搞不懂dede设计者这个这么重要的seo都没有设计。嘿嘿,以下我在dedecms V5.3中设置的步骤:
7 V( l" K: n0 p4 Y1、进入后台,系统,系统基本参数,核心设置,关键字替换(是/否),这里选择“是”。1 I1 _5 b7 u% k+ n4 [
2、然后“采集”,“文档关键词维护”,在这里面设置关键词,指向网址。这里,我设置的是“厦门信用卡”与“信用卡积分”都链向http://www.xmxyk.net。注意:这里频率不是指关键词出现的次数。
  P- F' e, H) u8 H! o, w3、在发布文章时,在“TAG标签”里,输入相应的关键词:厦门信用卡与信用卡积分。注意,使用dede后台设置,就必须这样设置,不然起不了作用。) V. o  L/ p/ J  R, s' ]
这个功能是实现了,但很麻烦,我每次发文章的时候,在TAG标签里面都得输入相应的关键词,很麻烦。修改以下代码就可以不用设置第三步就可以实现自动加内链了。PS:这段代码是我在dedecms的论坛里面找到的,修改过可以实现这个功能,请大家放心使用,不过最好在修改前把文件备份一下。
( g3 \+ V! M5 l1 l修改文件 /include/arc.archives.class.php ,找到这一段:
) `9 ^/ f* L  l: w
以下为引用的内容:
! K( f& ~- m) p3 x5 `foreach($kws as $k)
$ o$ |# ]' N3 l3 E  {
+ [( s: p9 L2 p, K   $k = trim($k);( Z' j$ w( ]+ p
   if($k!="")
- B; P9 ]) }3 D   {
  X/ K; H: P( w1 H) A    if($i > $maxkey)3 r7 v, |* `$ [/ o" N
    {! N' t  J6 z5 _$ {; B7 j
     break;
% H) ], @6 {$ G/ s    }0 b/ {. ?, E6 D" N$ |/ U) n
    $myrow = $this->dsql->GetOne("select * from
cz_keywords where keyword='$k' And rpurl<>'' ");7 {" h0 o& `5 ~% x
    if(is_array($myrow))  _* Z# U# ]3 T) ?8 _/ f% X
    {% l. X- Z- q* b" p5 J5 s4 {
     $karr[] = $k;* Y0 x# ^/ i. Q8 G3 o7 K
     $GLOBALS['replaced'][$k] = 0;
8 h  Y8 q$ A4 S6 d, Y' U3 W     $kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";
* f3 \8 ~7 b$ u+ L/ G    }5 X& j1 H) p: h! X" Q1 g
    $i++;
. e; S( X% a- D5 ~" D' B$ Z   }
2 S1 _3 e/ O# X+ t2 z/ X  }

  W6 m$ N) a$ `+ X把它替换成:
0 {' }0 A3 `4 P* |, O. g! p  ]
以下为引用的内容:, B3 Q, k% s; s
global $dsql;
5 j! i. y  j0 w- T, B3 n; X; h1 d        $query="SELECT * FROM
cz_keywords WHERE rpurl<>'' ORDER BY rank DESC";+ `' C4 }- b0 J4 l& Z
        $dsql->SetQuery($query);& K  [7 E( h( Q
        $dsql->Execute();  B  f+ Z9 ^! v! R. ~
        while($row = $dsql->GetArray())
. ^# I# a! s4 u  {# z  {
. Y- b1 m" ?2 s' x   $key = trim($row['keyword']);
3 z% H. L8 _# ^0 a3 Y+ U1 e   $key_url=trim($row['rpurl']);$ S0 L6 @$ }3 \# L% ?% I( s3 j% O
   $karr[] = $key;5 u4 r1 f& R' ?6 \2 Y* i0 ?& b4 }
   $kaarr[] = "<a href='$key_url' target='_blank'><u>$key</u></a>";
: v3 ]9 m7 N0 L  }
- d, ]- e  D2 y! ^# y* m* H1 R

/ R% M0 h& \- R* {. q" t& I1 ?: D    通过以上代码,只要在“文档关键词维护”设置了带有链接的关键词,就可以实现在发布文章时自动就有会链接了。但相同的关键词出现了5次,这样就有5个链接,这样好像不太好,但我还没有找到解决的办法。希望有实现这个功能的高手指导一下。$ t& I% I% ]# E7 D
                                                                        注:相关网站建设技巧阅读请移步到建站教程频道。

回复|共 10 个

佚名 发表于 2015-4-11 10:08:59
我不是来抢沙发的,也不是来打酱油的。
佚名 发表于 2015-4-11 10:16:58
哦...这个...偶昨天就看了....
佚名 发表于 2015-4-11 09:54:56
我是来收集资料滴...
佚名 发表于 2015-4-11 09:50:07
看,刚说你眼神不好,你还就来劲了不是.
佚名 发表于 2015-4-11 10:15:14
老大,我好崇拜你哟
wwzcdenleclv 发表于 2015-12-22 22:49:10|INNA | 查看全部
卧虎藏龙里面半天云的人物个性。由此而言,作者是性格是完善的,想必经历过家庭的其 乐融融,也经历过种种人伦惨剧吧,把作者的创作潜质激发的淋漓尽致。
buingeEvineus 发表于 2015-12-22 22:49:49|斯洛伐克 | 查看全部
机会就像水中的鱼,耐心等待就能上钩。
alapScady 发表于 2015-12-22 22:49:45|美国 | 查看全部
我想骂我自己
Mqokjdvq 发表于 2015-12-22 22:49:51|河南 | 查看全部
唉!猪!你怎么了?
buingeEvineus 发表于 2015-12-22 22:48:42|美国 | 查看全部
真是有你的!

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表