dedecms 栏目列表页链接优化方法

时间:2022-09-08 16:12:51

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的做法。