织梦如何自动生成内链

   本人最近改版网站,采用织梦5.7版本,想要使文章自动内链,在网上找了许久,发现所有的文章都只解决了内链问题,而没有解决“自动”二字,于是经过研究,可通过如下方法解决织梦5.7自动内链问题,并彻底解决织梦内链BUG。
      此方法可以用来给你的网站添加内链。合理的内链可以让你的网站更易于让蜘蛛抓取到信息,更合理的分配权重,以及获得更好的客户体验。下面谈下具体的方法:

首先进入织梦后台管理中心。

1、后台>系统>系统基本参数>核心设置>关键字替换(是/否),这里选择“是”。

2、后台>系统>系统基本参数>其他选项>文档内容同一关键词替换次数(0为全部替换): 1(如果同一个关键词在同一个页面上出现多次内部链接,似乎不很好,所以这里我选择一次,也就是在文章内容第一次出现关键词的时候加链接)

3、后台>采集>文档关键词维护, 在这里面设置关键词以及指向网址的链接。例如:关键词(午夜在线)链接(http://www.wuye21.com)

但是这里有个问题,这个只是在添加文章时,在关键字一栏里填写的关键字才有链接(这样还是显得比较麻烦)而文章里出现的其他”文档关键字”是不会被加上链接的。

怎么才能让文章中出现的关键字也自动加上链接呢?

  一、开打include/arc.archives.class.php 文件
  二、查找function ReplaceKeyword($kw,&$body)
  三、查找如下代码
 
foreach($kws as $k)
{
$k = trim($k);
if($k!=”")
{
if($i > $maxkey)
{
break;
}
$myrow = $this->dsql->GetOne(“select * from ldf_keywords where keyword=’$k’ And rpurl<>” “);
if(is_array($myrow))
{
$karr[] = $k;
$GLOBALS['replaced'][$k] = 0;
$kaarr[] = “$k”;
}
$i++;
}
}

四、修改如上代码为
$dsql = new DedeSql(false);
$query=”select * from ldf_keywords where rpurl<>” “;
$dsql->SetQuery($query);
$dsql->Execute();
while($row = $dsql->GetArray())
{
$key = trim($row['keyword']);
$rul=trim($row['rpurl']);
if($rul!=”")
if(!in_array($key, $kw))
if(!in_array($kw,$key))
if(substr_count($body,$key)<10)
{
$karr[] = $key;
$kaarr[] = “$key”;
}
}

  五、OK,已经修改完成了保存。FTP上传,覆盖空间include/arc.archives.class.php 文件
  六、一键更新网站->更新所有(以前的文章就会自动内链)
  七、最后,在系统设置的“性能设置”选择使用关键词关连文章,“其他选项->关键词替换次数”中填入不小于1的数。
  以后,新添加的文章,就会自动内链,以后都不需要去“后台->核心->批量维护->文档关键词维护”那里累死累活的添加链接了。如果是和本人一样懒,可以在“后台->系统->系统基本参数->性能选项”做如下选取
  

发布文章后马上更新网站主页:  
发表文章后马上更新相关栏目:  
发表文章后马上更新上下篇:

 
  这样,每次添加好文章后,就一切自动解决了。
  注释:新代码可以有效的消除织梦自动内链bug
  原bug为:如果有两个关键词“对外汉语”和“对外汉语教师”,在文章中出现“对外汉语教师”时,自动内链只会永远链接为“对外汉语”,而忘却“对外汉语教师”这个关键词。

 

本文链接:https://www.dnwfb.com/309.html,转载请注明出处。
0

评论0

没有账号? 注册  忘记密码?