主页 > 网站建设 > 建站知识 > 织梦(Dedecms)文章页自动添加关键词内链锚文本

织梦(Dedecms)文章页自动添加关键词内链锚文本

POST TIME:2018-09-02 13:27

DEDECMS有个文档关键词维护功能,这个功能可以把文章里的关键词链向各个地方,就是内链优化,作为SEO人员用dedecms系统必须解决的问题,dedecms 文档关键词维护,这个之前也用过,只不过有点小BUG,在网上搜了搜,终于解决了,dedecms文档关键词维护官方默认规则是:

1.文档关键词维护添加关键词和url对应表
2.文章内容出现改关键词
3.文章的关键词出现这个词(就是这里<meta name=”keywords” content=”" />)
显然第3条规则有问题,如果能去掉第3条规则就完美了。

织梦(dedecms)官方默认规则是:

1.添加关键词和关键词的链接地址

设置步骤:进入后台 核心->批量维护->文档关键词维护

2.文章内容出现该关键词

3.文章的关键词出现这个词(就是这里<meta name="keywords" content="" />) //这个是在发布文章的时候填写的

第三条规则使得关键词内链不尽完美,所以得修改文件取消掉第三条规则,达到我们想要的效果,即文章内出现该关键词即链向指定的URL

在Dedecms5.5,5.6下测试有效

一、开打include/arc.archives.class.php 文件

二、查找 function ReplaceKeyword($kw,&$body)

三、往下找到下面这段代码,删除或注释掉

foreach($kws as $k)
{
$k = trim($k);
if($k!="")
{
if($i &gt; $maxkey)
{
break;
}
$myrow = $this-&gt;dsql-&gt;GetOne("select * from dede_keywords where keyword=’$k’ And rpurl&lt;&gt;” ");
if(is_array($myrow))
{
$karr[] = $k;
$GLOBALS['replaced'][$k] = 0;
$kaarr[] = "<a href="{$myrow["><span style="text-decoration: underline;">$k</span></a>";
}
$i++;
}
}

四、并在注释或删除的代码下面加入以下代码:

 

$dsql = new DedeSql(false);
$query="select * from dede_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)<20)
{
$karr[] = $key;
$kaarr[] = "<a href=’$rul’>$key</a>";
}
}

五、OK,已经修改完成了。直接复制上面代码,文章内同样的关键词只会出现一个链接。



收缩
  • 微信客服
  • 微信二维码
  • 电话咨询

  • 400-1100-266