织梦DEDECMS分页修改和美化
DEDE默认分类分页地址存在不同URL相同内容问题,导致内容重复,对优化非常不利。情况如下分页列表:
解决思路 让分页地址"主页"、"1"与分类页地址一样 如果是老站,搜索引擎已收录了重复的list_4_1.html页面,则301到主页或删除。效果如下图:
<li><a href='list_4_1.html'>主页</a></li>
<li><a href='list_4_3.html'>上一页</a></li>
<li><a href='list_4_1.html'>1</a></li>
<li><a href='list_4_2.html'>2</a></li>
<li><a href='list_4_3.html'>3</a></li>
<li>
<a href='list_4_4.html'>
4</a>
</li><li><a href='list_4_5.html'>5</a></li>
<li><a href='list_4_5.html'>下一页</a></li>
<li><a href='list_4_5.html'>末页</a></li>
解决办法 1,找到\include\arc.listview.class.php这个文件,将
<li><a href="/xc/">主页</a></li>
<li><a href="xc-3.html">上一页</a></li>
<li><a href="/xc/">1</a></li>
<li><a href="xc-2.html">2</a></li>
<li><a href="xc-3.html">3</a></li>
<li>4</li>
<li><a href="xc-5.html">5</a></li>
<li><a href="xc-6.html">6</a></li>
<li><a href='xc-5.html'>下一页</a></li>
<li><a href='xc-6.html'>末页</a></li>
这段代码添加到"//获得上一页和主页的链接"前面; 2,找到下面几行代码(就在"//获得上一页和主页的链接"下面)
$typedir= ereg_replace('{cmspath}',$GLOBALS['cfg_cmspath'],$this->Fields['typedir']);
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";
}
改成:
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";
}
3.找到
$listdd.="<li><a href=’".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li>\r\n";
改成:
好了,只需3步,大功告成了。 如果是老站点,搜索引擎已经收录了类似’list_1_1.html’这样的页面的话,您可以通过301转到主页,如果是虚机不能修改,那就删除了。
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";
}