腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

discuz 搜索引擎优化

0
回复
756
查看
[复制链接]

690

主题

704

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
31818
     紫钻仅向指定用户开放  
发表于 19-4-26 21:16:07 | 显示全部楼层 |阅读模式
                  版权所有。转载请以链接形式注明作者、原始出处和本声明。谢谢。又做了些修改,格式太不好弄了,如果感兴趣访问原文吧discuz的URL形式复杂,动态,打印页、精华参数,列表页参数变化,跳转形式,Archiver,再加上静态化形式,形成了多个副本内容,搜索引擎对也其按各自的技术选择了不同的首选URL,因此各种形式的URL好坏也意见不一。使用301和robots可以解决一些,再加上新属性canonicaltag,可能将各种形式URL的权重转到指定的首选版本上。内部搜索引擎优化工作可以说完成了很重要的一项。(还要兼顾百度不支持canonical)。+ X8 |7 y, V9 g: o
  一,使用伪静态。做好三点实现discuz网址规范化  n1 d" j2 ]7 Y# N8 O: a
  开启伪静态,同时再做(1,2特别适合新站,老站宜保持原态 ):
1 b. w; U3 L; m+ B7 q  1.在robots.txt中禁止所有动态地址"Disallow: /*.php";4 q& h& A1 E7 T' T2 O4 t+ O/ C
  2.禁用Archiver,理由见Archiver优化的是非。
1 C1 E3 X8 B: L% f1 z# \  3.修改forumdisplay.php文件,将$extra =  rawurlencode("page=$page$forumdisplayadd");改为$extra =  rawurlencode("page=1$forumdisplayadd");
/ \8 t& [1 Z1 l9 g, h  解释:帖子的URL形式是thread-(tid)-(page)-(forumdisplaypage).html,最后一节表示此帖在列表页的第几页。所以当帖子越来越多,这个帖就会由第一页到第二页...,它的URL就会不断的变化。解决办法就是它都变成1。不足就是当从这个帖子返回列表页时,只能返回到第一页了。. S9 x4 C$ p8 ^- {
  这样处理站内链接形式单一、规范而且通畅,不影响收录。如果不想禁止动态形式,或有别人链接了不规范形式,也可以做下面的修改。; T# N; l2 c! d, k& m! i' \
  二,动态URL形式。要给非标准URL页面加canonical tag,指向权威网页' K0 }2 B+ a, \2 `4 h
  可以从这里了解canonical tag指定权威链接的功能,它能像301转移所有权重(除了不跳转)。下面以说明如何为discuz 7.0 添加link  tag。
" a, t; K6 b1 m: v* @  注意:修改是将canonical指向viewthread.php?tid=888形式的,要指向静态形式先看下第三大点。: K" \( |2 k7 X2 E7 W7 I) s  _
  1.给viewthread.php加link rel="canonical"
9 M. |3 b8 s2 E3 Y9 Y$ Q  修改viewthread.php文件,在$page =  max($page,1);上面(程序调用包含文件结束),加一行$extrahead.='# g, i, V, }8 i1 o7 m
  2.给打印页(有printable参数的)加canonical tag
' \. O9 H3 f/ v/ e: x0 ^" b  修改打印页模板templatesdefaultviewthread_printable.htm文件,在部分加 $extrahead 。" v7 g1 b1 U1 A4 t1 F; @9 c' s+ t
  3.给redirect.php形式的页子加权威链接8 Y( d/ O  `0 U: p* J- z1 {) B& I% j$ f
  这个程序其实对参数处理后,调用的就是viewthread.php,所以自然就有link rel="canonical"了,百度不支持,也可按  三第3小点301。
, N' I2 A$ a, h6 b0 Y* |  4.为archiver页加link canonical标签# P" \" }5 C+ m9 r% s
  1)修archiver/index.php文件:在global $boardurl, $_DCACHE, $charset, $navtitle,  $headerbanner, $headernav;行下加一行:global $extrahead;
! s8 L" Y5 r7 r4 r6 F  在< http-equiv="Content-Type" c />- \( t5 f- ~/ A" H" c
  行下加一行:$extrahead 。: C9 m$ }9 g0 u$ E9 ?& L
  2)修必archiverincludethread.inc.php:此文件中有两个showheader();,在第二个的上面加一行:$extrahead  .='
! ~4 X9 }5 M6 b! F- i  至此帖子所有形式的URL(动态、打印页、redirect.php、静态和archiver)都有link  rel="canonical"标签,指定viewthread.php?tid=888 这种形式为标准版本,权重和收录都会转到它。
! e9 R: x% p: j* A" z3 _  对于列表页,因形式简单,且archiver列表页未与正常列表一一对应,没有做修改。
5 j" c- k& p% [( p  三,既做伪静态又加link canonical到静态地址的说明
2 o6 A7 |) r. N6 K  我认为做好上面两大点中的一点就可以了,但如果以伪静态形式为主,还做第二点,请注意下面:
5 E# {, C8 }5 e+ @, K  1.将第二点中所有 $extrahead .='';即改成以thread-3-1-1.html这种静态形式为首选版本。
9 ?6 @  `; ?) ^  2.将archiver内容页最下的完整版本链接改为静态形式
8 B% ]+ o1 \/ q! s0 q  修改archiver/include/thread.inc.php,将  "viewthread.php?tid=$tid"替换为"thread-{$tid}-1-1.html"
7 O# U& U' F6 ^9 t/ a( H" E  3.为redirect.php页做301跳转到静态形式URL
" {; K9 g9 ~; H, E  修改文件,使用php代码实现301跳转,把require_once DISCUZ_ROOT.'./viewthread.php';替换为0 v4 R, Y( v- ^9 ?
  header("HTTP/1.1 301 Moved Permanently"); header( "Location:  thread-{$tid}-1-1.html" );
% A% d' |! I2 g, Z! h  文件中共有四个地方要替换,但在7.0的前台只看到了lastpost这个形式。! h3 W7 j; P4 x0 I
  其中2.3其实都会有link canonical,但百度不支持,直接到标准形式为好
% N2 |; F; Z( @. O( W: Q8 ^ 1 h" M" x) r# S$ X
            

qiuqiufa.com

网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除