DEDE美化和修改分页
DEDE默认分类分页地址存在不同URL相同内容问题,导致内容重复,对SEO非常不利。情况如下分页列表:
<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>4</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"与分类页地址一样
如果是老站,搜索引擎已收录了重复的list_4_1.html页面,则301到首页或删除。效果如下图:
<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>
解决办法
1,找到\include\arc.listview.class.php这个文件,将
$typedir= ereg_replace('{cmspath}',$GLOBALS['cfg_cmspath'],$this->Fields['typedir']);
这段代码添加到"//获得上一页和主页的链接"前面;
2,找到下面几行代码(就在"//获得上一页和主页的链接"下面)
if($this->ageNo != 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->ageNo != 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";
改成:
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";
}
好了,只需3步,大功告成了。
如果是老站点,搜索引擎已经收录了类似’list_1_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>4</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"与分类页地址一样
如果是老站,搜索引擎已收录了重复的list_4_1.html页面,则301到首页或删除。效果如下图:
<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>
解决办法
1,找到\include\arc.listview.class.php这个文件,将
$typedir= ereg_replace('{cmspath}',$GLOBALS['cfg_cmspath'],$this->Fields['typedir']);
这段代码添加到"//获得上一页和主页的链接"前面;
2,找到下面几行代码(就在"//获得上一页和主页的链接"下面)
if($this->ageNo != 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->ageNo != 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";
改成:
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";
}
好了,只需3步,大功告成了。
如果是老站点,搜索引擎已经收录了类似’list_1_1.html’这样的页面的话,您可以通过301转到首页,如果是虚机不能修改,那就删除了。
上一篇:手机访问pc网站自动跳转手机端网站代码 下一篇:DEDE会员注册开启邮箱验证通知正确完整的修改方