网站关键词内链,是做好网站内部优化的一个重要环节 

织梦(DedeCms)官方默认规则是: 

1.添加关键词和关键词的链接地址 

设置步骤:进入后台 核心->批量维护->文档关键词维护 

2.文章内容出现该关键词 

3.文章的关键词出现这个词(就是这里<meta name="keywords" content="" />) //这个是在发布文章的时候填写的 

第三条规则使得关键词内链不尽完美,所以得修改文件取消掉第三条规则,达到我们想要的效果,即文章内出现该关键词即链向指定的URL 

在Dedecms5.5,5.6下测试有效 

一、开打include/arc.archives.class.php 文件 

二、查找 function ReplaceKeyword($kw,&$body) 

三、往下找到下面这段代码,删除或注释掉

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
foreach ( $kws  as  $k )
{
$k  =  trim ( $k ) ;
if ( $k != "" )
{
if ( $i  &gt ;  $maxkey )
{
break ;
}
$myrow  =  $this -&gt ;dsql -&gt ;GetOne ( "select * from #@__keywords where keyword='$k' And rpurl&lt;&gt;'' " ) ;
if ( is_array ( $myrow ) )
{
$karr [ ]  =  $k ;
$GLOBALS [ 'replaced' ] [ $k ]  =  0 ;
$kaarr [ ]  =  "<span style="text -decoration : underline ; ">$k</span>" ;
}
$i ++;
}
}

四、并在注释或删除的代码下面加入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$dsql  =  new DedeSql ( false ) ;
$query = "select * from #@__keywords where rpurl<>'' " ;
$dsql -> SetQuery ( $query ) ;
$dsql -> Execute ( ) ;
while ( $row  =  $dsql -> GetArray ( ) )
{
$key  =  trim ( $row [ 'keyword' ] ) ;
$rul = trim ( $row [ 'rpurl' ] ) ;
if ( $rul != "" )
if ( ! in_array ( $key ,  $kw ) )
if ( ! in_array ( $kw , $key ) )
if ( substr_count ( $body , $key ) < 20 )
{
$karr [ ]  =  $key ;
$kaarr [ ]  =  "$key" ;
}
}

五、OK,已经修改完成了。直接复制上面代码,文章内同样的关键词只会出现一个链接。

六、一键更新网站->更新所有

修改成功后,参考《修改织梦cms文章页关键词内链显示样式》可以自定义关键字显示样式。