DedeCMS优化心得(一):让你的栏目文章列表实现完美分页

摘要DEDECMS默认的栏目分页有一个问题,无论你点了该栏目下的第一页,还是第N页,网页TITLE部分都是一样的,这样对搜索引擎来说,可能就判断成重复或是相似网页,不利于SEO;本文就为您详细介绍栏目文章列表实现完美分页的方法。

对一些代码可能不太精通的站长来说,DedeCMS无疑是最好的内容管理系统,它的自身优化做得很不错。目前,国内知名的CMS系统有很多,从最开始的动易、风讯一类的ASP+ACCESS/SQL SERVER系统开始,到现在的主流的PHP+MYSQL内容管理系统,如DedeCMS、PHPCMS、PHP168等等,无疑给站长们提供了极大的便利。DedeCMS以其模板的灵活性以及标签的可拓展性,受到非常多的站长朋友喜欢,我也不例外,概括下就是简单、实用、迅速、方便。DedeCMS优化心得(一):让你的栏目文章列表实现完美分页

今天主要为大家介绍下DedeCMS栏目文章列表的优化。我们先看下DedeCMS默认栏目文章列表模板中的标题部分是怎么调用的,如下:

<title>{dede:field.title/}_{dede:global.cfg_webname/}</title>

默认的分页格式是一级栏目 / 二级栏目_站点名称这种,并没有体现分页,这样就会带来一个问题,无论你点了该栏目下的第一页,还是第N页,网页TITLE部分都是一样的,这样对搜索引擎来说,可能就判断成重复或是相似网页,久之对网站排名不利。

别担心,最新版本DedeCMS V5.6版本中,其实从V5.5开始,就有了栏目seotitle的功能,这点功能增加对站长们来说无疑又是一个惊喜。你可以这么实现:

<title>{dede:field.seotitle/}_{dede:global.cfg_webname/}</title>

这样网页TITLE部分就变成自定义名称_网站名称这种格式了,相对灵活了很多。可是列表分页的问题还没有解决,真伤脑筋。接下来,我就为大家详细说明下,如何来利用标签来达到最佳的SEO体验。我们可以将列表模板的TITLE部分改成如下代码:

<title>{dede:field.seotitle/}{dede:pagelist listsize='0' listitem='paget' /}-{dede:channeltitle order='backward' character='-'/}-{dede:global.cfg_webname/}</title>

是不是变得很长?别担心,我一步一步给你分析原理。

1.使用{dede:field.seotitle/}标签

这里使用栏目的seotitle,如果你还是v5.3版本,那就直接使用{dede:typename/}调用栏目名称。使用栏目seotitle的目的,主要是保留seotitle的灵活性,你可以写上自定义的栏目名称,这步比较好理解吧?

2.使用{dede:pagelist listsize='0' listitem='paget' /}标签

是不是很类似于栏目分页的调用方法阿?没错,这里主要是为了在你的seotitle或是typename后面加上(1),(2)...这样的分页序号,以达到完美分页的目的。这里的paget属性就是调用当前栏目页的序号,我们需要修改源代码以实现,打开inlcude/arc.listview.class.php

找到894行左右

if($j==$this->PageNo)
{
 $listdd.= "<li class=\"thisclass\">$j</li>\r\n";
}

替换为

if($j==$this->PageNo)
{
 $listdd.= "<li class=\"thisclass\">$j</li>\r\n";
 //modify by lee 19:27 2010-11-09
 $pagedd =" ";
 if($this->PageNo != 1) $pagedd = "(".$j.")";//这里是页码形式,(1),(2)...可根据自己需求更改
}

再找到910行左右

if(eregi('info',$listitem)) $plist .= $maininfo;

在这行下面加上

//modify by lee 19:27 2010-11-09
if(eregi('paget',$listitem)) $plist = $pagedd;

以上是静态的分页列表的更改方法,其实只是对804行开始的GetPageListST分页函数作了一定的修改;如果你网站列表用的是纯动态或是伪静态,也很简单,只需要将915行开始的GetPageListDM动态分页函数按上面的方法修改一下即可。

3.使用{dede:channeltitle order='backward' character='-'/}标签

这个是自定义的栏目名称调用标签,由织梦论坛的天涯老师编写,为了优化栏目分页我做了适当修改,不显示当前栏目名称,只显示上级栏目名称,如果没有上级栏目则为空,些标签适用于DedeCMS V5.3以上版本。

些标签使用方法很简单,下载完成后直接解压到include/taglib文件夹下即可。

好了,就介绍到了,大家也都清楚了DedeCMS栏目文章列表实现分页的原理了吧。如果使用中有什么问题的话,可以给我留言,多多交流,共同学习进步之:)

目前留言:1   其中:访客:0   博主:0   引用: 1 条

评论加载中...

来自外部的引用: 1 条

  • DedeCMS数据负载性能优化方案 简单几招让你DedeCMS提速N倍 | 墨镜哥的窝

给我留言

图片 表情