织梦(dedecms)文档关键词维护中频率详解
首先解释下文档关键词维护中这个[频率]的意思,我们知道,织梦默认设置为30,很多朋友都将其看作是锚文本的链接数量,其实不然,这个频率只是表示关键词的热度,同动易系统的关键词权重等同,只是,织梦在这个地方处理的不好,所以,笔者建议最好不要改动.
那么到底应该如何控制文档锚文本链接数量呢?系统 》系统基本参数 》其他选项的最后一行,文档内容同一关键词替换次数(0为全部替换):1(1表示只链接第一个出现的目标关键词),如图:
说到这里,可能又会出现一个问题。比如我在后台设置了两个锚文本链接[SEO博客]、[SEO],但文章第一次出现[SEO博客]这个词的时候,本来设想是应该链接到[SEO博客]所对应的页面,但是织梦默认设置为链接到[SEO]所对应的页面。那么,这种情况应该如何处理呢?
解决方法(先备份)
第一步: 打开目录include中的arc.archivew.class.php
找到function ReplaceKeyword($kw,&$body)代码,从这里然后一直到最下面,替换这段代码:
function ReplaceKeyword( $kw ,& $body ) { global $cfg_cmspath ; $maxkey = 5; $kws = explode ( "," ,trim( $kw )); //以分好为间隔符 $i =0; $karr = $kaarr = $GLOBALS [ 'replaced' ] = array (); //暂时屏蔽超链接 $body = preg_replace( "/()(.*)(<)(\/a>)/isU" , '\\1-]-\\4-[-\\6' , $body ); global $dsql ; $query = "SELECT * FROM dede_keywords WHERE rpurl<>'' and sta=1 ORDER BY length(keyword)desc" ; $dsql ->SetQuery( $query ); $dsql ->Execute(); while ( $row = $dsql ->GetArray()) { $key = trim( $row [ 'keyword' ]); $key_url =trim( $row [ 'rpurl' ]); $karr [] = $key ; $kaarr [] = "$key" ; } foreach ( $karr as $key => $word ) { $body = preg_replace( "/(^|>)([^<]+)(?=<|$)/sUe" , "_highlight('\\2', \$karr[$key], \$kaarr[$key], '\\1')" , $body ); //echo $body." "; //恢复超链接 $body = preg_replace( "/()/isU" , '\\1>\\3<<A href="file://\\4' ">\\4', $body ); //暂时屏蔽超链接 $body = preg_replace( "/()(.*)(<)(\/a>)/isU" , '\\1-]-\\4-[-\\6' , $body ); } //恢复超链接 $body = preg_replace( "/()/isU" , '\\1>\\3<<A href="file://\\4' ">\\4', $body ); return $body ; } } //End Archives //高亮专用, 替换多次是可能不能达到最多次 function _highlight( $string , $words , $result , $pre ) { global $cfg_replace_num ; $string = str_replace ( '\"' , '"' , $string ); if ( $GLOBALS [ 'replaced' ][ $words ] == 1) { return $pre . $string ; } if ( $cfg_replace_num > 0) { $string = preg_replace( "/" .preg_quote( $words ). "/" , $result , $string , $cfg_replace_num ); if ( strpos ( $string , $words ) !== false) { $GLOBALS [ 'replaced' ][ $words ] = 1; //echo $words; } } else { $string = str_replace ( $words , $result , $string ); } //phpfensi.com return $pre . $string ; }进入后台生成,至此大功告成.
查看更多关于织梦(dedecms)文档关键词维护中频率详解 - DeDecms的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did5911