511遇见官网最近在使用Discuz x3.4搭建论坛,发现discz静态化是不支持标签(tag)的,想更好利于seo,我们需要手动修改,官方插件都是收费的,也没有说明聚合后是否依然支持静态化,网上我们看到大约几篇教程,由于511遇见论坛采用了二级域名 bbs.511yj.com 也就是在原站(www.511yj.com)根目录下新建了文件夹bbs,这就给静态化带来了难度,网上抄袭采集的文章都是完全的复制,根本不复合本站的情况,更大的问题是,网上的教程,标签聚合后,在标签聚合页的标签链接,依然是 misc.php?mod=tag&id=13 这种格式,这里我们彻底解决了这个问题,如果不想使用收费插件的化,那么一切手动DIY吧。
修改Apache的规则
找见主网站根目录下 .htaccess
,如果你的discuz网站启用了静态化,在最后添加:
RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/tag/(.+)\.html*$ $1/misc.php\?mod=tag&id=$2 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/tag/tag.html*$ $1/bbs/misc.php\?mod=tag
如何你的discuz程序在网站根目录,如下添加:
RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/tag/(.+)\.html*$ $1/misc.php\?mod=tag&id=$2 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)/tag/tag.html*$ $1/misc.php\?mod=tag
检查前面的代码,看看是否开启了插件静态的支持,没有的话,填在最下面:类似以下的代码:
RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3&%1
或者
RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html(\?(.*))*$ $1/plugin\.php\?id=$2:$3&$5
查看方式---discuz后台--全局--seo--看看静态支持里有没有插件,是否选中,默认你只要开器了,这个选项是有的,所以这一步,你可以忽略。
修改viewthread_node_body.htm
打开template/default(模板风格)/forum/viewthread_node_body.htm
,查找:
misc.php?mod=tag&id=$var[0]
替换:
tag/$var[0].html
即:
查找:<a title="$var[1]" href="misc.php?mod=tag&id=$var[0]" target="_blank">$var[1]</a> 替换为:<a title="$var[1]" href="$var[0].html" target="_blank">$var[1]</a>
修改tagitem.htm
打开template/default/tag/tagitem.htm,
查找:
misc.php?mod=tag
替换为:
/bbs/tag/tag.html
你的论坛如果是网站主域名下(根目录下:)替换为:
/tag/tag.html
misc.php?mod=tag&id=$id 替换为:
tag/$id.html
修改tag.htm
打开template/default/tag/tag.htm,
查找
misc.php?mod=tag&id=$tag[tagid]"
修改:
tag/$tag[tagid].html
修改robots.txt
注释掉或直接删除:Disallow: /*?mod=misc*,Disallow: /misc.php
# Disallow: /*?mod=misc*
# robots.txt for Discuz! X3
#
User-agent: *
# Disallow: /*?mod=misc*
# Disallow: /misc.php
附: tag标签页伪静态SEO http://addon.discuz.com/?@exx_tagrewrite.plugin
这是官网插件,收费的,可以看看价格