加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

织梦dedecms让文章页自动SEO内链不需要插件

发布时间:2020-12-14 05:03:35 所属栏目:Dedecms 来源:网络整理
导读:扯远了,说明天的重点“关键字内链”,其实织梦DEDECMS之前考虑过这个问题的,但是有一些BUG。 ?织梦DEDECMS后台里面 核心-批量维护-文档关键字维护 ?其实这个当时设计出来的时候就是用来做内链的。 织梦DEDECMS让文章页自动SEO内链 不需要插件 但是你总发觉
扯远了,说明天的重点“关键字内链”,其实织梦DEDECMS之前考虑过这个问题的,但是有一些BUG。 ?织梦DEDECMS后台里面 核心->批量维护->文档关键字维护 ?其实这个当时设计出来的时候就是用来做内链的。
织梦DEDECMS让文章页自动SEO内链 不需要插件
但是你总发觉得它不怎么好用,总会出这样哪样的问题。但是我们只需要修改一部分代码就可以让织梦DEDECMS自动替换关键字了,并且只是文档中只要出现了的都完全替换。
打开 /include/arc.archives.class.php 文件,在修改最后的两个方法,按下面的方法进行修改。
主要修改了ReplaceKeyword里面查询关键字的时候排序的算法,然后注释了一个判断
?
? ? /**
? ? ?* 高亮问题修正,排除alt title
? ? ?*
? ? ?* @param string $kw
? ? ?* @param string $body
? ? ?* @return string
? ? ?*/
? ? function ReplaceKeyword($kw,&$body)
? ? {
? ? ? ? global $cfg_cmspath;
? ? ? ? $maxkey = 5;
? ? ? ? $kws = explode(",",trim($kw)); ? ?//以分好为间隔符
? ? ? ? $i=0;
? ? ? ? $karr = $kaarr = $GLOBALS['replaced'] = array();
?
? ? ? ? //暂时屏蔽超链接
? ? ? ? $body = preg_replace("#(
?
? ? ? ? /*
? ? ? ? foreach($kws as $k)
? ? ? ? {
? ? ? ? ? ? $k = trim($k);
? ? ? ? ? ? if($k!="")
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if($i > $maxkey)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? $myrow = $this->dsql->GetOne("SELECT * FROM idea_keywords WHERE keyword='$k' AND rpurl<>'' ");
? ? ? ? ? ? ? ? if(is_array($myrow))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? $karr[] = $k;
? ? ? ? ? ? ? ? ? ? $GLOBALS['replaced'][$k] = 0;
? ? ? ? ? ? ? ? ? ? $kaarr[] = "
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? $i++;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? */
? ? ? ? $query = "SELECT * FROM idea_keywords WHERE rpurl<>'' ORDER BY keyword DESC";?
? ? ? ? $this->dsql->SetQuery($query);
? ? ? ? $this->dsql->Execute();
? ? ? ? while($row = $this->dsql->GetArray())
? ? ? ? {
? ? ? ? ? ? $key = trim($row['keyword']);
? ? ? ? ? ? $key_url=trim($row['rpurl']);
? ? ? ? ? ? $karr[] = $key;
? ? ? ? ? ? $kaarr[] = "
? ? ? ? }
?
? ? ? ? // 这里可能会有错误
? ? ? ? $body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe","_highlight('2',$karr,$kaarr,'1')",$body);
?
? ? ? ? //恢复超链接
? ? ? ? $body = preg_replace("#(
? ? ? ? return $body;
? ? }
?
?
}//End Archives
?
//高亮专用,替换多次是可能不能达到最多次
function _highlight($string,$words,$result,$pre)
{
? ? global $cfg_replace_num;
? ? $string = str_replace('"','"',$string);
? ? // if($cfg_replace_num > 0)
? ? // {
? ? ? ? // foreach ($words as $key => $word)
? ? ? ? // {
? ? ? ? ? ? // if($GLOBALS['replaced'][$word] == 1)
? ? ? ? ? ? // {
? ? ? ? ? ? ? ? // continue;
? ? ? ? ? ? // }
? ? ? ? ? ? // $string = preg_replace("#".preg_quote($word)."#",$result[$key],$string,$cfg_replace_num);
? ? ? ? ? ? // if(strpos($string,$word) !== FALSE)
? ? ? ? ? ? // {
? ? ? ? ? ? ? ? // $GLOBALS['replaced'][$word] = 1;
? ? ? ? ? ? // }
? ? ? ? // }
? ? // }
? ? // else
? ? // {
? ? ? ? $string = str_replace($words,$string);
?// ? }
? ? return $pre.$string;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读