做网站的朋友相信对织梦DEDECMS都不会陌生,很多站长朋友的网站兴许就是DEDE的内核搭建的,只不过很多朋友都给网站换了套衣服。而搜索引擎优化SEO对于大部分网站的重要性也不言而喻,怎么更好的利用DEDECMS来做好SEO?这将是本文的重点。
织梦dedecms程序本身对于SEO优化就已经做得比较好做得比较细,灵活性也很强,相信这也她受到大家喜爱的原因之一。不过没有什么是十全十美的,DEDE虽然已经做了足够多的工作,但也总是有一些细节的东西,要我们去发现,去修改,去灵活使用,比如织梦DEDECMS栏目列表分页链接的优化。
先看看DEDE默认栏目列表分页链接:
1 2 3 4 5 6 7 8 9 | < 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 > |
这种链接方式其实并不十分合理,回到列表第一页的地址变成了list_4_1.html,这样已经无意中分散了栏目页的权重。如果这是/abc/这个栏目的列表分页链接,下面的链接方式才更合理:
1 2 3 4 5 6 7 8 9 | < li >< a href = '/abc/' >首页</ a ></ li > < li >< a href = 'list_4_3.html' >上一页</ a ></ li > < li >< a href = '/abc/' >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 > |
我也因这个此问题在网上找了好些方法,但是很多都不能用,当然,也有可以用的,但是都会有个条件:使用这种方法的前提是生成的栏目列表页面要放在栏目的根文件夹下(也就是说只有一级栏目适用)。
而很多朋友的网站栏目列表页都不是放在根目录下的(特别是二级栏目),怎么办呢?在经过深入研究和高人的指点后,我成功修改了前辈们的方法,使得栏目列表页面不管在不在根文件夹下都一样适用。下面重点介绍方法(以5.6版本为例):
2. 找到\include\arc.listview.class.php这个文件,将
1 | $typedir = ereg_replace ( '{cmspath}' , $GLOBALS [ 'cfg_cmspath' ], $this ->Fields[ 'typedir' ]); |
这段代码添加到"//获得上一页和主页的链接"前面;
2.找到下面几行代码(就在"//获得上一页和主页的链接"下面)
1 2 3 4 5 | 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" ; } |
改成:
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" ; } |
3.找到
1 | $listdd .= "<li><a href='" . str_replace ( "{page}" , $j , $tnamerule ). "'>" . $j . "</a></li>\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" ; } |
好了,只需3步,大功告成了。而且在这个文件里,列表分页样式也可以直接修改。这样修改之后,就不再是出现list_4_1.html这样的链接,而是都直接链接到/abc/这样的地址。虽说这只是个小细节的修改,但是小细节有时候起到的作用却不能小觑。这样改之后保证链接回到的都是默认的列表页,避免了权重的流失,更符合SEO的做法。
注:由于编辑器原因,如果复制代码过程中出现中文符号如双引号,逗号等,请统一改成英文符号,否则会出错。如果程序是UTF8,请保存的时候也选择utf8格式。
2018年07月16日 13:51 沙发
织梦的优化还是很简单的,不懂的网上都可以查到