• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dede文档关键词维护“频率”的设置
    POST TIME:2021-05-24 02:41

    dede文档关键词维护“频率”,这个频率只是表示关键词的热度,同动易系统的关键词权重等同。

    系统 》系统基本参数 》其他选项的最后一行。文档内容同一关键词替换次数(0为全部替换):1(1表示只链接第一个出现的目标关键词)。如图:

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

      解决方法(先备份)

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

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


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

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

    备注:

    1 文章提到的arc.archivew.class.php,织梦在升级后变成了 arc.archives.class.php

    2 修改过程中,文档末尾“?>”千万要保留

    3 这篇文章写得很好,不过代码有问题

    4 这篇文章的代码是正确的

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!