做网站优化的人应该都知道,网站在做SEO的过程中应该尽量要保证网页标题的唯一性,既在一个网站中不要不出同一个标题有多个页面的存在,更加不要出现不同URL出现同样的页面内容。许多网站默认的列表显示方式会造成大量的同标题不同内容的页面,假如一个列表下有10页文章,就会出现10个重复的标题,随着内容的增加重复页面也不断的增长,这样的行为对网站优化是极不友好的。
本站以织梦DedeCMS的栏目页为例,织梦默认的栏目列表页进行了分页之后,点击网页中首页、第一页出现了不同的URL,但标题、描述、主体内容都是一模一样;并且点击首页、第一页、第N页标题也都是相同,没有实现点击第N页就在标题上显示多少。这些对搜索引擎来说是非常不友好的,不利于网站的SEO优化。
标题添加第N页办法
1. 找到include/arc.listview.class.php文件,找到并将其删除:
$this->ParseTempletsFirst();
2. 在当前文件查找
$this->ParseDMFields($this->PageNo,1);
在他下面添加以下代码
$this->Fields['pagexx'] = $this->PageNo; $this->ParseTempletsFirst();
3. 打开你网站的列表页模板(我的模板是:list_article.htm),在title部分添加
第{dede:field.pagexx /}页
完整title变成
{dede:field.seotitle/}_第{dede:field.pagexx /}页_{dede:global.cfg_webname/}
最后生成整站,标题变为:seo标题_第N页_网站标题
首页第一页内容重复
默认DedeCMS模板栏目会出现这样一个问题,首页地址和第一页的默认地址不是同一个:
http://www.seo-chengdu.cn/jianzhan/
http://www.seo-chengdu.cn/jianzhan/list_1.html
但内容却是一模一样,虽然在使用的时候不会有任何的问题,但是从SEO优化的角度来说一个页面应该只有唯一的URL地址。出于这个原因,我们对生成的分页链接进行修改
1. 在include/arc.listview.class.php文件中找到
copy($list_1,$indexname);
在该代码下面增加:
unlink($list_1);
这样添加了之后,就可以在生成静态页面的时候,不生成第一页,如果原来目录中已经生成了list_1.html页面,可以手动删除即可。
2. 分页链接修改
上述文件中找到:
//获得上一页和主页的链接 if($this->PageNo != 1) { $prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li> "; $indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>首页</a></li> "; } else { $indexpage="<li>首页</li> "; }
将其修改为:
if($this->PageNo != 1) { if($prepagenum==1) { $prepage.="<li><a href="".$typedir."/">上一页</a></li> "; } else { $prepage.="<li><a href="".str_replace("{page}",$prepagenum,$tnamerule)."">上一页</a></li> "; } $indexpage="<li><a href="".$typedir."/">首页</a></li> "; }
在找到代码:
$listdd.="<li><a href='".$purl."PageNo=$j'>".$j."</a></li> ";
修改为:
if($j==1) { $listdd.="<li><a href="".$typedir."/">".$j."</a></li> "; } else { $listdd.="<li><a href="".str_replace("{page}",$j,$tnamerule)."">".$j."&l;/a></li> "; }
至此首页和第一页都指向了该栏目的唯一地址:http://www.seo-chengdu.cn/jianzhan/
补充说明
通过上面的步骤修改之后,会发现我们点击栏目的时候,标题会《栏目名称_第()页_网站标题》,这并不是我们真正想要的结果。
这里我们只需要将模板页面的:
{dede:field.seotitle/}_第{dede:field.pagexx /}页_{dede:global.cfg_webname/}
修改为:
<title>{dede:field.seotitle /}{dede:pagelist listitem="pageno" listsize="0" runphp='yes'}@me=trim(strip_tags(@me));if (is_numeric(@me)){if (@me!='1') @me='_第'.@me.'页';else @me="";}else @me="";{/dede:pagelist}{dede:global.cfg_webname/}</title>
红色部分为标题分页代码,如此操作之后,栏目页标题:栏目名称_第()页_网站标题,当栏目为第一页or首页时显示该栏目默认标题:栏目名称_网站标题
总结
至此我们已经将织梦栏目首页和第一页内容重复的问题进行了修复,大家在做SEO的时候一定要多注重细节方面的东西,才能更好的做好网站排名。
在对arc.listview.class.php文件进行修改之前,一定要先注意备份。否则修改的时候不小心弄错了一步,可能导致后台点击生成的时候无法生成静态页面。