ecms TAG伪静态SEO优化,去除默认的页数0

in Archives with 0 comment

帝国cms默认的TAGS信息列表页伪静态格式为:

tags-[!--tagname--]-[!--page--].html

当我们在文章内容页用showtags标签输出当前信息TAGS的时候,这些tag的超链接地址都默认带上了页数0,例如:

http://xxx.com/tags-d9-0.html

其实采用上述伪静态格式,带上默认的页数0,对seo的影响并不大。
但如果我们想模仿typecho的tag页面url,采用下面的伪静态格式:

tags/[!--tagname--]/[!--page--]/

默认的页数0就很碍眼了,而且也会不利于seo。
对比一下:

http://xxx.com/tags/d9/0/

http://xxx.com/tags/d9/

哪种url更好呢?显而易见是后者。

那么要如何实现ecms文章内容页tag链接伪静态seo优化成去掉0的格式呢?

如果ecms的TAGS信息列表页伪静态参数设置为:

tags/[!--tagname--]/[!--page--]/

那么需要修改ecms的源代码才能满足要求,也就是二次开发,这个感兴趣的大家可以百度一下,有很多相关的教程。

然而D9是不太喜欢对程序源码进行二开的,会给后续的网站搬家、网站备份/恢复、程序版本升级等等造成未知影响。

因此采用了折中的方式实现了ecms的tag伪静态seo优化,方案如下:

1、将ecms的TAGS信息列表页伪静态参数设置为:

tags/[!--tagname--]/

2、在tags信息列表模板中去掉分页标签:

[!--show.listpage--]

3、ecms后台设置将tags每页显示信息数改为200

4、添加nginx伪静态rewrite规则如下

rewrite ^([^\.]*)/tags/(.+)/([0-9]+)/$ $1/e/tags/index.php?tagname=$2&page=$3 last;
rewrite ^([^\.]*)/tags/(.+)/$ $1/e/tags/index.php?tagname=$2&page=0 last;

优化后的tag链接示例:https://d9.ee/tags/王小波/

解释一下为什么要删除tags列表模板中的分页标签,因为ecms伪静态参数设置关系,如果不删除,输出的tags第二页、第三页等后续页面的url都是不带页数的。

然后我们改大tags每页显示的信息数,丰富了tag页面内容,同一tag权重不会分散,有利于seo。

Comments are closed.