dedecms 栏目列表页链接优化方法
脚本之家
dedecms默认栏目列表分页链接:
<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 class="thisclass">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>
这种连接方式很不合理,对于SEO已经无意间分散了栏目页权重,我们要的效果是把list_4_1.html修改成/a/ 如下连接方式才合理:
<li><a href="/a/">首页</a></li>
<li><a href="list_4_3.html">上一页</a></li>
<li><a href="/a/">1</a></li>
<li><a href="list_4_2.html">2</a></li>
<li><a href="list_4_3.html">3</a></li>
<li class="thisclass">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.找到\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>rn”;
$indexpage=”<li><a href=’”.str_replace(“{page}”,1,$tnamerule).”‘>首页</a></li>rn”;
}
-------------------把上面代码改成---------------------
if($this->ageNo != 1)
{
if($prepagenum==1)
{
$prepage.=”<li><a href=”".$typedir.”/”>上一页</a></li>rn”;
}
else
{
$prepage.=”<li><a href=”".str_replace(“{page}”,$prepagenum,$tnamerule).””>上一页</a></li>rn”;
}
$indexpage=”<li><a href=”".$typedir.”/”>首页</a></li>rn”;
}
找到
$listdd.=”<li><a href=’”.str_replace(“{page}”,$j,$tnamerule).”‘>”.$j.”</a></li>rn”;
---------------------改成--------------------------
if($j==1)
{
$listdd.=”<li><a href=”".$typedir.”/”>”.$j.”</a></li>rn”;
}
else
{
$listdd.=”<li><a href=”".str_replace(“{page}”,$j,$tnamerule).””>”.$j.”</a></li>rn”;
}
如果需要修改分页样式也上面代码中修改,比如删除<li>
这样修改之后,就不再是出现list_4_1.html这样的链接,而是都直接链接到/abc/这样的地址。虽说这只是个小细节的修改,但是小细节有时候起到的作用却不能小觑。这样改之后保证链接回到的都是默认的列表页,避免了权重的流失,更符合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 class="thisclass">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>
这种连接方式很不合理,对于SEO已经无意间分散了栏目页权重,我们要的效果是把list_4_1.html修改成/a/ 如下连接方式才合理:
<li><a href="/a/">首页</a></li>
<li><a href="list_4_3.html">上一页</a></li>
<li><a href="/a/">1</a></li>
<li><a href="list_4_2.html">2</a></li>
<li><a href="list_4_3.html">3</a></li>
<li class="thisclass">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.找到\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>rn”;
$indexpage=”<li><a href=’”.str_replace(“{page}”,1,$tnamerule).”‘>首页</a></li>rn”;
}
-------------------把上面代码改成---------------------
if($this->ageNo != 1)
{
if($prepagenum==1)
{
$prepage.=”<li><a href=”".$typedir.”/”>上一页</a></li>rn”;
}
else
{
$prepage.=”<li><a href=”".str_replace(“{page}”,$prepagenum,$tnamerule).””>上一页</a></li>rn”;
}
$indexpage=”<li><a href=”".$typedir.”/”>首页</a></li>rn”;
}
找到
$listdd.=”<li><a href=’”.str_replace(“{page}”,$j,$tnamerule).”‘>”.$j.”</a></li>rn”;
---------------------改成--------------------------
if($j==1)
{
$listdd.=”<li><a href=”".$typedir.”/”>”.$j.”</a></li>rn”;
}
else
{
$listdd.=”<li><a href=”".str_replace(“{page}”,$j,$tnamerule).””>”.$j.”</a></li>rn”;
}
如果需要修改分页样式也上面代码中修改,比如删除<li>
这样修改之后,就不再是出现list_4_1.html这样的链接,而是都直接链接到/abc/这样的地址。虽说这只是个小细节的修改,但是小细节有时候起到的作用却不能小觑。这样改之后保证链接回到的都是默认的列表页,避免了权重的流失,更符合SEO的做法。