/ 中存储网

DedeCMS 5.7首页调用文章tag标签添加静态链接

2016-03-02 23:36:34 来源:中存储网

Dedecms的tag标签静态化有利于SEO,本文介绍如何实现Dedecms 5.7的tag标签静态化,共分为三部分:

大家在用织梦DedeCMS建设网站的时候,会发现默认的dedecms系统的TAG标签链接不是静态的(url中包含有“tags?/”),动态的url并不利于网站的seo优化,那怎么来实现织梦DedeCMS的tag标签静态化呢?

1、进入你的DedeCMS后台,在左边找到“系统-->系统基本设置-->核心设置”,在下面有一项“是否使用伪静态”,把此项后面的点上“是”。表示网站要启用伪静态。

2、在DedeCMS源代码的目录里,依次找到include/taglib/tag.lib.php文件,大概在87行左右,找到:

$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

将其改为:

$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";

这一步就将TAG链接中的问号去掉了。

3、修改archive.helper.php,给Tag标签加超链接

大家找到网站跟目录下的/include/helpers/archive.helper.php,找到大概在120行左右以下代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if ( ! function_exists('GetTags'))
{
    function GetTags($aid)
    {
        global $dsql;
        $tags = '';
        $query = "SELECT tag FROM `dede_taglist` WHERE aid='$aid' ";
        $dsql->Execute('tag',$query);
        while($row = $dsql->GetArray('tag'))
        {
            $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
        }
        return $tags;
    }
}

替换成以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if ( ! function_exists(''))
{
  {
      global $dsql;
      $tags = '';
      $query = "SELECT tag FROM `dede_taglist` WHERE aid=’$aid’ ";
      $dsql->Execute(‘tag’,$query);
 while($row = $dsql->GetArray(‘tag’))
      {
        $tags.= ($tags==”?”{$row['tag']}”:”.”{$row['tag']}”);
      }
      return $tags;
  }
}

大家现在把调用代码放在文章模板里试试吧,看看效果是不是出来啦!

4、依旧在DedeCMS源代码的目录里,依次找到templets/default/taglist.htm,找到:

<strong>当前位置:</strong>:<a href="{dede:global.cfg_cmsurl/}/">主页</a> > <a href='tags.php'>TAG标签</a> > {dede:field.title /}

修改为

<strong>当前位置:</strong>:<a href="{dede:global.cfg_cmsurl/}/">主页</a> > <a href='/tags.html'>TAG标签</a> > {dede:field.title /}

这一步将TAG连接的列表页的URL改为以.html结束。

4、最后一步,要分两种情况,这是很多人没注意到的,首先确保你的空间或主机是什么基于服务器搭建的(具体请垂询你的空间服务商)。现在主流的有Apache和Nginx服务器。
(1):如果你的空间是基于Linux+Apache搭建的环境,在根目录新建httpd.ini文件(若是你写有其他规矩请直接把以下代码添加到httpd.ini):

RewriteRule ^(.*)/tags.html $1/tags.php;
RewriteRule ^(.*)/tags/(.*).html $1/tags.php?/$2;

(2):如果你的空间是基于Linux+Nginx服务器搭建的环境,则静态化规则改为:

rewrite ^(.*)/tags.html $1/tags.php;
rewrite ^(.*)/tags/(.*).html $1/tags.php?/$2;

5、最近进入织梦DedeCMS后台更新缓存后,就能在前台页面看到静态的TAG链接了。赶快去动手修改吧。值得注意的是:修改前请注意做好备份,以免出错导致程序文件丢失。

6、至此,DedeCMS 5.7首页调用文章tag标签添加静态链接工作完成了。