昨天,我在用“Google网站管理员工具”检查网站时发现,其中的“故障诊断”项目下的“HTML建议”一项提示有“重复的标题标记”。其实就是说,网站每一个栏目不是有好多页吗?而这些页面的标题则完全一样,也就是栏目的标题,例如“电脑技巧_三好网志”这样的形式。而标题重复的话,对SEO显然是不利的,Google已经清晰地告知了这一点。
那么如果把栏目不同页面的标题修改成“电脑技巧_第1页_三好网志”这样的形式,就能解决这个问题了。
修改的方法,我在网上找到了两种,一种是(原始的代码有误,我已经修改好了):
首先在模板文件list_article.htm或者你使用的列表模板文件中
把
{dede:field.title/}
改成
{dede:field.seotitle/}{dede:pagelist listitem="paget" listsize="0" runphp="yes"}if (strlen(@me)>10 || @me==1) @me="";else @me="_".@me.;{/dede:pagelist}
(当然,如果你想更进一步优化,你也可以同时将{dede:field.title/}改为:{dede:field.seotitle/},然后在后台栏目色设置中填写SEO标题作为栏目标题。)
然后将描述改为:
10 || @me==1) @me="";else @me=.@me.;{/dede:pagelist}" />
然后在\include\arc.listview.class.php文件中
1.找到
$listdd.= "
然后在下面加一行:
$pagedd = "_第".$j."页";
2.如果你使用的是织梦V5.6版本,请找到:
if(eregi('pageno',$listitem)) $plist .= $listdd;
然后在下面加一行:
if(eregi('paget',$listitem)) $plist .= $pagedd;
如果你是织梦V5.7版本,请找到:
if(preg_match('/pageno/i', $listitem)) $plist .= $listdd;
然后在下面加一行:
if(preg_match('/paget/i',$listitem)) $plist .= $pagedd;
这种方法其实连带解决了又一个问题,也就是同样在“Google网站管理员工具”中提示的“重复的元说明”,意思就是每个栏目页面的描述也都是完全相同的。该方法也是在描述中添加上“第*页”来解决这个问题。不过经过验证,如果栏目没有添加描述,一样会添加一个“第*页”,这就有画蛇添足的感觉了,并且动态页面并没有实现添加“第*页”的效果,所以感觉不太满意。
后来又找到一种解决方法,感觉要比上一种方法简单,并且也解决了动态页添加的问题,下面分享一下:
修改php的方法为:
DedeCMS修改列表页标题成“列表名-第xx页”需要修改include/arc.listview.class.php
静态页的修改方法:
1.删掉219行 $this->ParseTempletsFirst();
2.在247行$this->ParseDMFields($this->PageNo,1);前添加
$this->Fields['pagexx'] = $this->PageNo;
$this->ParseTempletsFirst();
动态页的修改方法:
3.在287行if((empty($this->PageNo) || $this->PageNo==1) 前添加
$this->Fields['pagexx'] = $this->PageNo;
list_article.htm模板的修改方法:
在列表模板的title标签中添加第{dede:field.pagexx /}页,即
{dede:field.title/} / 第{dede:field.pagexx /}页
希望能给需要的朋友以帮助!