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标签添加静态链接工作完成了。