zoukankan      html  css  js  c++  java
  • 黄聪:Discuz X2.0 SEO:论坛面包屑导航伪静态 去掉面包屑导航forum.php(转)

    discuz logo

    自从Discuz被腾讯这头大牛收购后的确越来越强大了,云平台是最大的亮点,但是Discuz X2.0在伪静态方面仍然非常不尽人意。目前世面主流的论坛程序phpwindDiscuz都无法做到全站完美伪静态,这对SEO影响很大,如果网站的权重不够高,那么搜索引擎会认为网站出现大量的重复页面,导致降权甚至K站。

    首先说说Discuz X2.0论坛功能中自带规则无法实现伪静态的地方:

    1、面包屑导航

    面包屑导航伪静态Discuz X2.0论坛所有页面的面包屑导航均是动态的,不过我们可以通过修改程序来实现伪静态。

    2、论坛首页“最后发表”

    Discuz最后发表伪静态首页版块上“最后发表”的帖子链接无法实现伪静态,很遗憾的告诉你,这个目前无法实现伪静态,修改程序也不行。

    3、论坛帖子内容页的复制链接

    Discuz帖子复制链接这个复制链接按钮也是动态地址,我们可以通过修改程序来实现伪静态。

    4、论坛帖子内容页的“上一主题”和“下一主题”

    DiscuzX2伪静态这个地方很让人郁闷,目前也是无法实现伪静态的,修改程序也不行。

    所以,目前可以修改程序实现伪静态的就只有面包屑导航论坛帖子内容页的复制链接,修改方法如下(注:修改完毕后需要到后台更新缓存哦),不要一看见代码就害怕自己不会改,你按照我说的,粘贴和复制就可以改好,完全傻瓜式的操作。

    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[siteurl]}forum.php?mod=viewthread&tid=$_G[tid]$fromuid" onclick="return copyThreadUrl(this)" title="{lang share_url_copy_comment}">[{lang share_url_copy}]</a>

    替换为:

    <a href="forum.php?mod=viewthread&tid=$_G[tid]$fromuid" onclick="return copyThreadUrl(this)" title="{lang share_url_copy_comment}">[{lang share_url_copy}]</a>

    这样,面包屑导航论坛帖子内容页的复制链接的伪静态就已经实现了,论坛首页“最后发表”论坛帖子内容页的“上一主题”和“下一主题”我确实是没找到伪静态的方法,如果你找到了,记得分享一下给我哦。

    另外,很多人都想去掉Discuz自带的furom.phpportal.php这几个尾巴,其实去掉的方法很简单,官方后台就可以直接进行操作,如下图:

    去掉forum.php在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[setting][navs][2][navname]}</a>$navigation

    替换为:

    <a href="./">{$_G[setting][navs][2][navname]}</a>$navigation

    这样,面包屑导航中的forum.php后缀就已经全部去掉了。

    接下来,要去掉论坛列表页“返回”按钮中的forum.php后缀:

    打开 /template/default/forum/ 中的forumdisplay.htmforumdisplay_list.htm这两个文件(这里是以Discuz X2.0自带的模板为例,如果你用的是其他模板,需要在模板的“forum”目录中找到这个文件)。

    将页面中的:

    <a href="forum.php">

    全部修改为:

    <a href="http://$_G['setting']['domain']['app']['forum']/">

    至此,Discuz X2.0中论坛面包屑导航以及几处程序自身无法实现的伪静态成功静态处理,并且去掉了论坛中多余的forum.php后缀,保证结构上SEO效果最佳化。

  • 相关阅读:
    P3350 [ZJOI2016]旅行者
    P4178 Tree
    P2375 [NOI2014]动物园
    P2827 蚯蚓
    1002: [FJOI2007]轮状病毒
    1070: [SCOI2007]修车
    AtCoder Grand Contest 021完整题解
    Running to the End(Codeforces & AtCoder 百套计划)
    SDWC2017游记
    非传统题初探——AtCoder Practice Contest #B
  • 原文地址:https://www.cnblogs.com/huangcong/p/2385482.html
Copyright © 2011-2022 走看看