dedecms tag静态化,不以关键词作为url以数字作为url方法修改

2017/12/1517:58:26dedecms tag静态化,不以关键词作为url以数字作为url方法修改已关闭评论 132

使用dedecms的cms建站系统,做好seo的话,需要将标签页面地址伪静态。

打开/include/taglib/tag.lib.php 查找以下代码:
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";
替换为:
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['id'])."/";

(以下修改适合V56版本,V57版本请自行参照修改)然后再修改 /include/arc.taglist.class.php 找到以下代码:
$this->TagInfos = $this->dsql->GetOne("Select * From `dede_tagindex` where tag like '{$this->Tag}' ");

替换为:
$this->TagInfos = $this->dsql->GetOne("Select * From `dede_tagindex` where id like '{$this->Tag}' ");

上面的代码可以实现整站所有地方调用的tag都是用如下的url形式:
/tags.php?/1/

采用这个方法以后,默认的单独tags页面中,title也会变成id的形式,这是不友好的,需要进行如下的替换:
找到taglist.htm中的所有{dede:field.title /},把这个替换成:
{dede:list}[field:title/]{/dede:list}

这样就可以在标题或者其他地方调用出来tags的具体名称了。

tags列表页可使用的标签完善性如下,自己diy选择性替换到所需位置:
{dede:list}<a href="[field:link/]" title="[field:title/]">[field:title/]{/dede:list}

或用以下方式调用tag名称:

{dede:sql sql="select tag from dede_tagindex where id=~title~"}[field:tag/]{/dede:sql}

修改完善的效果请查看此网站的tag标签页:http://jinmengqiang.cn/tags.php

 

 

VIA:http://jinmengqiang.cn/a/20160180.htm

历史上的今天:

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar