本篇文章次要讲述了dedecms要害词交换计划,依据频次先交换长尾要害词再交换主要害词,本篇章具备肯定的参考代价,感兴味的冤家能够理解一下。成绩:正在应用dedecms的文档要害词交换性能时,会造成穿插交换
成绩:正在应用dedecms的文档要害词交换性能时,会造成穿插交换
如:
长尾要害词1:汉子喝金丝皇菊有甚么益处?
长尾要害词2:喝金丝皇菊有甚么益处?
主要害词3:金丝皇菊
应用零碎默许的性能时,正在交换主要害词的时分,会将下面曾经交换好的长尾要害词中的“金丝皇菊”也交换掉,从而毁坏了原本的长尾要害词锚文本。
处理思绪:
1.先将要交换的要害词交换成相似:
要害词1:'#####0#####'
要害词2:'#####2#####'
要害词3:'#####3#####'
再进行以上交换操作的时分,咱们需求保留要害词所对应的锚文本,如:
'#####0#####' --> 要害词1的锚文本
'#####1#####' --> 要害词2的锚文本
'#####2#####' --> 要害词3的锚文本
等全副交换终了后,咱们最初再规复回来
这里,咱们次要修正:include/arc.archives.class.php 文件
修正局部以下:
//高亮公用, 交换屡次是可能不克不及达到最屡次 function _highlight($string, $words, $result, $pre) { global $cfg_replace_num; // if (version_compare(PHP_VERSION, '5.5.0', '>=')) // { // $string = $string[0]; // $pre = $pre[0]; // } //修正 Start $replaced_array = array(); $replaced_tiems = 0; //修正 End $string = str_replace('\"', '"', $string); if ($cfg_replace_num > 0) { foreach ($words as $key => $word) { if ($GLOBALS['replaced'][$word] == 1) { continue; } //修正 Start $replace_string = '#####' . $replaced_tiems . '#####'; $replaced_array[$replace_string] = $result[$key]; $string = preg_replace("#" . preg_quote($word) . "#", $replace_string, $string, $cfg_replace_num); $replaced_tiems+= 1; //修正 End // $string = preg_replace("#".preg_quote($word)."#", $result[$key], $string, $cfg_replace_num); if (strpos($string, $word) !== FALSE) { $GLOBALS['replaced'][$word] = 1; } } //修正 Start foreach ($replaced_array as $k => $v) { $string = str_ireplace($k, $v, $string); } //修正 End } else { $string = str_replace($words, $result, $string); } return $pre . $string; }
留意:这里咱们需求正在后盾修正文档要害词的频次,默许是 频次高的优先交换,频次低的后交换
相干教程:PHP视频教程
以上就是dedecms要害词交换计划的具体内容,更多请存眷资源魔其它相干文章!
标签: dedecms php php开发教程 php开发资料 php开发自学 关键词替换
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!