tiyna 发表于 2015-8-28 08:33:39

黄聪:Discuz X2.0 SEO:论坛面包屑导航伪静态 去掉面包屑导航forum.php(转)

http://www.duduct.com/wp-content/uploads/2011/11/discuz-logo.jpg
  自从Discuz被腾讯这头大牛收购后的确越来越强大了,云平台是最大的亮点,但是Discuz X2.0在伪静态方面仍然非常不尽人意。目前世面主流的论坛程序phpwind和Discuz都无法做到全站完美伪静态,这对SEO影响很大,如果网站的权重不够高,那么搜索引擎会认为网站出现大量的重复页面,导致降权甚至K站。
  首先说说Discuz X2.0论坛功能中自带规则无法实现伪静态的地方:
  1、面包屑导航
http://www.duduct.com/wp-content/uploads/2011/11/discuz_forum.php1_-300x219.jpgDiscuz X2.0论坛所有页面的面包屑导航均是动态的,不过我们可以通过修改程序来实现伪静态。
  2、论坛首页“最后发表”
http://www.duduct.com/wp-content/uploads/2011/11/discuz_forum.php2_-300x67.jpg首页版块上“最后发表”的帖子链接无法实现伪静态,很遗憾的告诉你,这个目前无法实现伪静态,修改程序也不行。
  3、论坛帖子内容页的复制链接
http://www.duduct.com/wp-content/uploads/2011/11/discuz_forum.php3_-300x63.jpg这个复制链接按钮也是动态地址,我们可以通过修改程序来实现伪静态。
  4、论坛帖子内容页的“上一主题”和“下一主题”
http://www.duduct.com/wp-content/uploads/2011/11/discuz_forum.php4_-300x44.jpg这个地方很让人郁闷,目前也是无法实现伪静态的,修改程序也不行。
  所以,目前可以修改程序实现伪静态的就只有面包屑导航和论坛帖子内容页的复制链接,修改方法如下(注:修改完毕后需要到后台更新缓存哦),不要一看见代码就害怕自己不会改,你按照我说的,粘贴和复制就可以改好,完全傻瓜式的操作。
  Discuz X2.0面包屑导航伪静态实现方法——
  打开 /source/module/forum/forum_viewthread.php 找到以下代码:
  <a href="'.$t_link.'">'.strip_tags($_G['forum']['name']).'</a>';
  替换为:
  '.'<a href="forum.php?mod=forumdisplay&amp;fid='.$_G['fid'].'">'.$_G['forum']['name'].'</a> '.$forumarchive[$_G['gp_archiveid']]['displayname'];
  Discuz X2.0论坛帖“复制链接”伪静态实现方法——
  打开 /template/default/forum/viewthread.htm 在大约200行左右找到以下代码:
  <a href="{$_G}forum.php?mod=viewthread&tid=$_G$fromuid" title="{lang share_url_copy_comment}">[{lang share_url_copy}]</a>
  替换为:
  <a href="forum.php?mod=viewthread&tid=$_G$fromuid" title="{lang share_url_copy_comment}">[{lang share_url_copy}]</a>
  这样,面包屑导航和论坛帖子内容页的复制链接的伪静态就已经实现了,论坛首页“最后发表”和论坛帖子内容页的“上一主题”和“下一主题”我确实是没找到伪静态的方法,如果你找到了,记得分享一下给我哦。
  另外,很多人都想去掉Discuz自带的furom.php和portal.php这几个尾巴,其实去掉的方法很简单,官方后台就可以直接进行操作,如下图:
http://www.duduct.com/wp-content/uploads/2011/11/discuz_forum.php_-300x282.jpg在Discuz后台的全局→域名设置→应用域名中论坛处填上你对应的域名,这样论坛的forum.php就去掉了,门户的portal.php后缀去掉方法是一样的,在上图的门户处填上门户的域名就可以了。
  但是即使这样设置了,论坛面包屑导航以及论坛列表页的“返回”按钮中仍然会有forum.php的后缀,康盛创想Discuz团队做出的产品确实很 赞,但是却经常不注意这些细节,鄙视一下先!去掉论坛面包屑导航以及论坛列表页“返回”按钮中的forum.php后缀方法如下(注:修改完毕后需要到后 台更新缓存哦):
  1、打开 /source/module/forum/ 中的forum_viewthread.php、forum_forumdisplay.php、forum_misc.php、forum_post.php这四个文件。
  搜索 ”forum.php”(包含引号),替换为 ”http://'.$_G['setting']['domain']['app']['forum'].'/”(包含引号),修改完毕后上传覆盖。
  2、打开 /template/default/forum/ 中的discuz.htm(这里是以Discuz X2.0自带的模板为例,如果你用的是其他模板,需要在模板的“forum”目录中找到这个文件)。
  在19行左右找到如下代码:
  <a href="forum.php">{$_G}</a>$navigation
  替换为:
  <a href="./">{$_G}</a>$navigation
  这样,面包屑导航中的forum.php后缀就已经全部去掉了。
  接下来,要去掉论坛列表页“返回”按钮中的forum.php后缀:
  打开 /template/default/forum/ 中的forumdisplay.htm和forumdisplay_list.htm这两个文件(这里是以Discuz X2.0自带的模板为例,如果你用的是其他模板,需要在模板的“forum”目录中找到这个文件)。
  将页面中的:
  <a href="forum.php">
  全部修改为:
  <a href="http://$_G['setting']['domain']['app']['forum']/">
  至此,Discuz X2.0中论坛面包屑导航以及几处程序自身无法实现的伪静态成功静态处理,并且去掉了论坛中多余的forum.php后缀,保证结构上SEO效果最佳化。
页: [1]
查看完整版本: 黄聪:Discuz X2.0 SEO:论坛面包屑导航伪静态 去掉面包屑导航forum.php(转)