dedecms频道页怎么获取文章列表并能够翻页。Ps:不是列表页哦,是频道页获取下级栏目的文章
方法:typeid='top' 或者typeid='asdas'任意字母不为空不为数字 写上这一个属性就可以了
{dede:arclist orderby='pubdate' titlelen='28' row='7' typeid='top' }
如果是在文章页 这篇文章又是最新刚发布的,那么最新文章里就会包含这篇文章,想要去除这篇文章,可以加limit{dede:arclistorderby='pubdate' titlelen='28'row='7'typeid='top' limit='1,7'}
当然如果不是最新的文章,再次生成的时候还是有可能和当篇文章重复的
织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展。
目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用该系统。
一、网站分页对SEO优化的影响
1、大量重复内容,页面标题与URL意义多样化。
2、页面ALT属性的确定与添加,网页加载服务器可能加大负载。
3、增加用户的无效点击,页面停留时间短,跳出率高。
4、页面核心内容相关性与下一页承载关系容易混乱,会导致索引擎抓取收录出错。
5、分页会导致分散链接,锚文本,PageRank的目标页面指向,让搜索引擎不好判断第几页作为权重传递页面。
二、解决网站分页SEO优化问题的方法技巧
1、由于分页产生的大量重复内容,特别是在网页标题上的重复是最明显的,例如我们使用比较多的程序dedeCMS和wordpress都会遇到分页的这个问题,虽然有不少朋友会注意到这个问题,但是还是有不少网站会忽略了这个问题。
当然,这一点可能有点吹毛求疵,但是要想为了网站的长远发展,这些细节也是需要我们多加注意的,对于这个问题,其解决思路很简单,那就是让每个页面标题产生差异性,在此,建议大家可以将标题可以书写为“栏目标题+第几页+网站标题”,对于正在使用织梦CMS后台管理系统栏目列表分页的解决方案就是修改成以下调用代码:
{dede:fieldtitle/}{dede:pagelistlistitem=”pageno”listsize=”0〃function=”html2text(@me)”runphp=”yes”}if(strlen(@me)>10||@me==1)@me=”";else@me=”_第”str_replace(‘‘,”,@me)”页”;{/dede:pagelist}_{dede:globalcfg_indexname/}
而对于wordpress来说一个很好的解决方案就是使用AllinOneSEOPack插件,至于其他的后台管理程序系统我还没有发现更好的解决方案,等有了比较利于seo优化的方法,我会上跟大家再分享的。
2、针对“页面ALT属性的确定与添加,网页加载服务器可能加大负载。”的问题。这就不得不说下一些网站了。因为分页用到最多的就是资讯,这里面涉及到两个问题,一个分页造成工作人员的工作量有可能增加,另外,虽然单页的加载速度加快了,但是却占了网站服务器的大量存储,太多这样的页面必然会对网站的性能造成影响,而性能优化是对网站在硬件上的基本要求了,关于这方面我在此就不多说了,对于具体如何提高网站速度这块。
3、通常,我们会希望用户着陆页在分页的“第一页”的页面上,而不是在中间的第二页第三页上。实际情况是你可能会发现一些页面关键词排名良好的是分页里面的某一个页面,而不是你选择的那个着陆页。如果这些目标排名网页不能满足用户查询需求,这将影响网站的点击率和跳出率。
而针对用户的无效点击和停留时间,跳出率高的问题,由于完全需要根据用户的喜好,而且搜索引擎对于这一部分的算法也是非常模糊的,我们不知道度如何控制跳出率,让网页更符合搜索引擎的要求,这里的不可控性因素太强,所以我们在这一点上唯一可做的就是讨好用户,通过精美的内容来吸引用户停留,个人觉得可以参考的有三点:
(1)、内容充实,排版清晰,为用户减少阅读负担;
(2)、精美,在上吸引用户点击和停留;
(3)、站内的引导,避免流量直接跳出损失。
4、对于“页面核心内容相关性与下一页承载关系容易混乱,会导致索引擎抓取收录出错。”的问题,目前还都没有比较好的方法来解决,尤其是页面核心内容的分页,其实是很难把控的,因为你不知道切分出来的哪个页面真正能符合网页核心主旨,也不知道搜索引擎会如何去抓取收录这几个页面,而且更值得注意的是这些分页的页面必然会形成一定的内部竞争,最终展现给用户在搜索引擎结果中的也可能会有一定的问题。四合装饰
所以目前百度搜索引擎对此也是根据词频提取的算法来展现内容的,这就像大家经常在百度搜索出来网站和文章标题,其展示的描述却不定是站长和SEOer所填写的那些。对此问题的解决方法,建议就是能不分页的内容就尽量不要分页,而对于核心内容的展示,尽量多注意一下核心关键词的密度。
在一些情况下,如果文章内容确实太长,不方便阅读,必须要分页的话,可以使每一段都围绕着一个核心点,可独立支撑起一个页面内容量的情况下可以考虑分页使用。
另一方面是基于pagerank的原理为其他的链接页面做权重传递,如果这里分页之后把一个页面的权重分散给了这几个页面,而这几个页面中加起来的链接总数肯定要多很多,那么最终传递的权重可能只有一小部分了,虽然这种理论的东西都只是猜测,但仔细思考也有点道理的。而且我们不能够确定哪个页面权重更高,最终像第4点中提到的一样,百度确定不了网页的核心主题,需要自己分析,那么就可能和自己的初衷产生偏差。
1、建议尝试arcpagelist 标签,示例如下:
<ul class="c1 ico2">{dede:arclist flag='c' titlelen=42 row='16' tagid='dedecms' pagesize='8'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>{/dede:arclist}
</ul>
<div>{dede:arcpagelist tagid='dedecms'/}</div>
2、使用php语句编写
3、一次读取20条-100条,数目不超过1000条,基本资源影响不大,用js做分页。
在后台设置:
方法1、系统---系统基本参数---性能选项---文章自动分页大小(单位: K): 设置文字的量就可以了。
方法2、还可以在后台发布文章的时候,用编辑器的分页标示 #p#副标题#e#
如图:
方法/步骤
1、首先我们在dedecms默认模板文件夹下面找到文件list_imaghtm文件,有人会问,为什么找这个文件呢?因为里面有调用代码,我们只有复制过来就可以了。
2、打开list_imaghtm文件,找到分页调用的代码段,正常情况是在30至34行,把这段代码复制下来粘贴到我们需要调用的地方。
3、接下来就是找这段代码的样式了,同样在list_imag里面找到css调用代码,正常情况在第8行,发现它调用了dedecmscss文件。
4、ok,我们在dedecms默认模板文件default/style下找到这个dedecmscss文件,打开它。发现它里面引入了layoutcss和pagecss。
5、我们同样在dedecms默认模板文件default/style下找到layoutcss和pagecss,打开他们
6、在刚才的分页调用代码段中,我发现它的class=“dede_pages”,那么我们在上面找的三个css文件里面搜索,看那个文件上有关于“dede_pages”的样式定义。结果在pagecss中查找到了,正常情况在第544至561行。代码如下图,把这段代码复制下来放到我们文件调用的css下面。
7、好的,现在刷新一下我们的页面,怎么样分页出来了吧,是不是很简单呢!
参考dedecms的帮助文档中的arclist标签
标签名称:arclist
标记简介:织梦常用标记,也称为自由列表标记,其中imglist、imginfolist、specart、coolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。
功能说明:获取指定文档列表
适用范围:全局使用
基本语法:
{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclist}
参数说明:
col='' 分多少列显示(默认为单列),53版中本属性可以通过多种方式进行多行显示
如果col='1'要多列显示的可用div+css实现
以下为通过div+css实现多列的示例:
<style type=text/css>
div{width:400px;float:left;}
</style>
{dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='' col='2'}
•[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/>
{/dede:arclist}
当col>1将使用原来的table多列方式显示
row='10' 返回文档列表总数
typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目;
getall='1' 在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类
titlelen = '30' 标题长度 等同于titlelength
infolen='160' 表示内容简介长度 等同于infolength
imgwidth='120' 缩略图宽度
imgheight='90' 缩略图高度
listtype='all' 栏目类型 image含有缩略图 commend推荐
orderby='sortrank' 文档排序方式
§ orderby='hot' 或 orderby='click' 表示按点击数排列
§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列
§ orderby='near'
§ orderby=='lastpost' 按最后评论时间
§ orderby=='scores' 按得分排序
§ orderby='id' 按文章ID排序
§ orderby='rand' 随机获得指定条件的文档列表
keyword='' 含有指定关键字的文档列表,多个关键字用","分
innertext = '' 单条记录样式
aid='' 指定文档ID
idlist ='' 提取特定文档(文档ID)
channelid 频道ID
limit='起始ID,记录数' (起始ID从0开始)表示限定的记录范围(如:limit='1,2' 表示从ID为1的记录开始,取2条记录)
flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]
noflag = '' 同flag,但这里是表示不包含这些属性
orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
subday='天数' 表示在多少天以内的文档
用arclist调用于附加表字段的方法:
要获取附加表内容,必须符合两个条件
1、指定 channelid 属性
2、指定要获得的字段 addfields='字段1,字段'
如:
{dede:arclist addfields='filetype,language,softtype' row='8' channelid='3'}
[field:textlink /] - [field:softtype /]<br />
{/dede:arclist}
底层模板字段:
ID(同 id),typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,
source,litpic(同picname),pubdate,senddate,mid, lastpost,scores,goodpost,badpost,notpost,
description(同infos),filename, image, imglink, fulltitle, textlink, typelink,plusurl, memberurl, templeturl,
stime(pubdate 的"0000-00-00"格式)
其中:
textlink = <a href='arcurl'>title</a>
typelink = <a href='typeurl'>typename</a>
imglink = <a href='arcurl'><img src='picname' border='0' width='imgwidth' height='imgheight'></a>
image = <img src='picname' border='0' width='imgwidth' height='imgheight' alt=’titile’>
字段调用方法:[field:varname/]
如:
{dede:arclist infolen='100'}
[field:textlink/]
<br>
[field:infos/]
<br>
{/dede:arclist}
注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能。
如: 给当天发布的内容加上 (new) 标志
[field:senddate runphp='yes']
$ntime = time();
$oneday = 3600 24;
if(($ntime - @me)<$oneday) @me = "<font color='red'>(new)</font>";
else @me = "";
[/field:senddate]
dedecms列表页如何调用子栏目列表以及子栏目的名称的方法。
如下参考:
1打开梦想编织设备的主界面,直接找到增加顶级top程序,选择跳转。
2此时,进入新的对话框,根据实际情况设置相关参数。
3如果下一步没有问题,点击确定,如下图。
4以便在特殊情况下看到相应的结果,可以转移到使用指定列下的子列列表中。
方法和详细的操作步骤如下:
1、第一步,打开织梦Dedecms的主界面,直接找到“增加顶级栏目”选项并选择跳转,见下图,转到下面的步骤。
2、第二步,执行完上面的操作之后,进入新对话框,根据实际情况进行设置,见下图,转到下面的步骤。
3、第三步,执行完上面的操作之后,请单击“确定”按钮,见下图,转到下面的步骤。
4、第四步,执行完上面的操作之后,可以调用当前栏目的文章列表,见下图。这样,就解决了这个问题了。
0条评论