对于大多数网站来说,不是内容不够多,而是标题没有优化好,对搜索引擎来说,站点首页标题的权重是很高的,很多站长花尽心思去放关键字,写站点描述,尽力做到最好,如果你还不是很清楚网站标题如何写,请参考文章《怎么写好新站网站标题和描述》
其实优化还讲究分页的优化,如果一个页面非常多的内容,其实并不是最好的。
首先内容多、图片多打开速度会变慢,当然可以采用延迟加载技术解决这个问题,请参考文章《网站图片Lazyload延迟加载技术》。
其次,对搜索引擎来说,它会抓取整个页面的内容,对于分类较好的网站会给予较高权重,但是对那些没有太大相关规律的列表,会让该页面权重分散。这个概念可以理解为,搜索引擎无法判断这个页面主要说的是什么。特别是对页面进行分页之后吗,很多的分页面标题其实都是一样,没有页码也没有明显的区别。
解决这个问题用本站为例,本站采用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标题优化问题。
copy($list_1,$indexname);
下面增加:
unlink($list_1);
这样就可以在生成栏目html的时候不生成第一页,原来如果已经在静态目录生成了 list_1_1.html,可以手动删除即可。这时再访问那个页面的时候会出现404错误,设置请参考文章《 什么是网站404错误》。
大约在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"; }
/include/arc.listview.class.php对这个文件进行修改的时候一定要注意备份,否则发生错误的时候后台是无法生成的静态页面的。对于用DedeCMS做博客的站,网站首页也能进行分页,方法可以参考文章《dedecms首页有效实现分页的两种方法》
本文地址:https://www.vi586.com/seo/233.html
版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处