问题描述
织梦内容关键词替换的时候存在一个错误:如果拥有两个关键词,例如“CIT”(www.cit.cn/tags/cit.html)和“CIT信息网”(www.cit.cn),但在文章替换的时候我们发现就会出现问题,链接变成了:
<a href=&quot;http://www.cit.cn&quot;><u><a href=&quot;www.cit.cn/tags/cit.html&quot;>CIT</a>信息网</u></a> 详见小编之前写的内链分析文章:织梦DedeCMS文章页自动添加关键词内链锚文本
解决方案
这样的嵌套错误无论对SEO还是用户体验都是不好的,这里我们有一个解决方案,也就是先替换比较短的,然后再匹配替换长的,这样系统则会先去替换CIT这个关键词,而不会去替换CIT信息网了。
修改代码
其实修改代码很简单,我们直接找到include/arc.archives.class.php这个文件,在1226行代码,也就是:
//高亮专用, 替换多次是可能不能达到最多次function _highlight($string, $words, $result, $pre){ global $cfg_replace_num; $string = str_replace('&quot;', '&quot;', $string); 后面增加一段代码,使它变为
//高亮专用, 替换多次是可能不能达到最多次function _highlight($string, $words, $result, $pre){ global $cfg_replace_num; $string = str_replace('&quot;', '&quot;', $string); uasort($words,create_function('$a, $b','return strlen($a)>strlen($b);')); 总结
DedeCMS对于SEO爱好者确实是一个利器,如何用好还需要深入琢磨。
原文地址:http://help.dedecms.com/install-use/apply/2012/0828/2319.html |
温馨提示:资源转载网络个人收藏,如有侵权或下载链接失效或密码不对请联系站长
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
|