电脑技术学习

解决帝国CMS列表页标题重复的问题

dn001

在对列表页进行优化的时候面临的一个问题就是各个页面标题相同,大家都知道页面标题重复是对SEO很不友好的,虽然搜索引擎对列表页最主要页面的判断有自己的一套算法,但做SEO的不能把希望寄托在搜索引擎会怎么做。

认识的标题重复性的问题,目前比较好的解决方法有两个,一是使用Canonical标签将第二页及以后所有的页面定向到第一页(第一页通常就是默认排序页),另一个方法是在各页面标题上加上页次。技术大牛很快就会将问题解决,技术一般的SEO只能去搜索,看看有没有自己要的答案。今天我就来说一下我用帝国CMS是如何解决这个问题的,我用的是页面标题加页号的方法,我已经把这种方法用的我的网站上。

在相应的列表模板里可以使用[!--list.pageno--]这个变量,不过单独使用这个变量显得很突兀,第[!--list.pageno--]页,这样的方法也无法将第一页与其它页面很好的区分开来,我的方法是第一页标题后面不加任何有关页号的后缀,从第二页开始,采用标题+  第[!--list.pageno--]页的形式。再修改/e/class/functions.php,找到$string=str_replace('[!--list.pageno--]',$pagenum,$string);将其修改为$string=str_replace('[!--list.pageno--]',($pagenum==1?'':'第'.$pagenum.'页'),$string);,用一个三目运算符根据页号修改了[!--list.pageno--]的值。在帝国6.6及以下版本都可以应用此方法,帝国7.0版本已经修改好了,只是缺少“第”与“页”这两个字,自己手动加上即可,从这个角度看帝国对SEO还是非常友好的,细节都考虑得这么完善。