当前位置 : 主页 > 基础优化 > 正文

DedeCMS列表分页标题第一页与首页内容重复

原创

重庆seo2016-05-28 11:49:38阅读()站内优化dedecms网站基础优化页面分页A+ / A-

DedeCMS列表分页标题第一页与首页内容重复

seo标题优化

       对于大多数网站来说,不是内容不够多,而是标题没有优化好,对搜索引擎来说,站点首页标题的权重是很高的,很多站长花尽心思去放关键字,写站点描述,尽力做到最好,如果你还不是很清楚网站标题如何写,请参考文章《怎么写好新站网站标题和描述

       其实优化还讲究分页的优化,如果一个页面非常多的内容,其实并不是最好的。

       首先内容多、图片多打开速度会变慢,当然可以采用延迟加载技术解决这个问题,请参考文章《网站图片Lazyload延迟加载技术》。

       其次,对搜索引擎来说,它会抓取整个页面的内容,对于分类较好的网站会给予较高权重,但是对那些没有太大相关规律的列表,会让该页面权重分散。这个概念可以理解为,搜索引擎无法判断这个页面主要说的是什么。特别是对页面进行分页之后吗,很多的分页面标题其实都是一样,没有页码也没有明显的区别。

分页后的第一页和其他页的SEO标题优化设置

       解决这个问题用本站为例,本站采用dedecms搭建,亲测以下方法有效后,分享即使价值。

       dedecms有默认的列表标题,一般是 {dede:field.title/} - {dede:global.cfg_webname/}

说明:

       这个title是个很好的标签,它既可以在列表页中调用二级频道的名,也可以调用三级频道名 / 二级频道名,也可以调用内容页的标题。但唯一不足的是他无法调用分页,简单的调用方法可以在后面加上{dede:field pagexx/},但是会让第一页的标题也带有“第一页”,这样不好看,特别对博客类网站来说。

       其实可以运用dede默认的标签:

{dede:pagelist listitem="pageno" listsize="0" function="html2text(@me)" runphp="yes"}
if (strlen(@me)>10 || @me==1) @me="";else @me=" 第".str_replace(' ','',@me)."页";
{/dede:pagelist}

       这样就可以解决第一页带“第几页”的麻烦了,橙色的10建议修改为3,继续往下看就知道这样的好处了。网上有介绍改源程序的,而且只能针对静态页面,如果全站都是伪静态的话岂不是很麻烦,所以这个方法最简单有效。

重要说明:

       由于在分页的地方也调用{dede:pagelist listitem='info,index,end,pre,next,pageno' listsize='5'/},如果调用了底层字段info出来的效果是

<span class="pageinfo">共 <strong>18</strong>页<strong>126</strong>条</span>

       可以在/include/arc.listview.class.php,找到:  获取静态的分页列表

       去掉<strong>、页、条这些字段,这样就最简洁留下:首页 上一页 1 2 3 上下页 末页 共,在最后面可以自定义文字比如“个图集”、“个产品”,运用更加灵活。/include/arc.listview.class.php动态的按照同样的方法修改即可。

        文件修改后还有重要作用,即是对当前列表调用的文章进行统计,其他文章、图片、视频、搜索结果等只要用{dede:list},自行修改/incluude/下对应的php即可。可以不用SQL调用文章或图集数据库,简单便捷!网上有很多写PHP和JS调用的方法,有点复杂了。完整代码如下:

共有{dede:pagelist listitem="info" listsize="0" function="html2text(@me)" runphp="yes"}{/dede:pagelist}个案例

       上述标题分页部分的10修改为3后,首页去除“第1页”才不受影响。当然如果你不修改arc.listview.class.php文件就继续保留吧。

if (strlen(@me)>3 || @me==1) @me="";

静态页面生成及分页链接修改部分

      对列表进行分页后生成的静态页面,有 http://www.vi586.com/list_1_1.html,http://www.vi586.com/list_1_2.html等,但是http://www.vi586.com/list_1_1.html(第一页)和http://www.vi586.com/(默认首页)内容是一样的,会影响权重。为完美解决分页SEO标题优化问题。

1.在\include\arc.listview.class.php 找到

copy($list_1,$indexname);

       下面增加:

unlink($list_1);

       这样就可以在生成栏目html的时候不生成第一页,原来如果已经在静态目录生成了 list_1_1.html,可以手动删除即可。这时再访问那个页面的时候会出现404错误,设置请参考文章《 什么是网站404错误》。

2.分页链接修改

       大约在105行,找到

 //获得上一页和主页的链接
if($this->PageNo != 1)
{
 $prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>\r\n";
 $indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>首页</a></li>\r\n";
}
else
{
 $indexpage="<li>首页</li>\r\n";
}

       修改为

$typedir= ereg_replace('{cmspath}',$GLOBALS['cfg_cmspath'],$this->Fields['typedir']);
if($this->PageNo != 1)
{
 if($prepagenum==1)
 {
  $prepage.="<li><a href=\"".$typedir."/\">上一页</a></li>\r\n";
 }
 else
 {
 $prepage.="<li><a href=\"".str_replace("{page}",$prepagenum,$tnamerule)."\">上一页</a></li>\r\n";
 }
$indexpage="<li><a href=\"".$typedir."/\">首页</a></li>\r\n";
}

       大约在1185行找到

$listdd.="<li><a href='".$purl."PageNo=$j'>".$j."</a></li>\r\n";

       替换为

if($j==1)
{
$listdd.="<li><a href=\"".$typedir."/\">".$j."</a></li>\r\n";
}
else
{
$listdd.="<li><a href=\"".str_replace("{page}",$j,$tnamerule)."\">".$j."</a></li>\r\n";
}

分页seo标题优化总结

       /include/arc.listview.class.php对这个文件进行修改的时候一定要注意备份,否则发生错误的时候后台是无法生成的静态页面的。对于用DedeCMS做博客的站,网站首页也能进行分页,方法可以参考文章《dedecms首页有效实现分页的两种方法

    扩展阅读

    本文地址:https://www.vi586.com/seo/233.html
    版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处

    赞(12)