您的位置 首页 织梦教程

织梦cms文档关键词维护中频率详解

首先解释下文档关键词维护中这个频率的意思。我们知道,织梦默认设置为30,很多朋友都将其看作是锚文本的链接数量。其实不然,这个频率只是表示关键词的热度,同动易系统的关

首先解释下文档关键词维护中这个频率的意思。我们知道,织梦默认设置为30,很多朋友都将其看作是锚文本的链接数量。其实不然,这个频率只是表示关键词的热度,同动易系统的关 […]

首先解释下文档关键词维护中这个“频率”的意思。我们知道,织梦默认设置为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(.*))(>)(.*)(<)(\\/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[] = "<u><a href='$key_url' target='_blank'>$key</a></u>";  }  foreach ($karr as $key => $word)  {  $body = preg_replace("/(^|>)([^<]+)(?=<|$)/sUe", "_highlight('\\\\2', \\$karr[$key], \\$kaarr[$key], '\\\\1')", $body);  //echo $body."<br/>";  //恢复超链接  $body = preg_replace("/(<a(.*))-\\]-(.*)-\\[-(\\/a>)/isU", '\\\\1>\\\\3<\\\\4', $body);  //暂时屏蔽超链接  $body = preg_replace("/(<a(.*))(>)(.*)(<)(\\/a>)/isU", '\\\\1-]-\\\\4-[-\\\\6', $body);  }  //恢复超链接  $body = preg_replace("/(<a(.*))-\\]-(.*)-\\[-(\\/a>)/isU", '\\\\1>\\\\3<\\\\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);  }  return $pre.$string;  }

  进入后台生成,至此大功告成。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 致命的织梦

为您推荐

DedeCMS上传图片集弹出框显示302与FILEID:X解决办法

DedeCMS上传图片集弹出框显示302与FILEID:X解决办法

织梦DedeCMS 上传图片集弹出框显示302与FILEID:X解决办法 弹出框显示302解决办法 /uploadsafe.inc.php 里的第45行的 imtypes 改成imgtypes 加个g然后更新一下系统缓存,解决 不过 360极速浏览器测试不

DedeCms织梦使用关键词关连文章的方法

用了好几年的织梦系统,一直对织梦使用关键词关连文章这个功能忽略着,知道有这个功能但很少用,最近想给文章中的关键字做个关联,一直手动觉得太麻烦了,突然想起了这个功能。在织梦论坛中#搜索了半天,都没有一个使用方法,好多人说是程序错误没法使用。转了一圈论坛和搜索引擎也没得到答案,还是自己研究了,研究了半天还好终于研究通了,现将使用方法发送上来供大家参考。(注笔者使用的是织梦5.7版本) 第一步:系统 系统基本参数 性

DedeCMS修改文章时取消提取第一张图片为缩略图

之前在织梦的后台发布新文章,发现如果不手动指定缩略图,系统会自动提取第一张图片为缩略图,这个有的时候很智能,有的时候就显得很鸡肋了。 如果要取消这个功能,其实也很简

DedeCMS列表页自动统计当前栏目文章总数的方法

本次教程可以通过该方法在列表页内显示该栏目共有多少篇文章,有助于提升用户体验。比如说我一个文章列表下面有10篇文章,就自动统计出10篇,到20篇的时候自动统计成20篇。 实现

DedeCMS新发布图集排序在最前的方法

DedeCMS新发布图集排序在最前的方法

由于本人做的网站需要经常增加图片。每次增加新的图片(注意:是往已经建立好的图集里面增加新的图片而不是创建新图集)默认都是排列在最后面,现总结出如何让新加的图片显示在

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部