帝国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。
本文由 D9 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 8, 2020 at 03:12 pm