织梦是优化做得比较好的程序之一,但仍然有一些细节问题没处理好,比如列表分页的SEO优化就有两个比较明显的问题,一个是列表页面的标题重复,这个在织梦DedeCMS列表页标题SEO优化一文已经解决了;另一个问题是织梦dede栏目分页URL链接地址的问题。
织梦DedeCMS的栏目列表分页链接,在栏目的首页会存在两个内容相同url却不同的页面,这个会造成搜索引擎的重复页面。
当然,下面的那个链接,你现在打开的话,将是404页面,因为已经删除这个页面了。怎么解决织梦列表页分页第一页与默认页内容相同但网站URL不同的问题呢?我们可以通过修改织梦DedeCMS的分页程序,先删除第一页的页面,然后将第一页的链接做成默认页。
修改文件之前,一定要做好备份哦,改坏了不赔的啊!
修改的具体方法如下:
找到\include\arc.listview.class.php(资讯列表页)首先使用Dreamwear等文本编辑器打开/include/arc.listview.class.php文件,搜索以下代码:
1
|
copy ( $list_1 , $indexname ); |
在该代码的下方加入下面的代码:
1
|
unlink( $list_1 ); |
这样就可以在生成栏目html的时候自动将列表第一页删除。修改列表分页的默认首页和第一页的链接首先将以下的这段代码添加到"//获得上一页和主页的链接"前面:
这段代码是对链接地址进行替换的。在两个文件中分别找到下面几行代码(就在"//获得上一页和主页的链接"下面)
1
2
3
4
5
6
7
8
9
|
if ( $this ->PageNo != 1) { $prepage .= "<ul style=" " class=" list-paddingleft-2 "><li><p><a>上一页</a></p></li></ul>\r\n" ; $indexpage = "<ul style=" " class=" list-paddingleft-2 "><li><p><a>首页</a></p></li></ul>\r\n" ; } else { $indexpage = "<ul style=" " class=" list-paddingleft-2 "><li><p>首页</p></li></ul>\r\n" ; } |
将这段代码修改为:
1
2
3
4
5
6
7
8
9
10
11
12
|
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" ; } |
这段代码的作用是对链接地址进行定义的。最后还需要加上一段判断分页列表是否为第一页的代码首先找到以下的代码:
1
|
$listdd .= "<ul style=" " class=" list-paddingleft-2 "><li><p><a>" . $j . "</a></p></li></ul>\r\n" ; |
将这段代码修改成:
1
2
3
4
5
6
7
8
|
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文件的代码之后,上传替换文件,然后生成栏目,就不会再出现列表默认首页与列表第一页完成重复的问题了。