织梦dede文档关键词维护的“频率”解释与关键词交叉重叠

5 篇文章 0 订阅

  首先解释下文档关键词维护中这个“频率”的意思。我们知道,织梦默认设置为30,很多朋友都将其看作是锚文本的链接数量。其实不然,这个频率只是表示关键词的热度,同动易系统的关键词权重等同。只是,织梦在这个地方处理的不好。所以,笔者建议最好不要改动。

  那么到底应该如何控制文档锚文本链接数量呢?系统 》系统基本参数 》其他选项 的最后一行。文档内容同一关键词替换次数(0为全部替换):1(1表示只链接第一个出现的目标关键词)。如图:

  

织梦(dedecms)文档关键词维护中频率详解 三联

   说到这里,可能又会出现一个问题。比如我在后台设置了两个锚文本链接“SEO博客”、“SEO”,但文章第一次出现“SEO博客”这个词的时候,本来设 想是应该链接到“SEO博客”所对应的页面,但是织梦默认设置为链接到“SEO”所对应的页面。那么,这种情况应该如何处理呢?

  解决方法(先备份)

  第一步:打开目录include中的arc.archivew.class.php

  找到function ReplaceKeyword($kw,&$body)代码,从这里然后一直到最下面。替换这段代码:

<span class="sh_keyword">function</span> <span class="sh_function">ReplaceKeyword</span><span class="sh_symbol">(</span><span class="sh_variable">$kw</span><span class="sh_symbol">,&</span><span class="sh_variable">$body</span><span class="sh_symbol">)</span>
  <span class="sh_cbracket">{</span>
  <span class="sh_keyword">global</span> <span class="sh_variable">$cfg_cmspath</span><span class="sh_symbol">;</span>
  <span class="sh_variable">$maxkey</span> <span class="sh_symbol">=</span> <span class="sh_number">5</span><span class="sh_symbol">;</span>
  <span class="sh_variable">$kws</span> <span class="sh_symbol">=</span> <span class="sh_function">explode</span><span class="sh_symbol">(</span><span class="sh_string">","</span><span class="sh_symbol">,</span><span class="sh_function">trim</span><span class="sh_symbol">(</span><span class="sh_variable">$kw</span><span class="sh_symbol">));</span> <span class="sh_comment">//以分好为间隔符</span>
  <span class="sh_variable">$i</span><span class="sh_symbol">=</span><span class="sh_number">0</span><span class="sh_symbol">;</span>
  <span class="sh_variable">$karr</span> <span class="sh_symbol">=</span> <span class="sh_variable">$kaarr</span> <span class="sh_symbol">=</span> <span class="sh_variable">$GLOBALS</span><span class="sh_symbol">[</span><span class="sh_string">'replaced'</span><span class="sh_symbol">]</span> <span class="sh_symbol">=</span> <span class="sh_keyword">array</span><span class="sh_symbol">();</span>
  <span class="sh_comment">//暂时屏蔽超链接</span>
  <span class="sh_variable">$body</span> <span class="sh_symbol">=</span> <span class="sh_function">preg_replace</span><span class="sh_symbol">(</span><span class="sh_string">"/(<a(.*))(>)(.*)(<)(/a>)/isU"</span><span class="sh_symbol">,</span> <span class="sh_string">'1-]-4-[-6'</span><span class="sh_symbol">,</span> <span class="sh_variable">$body</span><span class="sh_symbol">);</span>
  <span class="sh_keyword">global</span> <span class="sh_variable">$dsql</span><span class="sh_symbol">;</span>
  <span class="sh_variable">$query</span><span class="sh_symbol">=</span><span class="sh_string">"SELECT * FROM dede_keywords WHERE rpurl<>'' and sta=1 ORDER BY length(keyword)desc"</span><span class="sh_symbol">;</span>
  <span class="sh_variable">$dsql</span><span class="sh_symbol">-></span><span class="sh_function">SetQuery</span><span class="sh_symbol">(</span><span class="sh_variable">$query</span><span class="sh_symbol">);</span>
  <span class="sh_variable">$dsql</span><span class="sh_symbol">-></span><span class="sh_function">Execute</span><span class="sh_symbol">();</span>
  <span class="sh_keyword">while</span><span class="sh_symbol">(</span><span class="sh_variable">$row</span> <span class="sh_symbol">=</span> <span class="sh_variable">$dsql</span><span class="sh_symbol">-></span><span class="sh_function">GetArray</span><span class="sh_symbol">())</span>
  <span class="sh_cbracket">{</span>
  <span class="sh_variable">$key</span> <span class="sh_symbol">=</span> <span class="sh_function">trim</span><span class="sh_symbol">(</span><span class="sh_variable">$row</span><span class="sh_symbol">[</span><span class="sh_string">'keyword'</span><span class="sh_symbol">]);</span>
  <span class="sh_variable">$key_url</span><span class="sh_symbol">=</span><span class="sh_function">trim</span><span class="sh_symbol">(</span><span class="sh_variable">$row</span><span class="sh_symbol">[</span><span class="sh_string">'rpurl'</span><span class="sh_symbol">]);</span>
  <span class="sh_variable">$karr</span><span class="sh_symbol">[]</span> <span class="sh_symbol">=</span> <span class="sh_variable">$key</span><span class="sh_symbol">;</span>
  <span class="sh_variable">$kaarr</span><span class="sh_symbol">[]</span> <span class="sh_symbol">=</span> <span class="sh_string">"<u><a href='$key_url' target='_blank'>$key</a></u>"</span><span class="sh_symbol">;</span>
  <span class="sh_cbracket">}</span>
  <span class="sh_keyword">foreach</span> <span class="sh_symbol">(</span><span class="sh_variable">$karr</span> <span class="sh_keyword">as</span> <span class="sh_variable">$key</span> <span class="sh_symbol">=></span> <span class="sh_variable">$word</span><span class="sh_symbol">)</span>
  <span class="sh_cbracket">{</span>
  <span class="sh_variable">$body</span> <span class="sh_symbol">=</span> <span class="sh_function">preg_replace</span><span class="sh_symbol">(</span><span class="sh_string">"/(^|>)([^<]+)(?=<|$)/sUe"</span><span class="sh_symbol">,</span> <span class="sh_string">"_highlight('2', $karr[$key], $kaarr[$key], '1')"</span><span class="sh_symbol">,</span> <span class="sh_variable">$body</span><span class="sh_symbol">);</span>
  <span class="sh_comment">//echo $body."<br/>";</span>
  <span class="sh_comment">//恢复超链接</span>
  <span class="sh_variable">$body</span> <span class="sh_symbol">=</span> <span class="sh_function">preg_replace</span><span class="sh_symbol">(</span><span class="sh_string">"/(<a(.*))-]-(.*)-[-(/a>)/isU"</span><span class="sh_symbol">,</span> <span class="sh_string">'1>3<4'</span><span class="sh_symbol">,</span> <span class="sh_variable">$body</span><span class="sh_symbol">);</span>
  <span class="sh_comment">//暂时屏蔽超链接</span>
  <span class="sh_variable">$body</span> <span class="sh_symbol">=</span> <span class="sh_function">preg_replace</span><span class="sh_symbol">(</span><span class="sh_string">"/(<a(.*))(>)(.*)(<)(/a>)/isU"</span><span class="sh_symbol">,</span> <span class="sh_string">'1-]-4-[-6'</span><span class="sh_symbol">,</span> <span class="sh_variable">$body</span><span class="sh_symbol">);</span>
  <span class="sh_cbracket">}</span>
  <span class="sh_comment">//恢复超链接</span>
  <span class="sh_variable">$body</span> <span class="sh_symbol">=</span> <span class="sh_function">preg_replace</span><span class="sh_symbol">(</span><span class="sh_string">"/(<a(.*))-]-(.*)-[-(/a>)/isU"</span><span class="sh_symbol">,</span> <span class="sh_string">'1>3<4'</span><span class="sh_symbol">,</span> <span class="sh_variable">$body</span><span class="sh_symbol">);</span>
  <span class="sh_keyword">return</span> <span class="sh_variable">$body</span><span class="sh_symbol">;</span>
  <span class="sh_cbracket">}</span>
  <span class="sh_cbracket">}</span><span class="sh_comment">//End Archives</span>
  <span class="sh_comment">//高亮专用, 替换多次是可能不能达到最多次</span>
  <span class="sh_keyword">function</span> <span class="sh_function">_highlight</span><span class="sh_symbol">(</span><span class="sh_variable">$string</span><span class="sh_symbol">,</span> <span class="sh_variable">$words</span><span class="sh_symbol">,</span> <span class="sh_variable">$result</span><span class="sh_symbol">,</span> <span class="sh_variable">$pre</span><span class="sh_symbol">)</span>
  <span class="sh_cbracket">{</span>
  <span class="sh_keyword">global</span> <span class="sh_variable">$cfg_replace_num</span><span class="sh_symbol">;</span>
  <span class="sh_variable">$string</span> <span class="sh_symbol">=</span> <span class="sh_function">str_replace</span><span class="sh_symbol">(</span><span class="sh_string">'"'</span><span class="sh_symbol">,</span> <span class="sh_string">'"'</span><span class="sh_symbol">,</span> <span class="sh_variable">$string</span><span class="sh_symbol">);</span>
  <span class="sh_keyword">if</span><span class="sh_symbol">(</span><span class="sh_variable">$GLOBALS</span><span class="sh_symbol">[</span><span class="sh_string">'replaced'</span><span class="sh_symbol">][</span><span class="sh_variable">$words</span><span class="sh_symbol">]</span> <span class="sh_symbol">==</span> <span class="sh_number">1</span><span class="sh_symbol">)</span>
  <span class="sh_cbracket">{</span>
  <span class="sh_keyword">return</span> <span class="sh_variable">$pre</span><span class="sh_symbol">.</span><span class="sh_variable">$string</span><span class="sh_symbol">;</span>
  <span class="sh_cbracket">}</span>
  <span class="sh_keyword">if</span><span class="sh_symbol">(</span><span class="sh_variable">$cfg_replace_num</span> <span class="sh_symbol">></span> <span class="sh_number">0</span><span class="sh_symbol">)</span>
  <span class="sh_cbracket">{</span>
  <span class="sh_variable">$string</span> <span class="sh_symbol">=</span> <span class="sh_function">preg_replace</span><span class="sh_symbol">(</span><span class="sh_string">"/"</span><span class="sh_symbol">.</span><span class="sh_function">preg_quote</span><span class="sh_symbol">(</span><span class="sh_variable">$words</span><span class="sh_symbol">).</span><span class="sh_string">"/"</span><span class="sh_symbol">,</span> <span class="sh_variable">$result</span><span class="sh_symbol">,</span> <span class="sh_variable">$string</span><span class="sh_symbol">,</span> <span class="sh_variable">$cfg_replace_num</span><span class="sh_symbol">);</span>
  <span class="sh_keyword">if</span><span class="sh_symbol">(</span><span class="sh_function">strpos</span><span class="sh_symbol">(</span><span class="sh_variable">$string</span><span class="sh_symbol">,</span> <span class="sh_variable">$words</span><span class="sh_symbol">)</span> <span class="sh_symbol">!==</span> false<span class="sh_symbol">)</span>
  <span class="sh_cbracket">{</span>
  <span class="sh_variable">$GLOBALS</span><span class="sh_symbol">[</span><span class="sh_string">'replaced'</span><span class="sh_symbol">][</span><span class="sh_variable">$words</span><span class="sh_symbol">]</span> <span class="sh_symbol">=</span> <span class="sh_number">1</span><span class="sh_symbol">;</span>
  <span class="sh_comment">//echo $words;</span>
  <span class="sh_cbracket">}</span>
  <span class="sh_cbracket">}</span>
  <span class="sh_keyword">else</span>
  <span class="sh_cbracket">{</span>
  <span class="sh_variable">$string</span> <span class="sh_symbol">=</span> <span class="sh_function">str_replace</span><span class="sh_symbol">(</span><span class="sh_variable">$words</span><span class="sh_symbol">,</span> <span class="sh_variable">$result</span><span class="sh_symbol">,</span> <span class="sh_variable">$string</span><span class="sh_symbol">);</span>
  <span class="sh_cbracket">}</span>
  <span class="sh_keyword">return</span> <span class="sh_variable">$pre</span><span class="sh_symbol">.</span><span class="sh_variable">$string</span><span class="sh_symbol">;</span>
  <span class="sh_cbracket">}</span>

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值