DedeCMS 要害词替换问题较完美办理方案

[摘要]Dedecms的要害词替换即内链系统有个BUG,当别离给两个存在嵌套干系的词加链接时会呈现问题,这样倒霉于网站的优化。本文作者回收先替换较量短然后再匹配替换长的办理方案,要领见下文。

  问题描写

  织梦内容要害词替换的时候存在一个错误:假如拥有两个要害词,譬喻“CIT”()和“CIT信息网”(),但在文章替换的时候我们发明就会呈现问题,链接酿成了:

<a href=http://down.chinaz.com/"http:/www.cit.cn"><u><a href="">CIT</a>信息网</u></a>

  详见小编之前写的内链阐明文章:CMS要害词内链系统大比拼一:Phpcms VS Dedecms

  办理方案

  这样的嵌套错误无论对SEO照旧用户体验都是欠好的,这里我们有一个办理方案,也就是先替换较量短的,然后再匹配替换长的,这样系统则会先去替换CIT这个要害词,而不会去替换CIT信息网了。

  修改代码

  其实修改代码很简朴,我们直接找到include/arc.archives.class.php这个文件,在1226行代码,也就是:

//高亮专用, 替换多次是大概不能到达最多次
function _highlight($string, $words, $result, $pre)
{
global $cfg_replace_num;
$string = str_replace('"', '"', $string);

  后头增加一段代码,使它变为

//高亮专用, 替换多次是大概不能到达最多次
function _highlight($string, $words, $result, $pre)
{
global $cfg_replace_num;
$string = str_replace('"', '"', $string);
uasort($words,create_function('$a, $b','return strlen($a)>strlen($b);'));  总结

  DedeCMS对付SEO喜好者确实是一个利器,如何用好还需要深入琢磨。

  原文地点:

分享到

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9947.html