当前位置:首页 >  站长 >  搜索优化 >  正文

基于discuz在线分词批量优化Dedecms文章关键词

 2011-12-21 21:12  来源: 山西网络营销博客   我来投稿 撤稿纠错

  【推荐】海外独服/站群服务器/高防

dedecms本身自带tag(keywords)提取功能,但分词总是不够精确。当然,对于日更新十数篇且对seo精确执行的用户来说,手工输入能更好的控制。但对于主题比较宽泛、内容更新量大的用户来说,dede split是不大完美的。

discuz在线分词是一个在线免费的提词接口。后有数十万中文论坛、supsite用户,对于语境、细胞词库的完善有更多的数据。这个小程序是基于discuz在线分词批量更新已发内容的keywords(tag),如果数据量大(大于5万)的或者虚拟主机用户的话,最好环境搭到本地。速度会快一点。

使用方法,cms安装目录,新建c.php,拷入以下内容,自己对应编码用notepad设置相应gbk或utf8。运行 yourwebsite/c.php?id=1

<?php
require_once(dirname(__FILE__).”/include/common.inc.php”);

$id = isset($id) && is_numeric($id) ? $id : 0;

for ($a=$id; $a<$id+10; $a++){

 $row = $dsql->GetOne(” SELECT arc.title,tp.body FROM `@__archives` arc LEFT JOIN `@__addonarticle` tp ON arc.id=tp.aid where arc.id=’$a’ “);
 if(is_array($row))
 {
  $title = $row['title'];
  $body = $row['body'];
  $keywords=zhgetkey($title.$body);
  $dsql->ExecuteNoneQuery(” Update `@__archives` set keywords=’$keywords’ where id=’$a’ “);
  echo $a.’:’.$keywords.’<br />’;
 }
}
 
 if ($a>80000){break;}

echo “<script>”;
echo “setTimeout(\”location.replace(‘c.php?id=$a’)\”,0)”;
echo “</script>”;

function zhgetkey($contents){
$rows = strip_tags($contents);
$arr = array(‘ ‘,’ ‘,”\s”, “\r\n”, “\n”, “\r”, “\t”, “>”, ““”, “””,”<br />”);
$qc_rows = str_replace($arr, ”, $rows);
if(strlen($qc_rows)>2400){
$qc_rows = substr($qc_rows, ’0′, ’2400′);
}
$data = @implode(”, file(“;));
preg_match_all(“/<kw>(.*)A\[(.*)\]\](.*)><\/kw>/”,$data, $out, PREG_SET_ORDER);
$key=”";
for($i=0;$i<5;$i++){
$key=$key.$out[$i][2];
if($out[$i][2])$key=$key.”,”;
}
return $key;
}

function cutstr_html($string, $sublen)   

 {

  $string = strip_tags($string);

  $string = preg_replace (‘/\n/is’, ”, $string);

  $string = preg_replace (‘/ |/is’, ”, $string);

  $string = preg_replace (‘/&nbsp;/is’, ”, $string);

    preg_match_all(“/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/”, $string, $t_string);  

  if(count($t_string[0]) – 0 > $sublen) $string = join(”, array_slice($t_string[0], 0, $sublen)).”…”;  

  else $string = join(”, array_slice($t_string[0], 0, $sublen));

    return $string;

 }

?>

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关文章

  • 长尾关键词挖掘优化与百度中文分词

    正确理解百度中文分词,对长尾关键词优化有着非常大的帮助。今天,小编带来的是《长尾关键词优化与百度中文分词》。希望对大家有所帮助。中文分词:指的是将一个汉字序列切分成一个个单独的词。通俗地讲,就是讲一个长尾关键词分为几个词。

  • 浅谈百度分词与关键词匹配度的优化方法

    百度分词技术一直是一门学问。对于搜索词,百度会不会进行分词,怎么分词,会影响到我们确立目标关键词及关键词排名优化的效果。掌握好分析技术,可以提高关键词语搜索词的匹配度,从而提高网站的排名,获得精准的流量。对于百度分词,我们需要了解百度是怎么分词,以

  • 蒋鑫鹏:百度搜索算法总结—关键词分词算法

    此文接上文百度算法总结详细请点击:蒋鑫鹏:百度算法总结一、关于中文分词:1.中文分词难度分析首先要说明下的是:普通用户的搜索与做SEO或者更大说熟悉网络搜索用户的搜索习惯是非常不一样的,而恰巧普通搜索用户是百度搜索的基础力量。在开头赘述这一点是蒋鑫鹏

  • 策先生:浅谈SEO中关键词分词技术

    背景资料:策先生策恩世界名鞋淘宝客推广大赛特约评委曾于第一季推广大赛期间对参赛选手表现进行每周精简点评,专治疑难杂症,为一众参赛选手所知晓。为人低调且神秘,专注网站推广数年。现任第二季策恩世界名鞋淘宝客推广大赛评委,行踪不甚明朗。说到中文分词,我

  • 关键词分词技术:如何解决关键词的解体拆用问题

    我们并没有过多的谈论关键词的解体拆用问题,它也不算是seo的某个特别明显的特性。但是他对潜在的排名会有不利的影响。首先,我来告诉大家关键词的解体拆用是如何发生的。当一个网站的信息结构需要一个单一的目标条件或者一个要放在很多页面的短语的时候,关键词的解

信息推荐