欢迎光临上海公关公司官网!
10年专注企业危机公关处理 网络舆情口碑维护公司、网络公关公司
微信:haotu616
当前位置:网络公关 > 危机公关 >
危机公关NEWS CENTER

Discuz BBS的SEO优化方式

作者:admin 来源:未知 时间:2022-01-08 10:00:03 点击:

[文章前言]:技能 在指导团队之前,你需要掌握指导的基本技能和流程。在《领导者影响力指南》一书中,我们为领导者和管理者提供了他们需要了解的许多内容。接下来,我们将给出一些关键指导

  技能

   在指导团队之前,你需要掌握指导的基本技能和流程。在《领导者影响力指南》一书中,我们为领导者和管理者提供了他们需要了解的许多内容。接下来,我们将给出一些关键指导技巧和指导流程。

   图13.1 指导的基本技能

   在上面的图表中,我们列出了指导的基本技能,这些技能对个体和团队都适用。下面是这些技能的简要总结。

  倾听

   倾听有两个重点。团队教练必须懂得倾听,不仅去听,而且要向成员表明他们确实听到了,另外,试着去理解成员的意见,并让成员知晓他们已经理解了。如果你没有认真细致地倾听团队成员说了什么、没说什么,那你不仅会错过重要的意见,也会对你和团队成员之间的关系产生负面影响。

  询问

   团队教练必须能够提出恰当而尖锐的开放性和探索性问题。询问的目的是鼓励团队成员敞开心扉并提出他们的建议,分享自己的真实想法和感受。教练要充分理解团队成员的观点。他们应该使用各种各样的提问技巧以适应指导情况。

  观察和反思

   注意团队成员使用的肢体语言、辅助语言和语气也十分重要。研究表明,交流中的大部分信息是通过诸如肢体语言和辅助语言这类的非语言交流传达出来的,因此教练不仅要用耳朵倾听成员所说的内容,还要用眼睛观察他们的动作,以了解成员所传达的真正含义。注意成员所说的内容和表达方式是否一致。

  重构

   哈佛商学院领导与管理学教授艾米· C. 埃德蒙森(Amy C. Edmondson)认为,框架是对特定情境所制订的一套设想或目标。作为团队教练,你需要知道在特定情况下你的团队的设想是什么,然后以恰当的方式支持或反对这一设想。

  质疑

   质疑团队成员意见至关重要,同样地,允许团队质疑你的意见也很有必要。团队所面临的问题都十分复杂,一些问题根本没有标准答案,只能说这一选择比较好或比较差。在这种情况下,如果团队领导没有询问团队个体和集体意见,就不可能做出最佳抉择。

  支持

   团队教练支持和鼓励成员也非常重要。并不是所有成员都有信心随意地表达自己的意见,如果你想让团队成员能够勇敢表达自己的想法和言论而不用担心受到批判(当然,你应该这样做),那么你必须鼓励成员积极参与,即使他们的想法并不总是十分精彩也没关系。

  给予反馈

   向成员提供反馈意见是所有团队教练的一项必要职责。我们充分相信,团队成员十分希望能得到你的反馈意见,并且你应该以一种恰当的方式熟练且自信地给予他们反馈。如前文所述,你不仅要能以合适的方式给予反馈,还要能提出具有创造性的意见,这是成功的关键因素。

  模型指导和流程

   团队教练可以使用多种不同的模型和流程实现结构化方法。这里我们提供三种模型:

   ? 约翰·惠特默(John Whitmore)爵士的GROW模型,我们对此稍作调整。

   ? 教练的赏识方法。

   ? 致力于解决方案的指导。

  GROW模型

   团队教练可以使用这个模型确定团队的目标、实际情况、选择方案和最终意愿。教练可以用它判断团队成员的具体目标,然后探究团队真实情况,比如已经发生了什么、人们做了什么、说了什么、都有哪些成员参与等等。然后,教练要求成员给出多种不同的选择。在行动之前,询问他们的意愿和承诺结果成功的可能性,以及为采取具体行动他们所具备的能力。

   GROW模型似乎是一个十分常见的模型,但它可以帮助你采取更具结构化的指导方式,而不仅仅简单地给成员提供建议,所以在实践中建立这样的模型非常有用。在实际生活中,许多管理者在尚不完全明白具体目标的情况下就对成员进行指导,但很快就发现自己无所适从了。

   我们创建了这一模型的修改版本,并在整个过程中添加了更多的R步骤(GRRROW)。第一个额外的R(relationship)提醒我们为了解事实真相和具体情况,着重询问成员间的关系。

   ? 在团队中,你的感受是什么?

   ? 真实情感是什么?

   ? 还有谁参与其中,他们感觉如何?

   管理人员若试图忽略团队成员的真实情感,会十分危险!

   我们添加的另一个R(resources)是指资源,即能帮助受教者进步的优势和资源。例如,他们何时成功解决过类似问题?有哪些资源和优势能帮助他们解决问题?你不能只关注受教者或团队无法做到的事情!

   图13.2 GRRROW模型(改编自约翰·惠特默爵士的模型)

   管理者往往试图跳过目标而直接考虑怎样解决实际问题。通常情况下,管理者非常善于询问解决实际问题的办法,而忽略了成员们的情绪和心理问题。并且,在选择解决办法时,许多管理者通常直接给出他们的选择结果和观点,而没有询问成员的意见。管理者经常忘记询问成员的意愿和承诺,认为他们以后总会清楚。询问团队成员的有关意愿和承

  

  Discuz是在国内比较常见的论坛系统,关于Discuz的SEO方案也层出不穷,我这里找到一个感觉比较好的方案,给需要做论坛SEO优化的朋友一个参考,另外用的比较多的Phpwind SEO的相关文章在以前也有。

  假设discuz已启用伪静态功能,使用5.0/5.5 GBK 版本;

  1、robots.txt使用及其它

  2、内容页的网页复制问题
3、meta,content 优化
 

  更新
discuz5.5的robots.txt问题
DZ 禁止一个版面帖子的收录的补充

  一、meta的优化

  discuz的后台可以对meta信息进行设置,甚至可以添加自己的头部信息,但它的设置都是针对于所有页面的,全部页面都拥有相同的keywords和description是SEO所不赞成的。

  方案一:删除meta

  修改页头模板文件 templates/default/header.htm:将meta的keywords和description标签删除。

  这两个标签作用很小了,而且还有discuz自带的一些无用信息,用得不好反而会有坏作用,因此宁缺勿滥。

  方案二:定制meta

  本部分实现了将内容页keywords设为帖子标题,description为内容前100字;也实现了主页与各版列表页meta的单独设置(不同版的不同,同一版各列表页相同)。

  1.修改页头模板文件 templates\default\header.htm:将meta的keywords和description标签改为如下形式

  <meta name=keywords content={$metakeywords}$seokeywords />
<meta name=description content=$seodescription />
这里的$seokeywords、$seodescription就是后台设置的那个值,下面说怎么定制这个值;{$metakeywords}是奇虎的关键字,留下以后处理

  2.内容页(viewthread)设置keywords为帖子标题,description为内容前100字

  2.1修改 viewthread.php 文件:
在 include template(’viewthread’); (更新:dz5.5为iinclude template($iscircle ? ’supesite_viewthread’ : ‘viewthread’); ) 语句的上面加入一行:

  2.2创建 include/bmt.thread.inc.php 文件,内容为

  <?php
if(!defined(’IN_DISCUZ’)) { exit(’Access Denied’); }

  $seokeywords = strip_tags($thread[’subject’]); //关键字设为帖子的标题
//(已更新: nethome 提出问题,当启用主题分类并允许按类别浏览时,原来代码会有问题。所以加了标签过滤,本来在viewthread.php中改更好,为以后升级方便,还是放在这里吧,subject很短,不会影响效率)

  $seodescription = current( $postlist );//description取文章内容的前100字
$seodescription = mb_substr( $seodescription[’message’],0,100,gb2312″ );
$seodescription = htmlspecialchars( strip_tags($seodescription) );
?>
*此处数字和个别函数适用于GBK版本

  最后一行作用是过滤内容中的html,否则在meta中会引起语法错误。先是去除HTML标签,但因为这里是前100字,有可能html标签已经被截断了,所以又用了htmlspecialchars转义一下,有可能会有些垃圾信息。
当然也可以在截取之前用strip_tags去除html标签,可能效率会差了。

  *所以此处表达式您需要根据自己的情况修改。
我目前用的是preg_replace( ‘/[^\xa1-\xff]/’, , $seodescription ),即过滤汉字以外的所在内容,但这样会损失英文关键字。

  别外说明,此处数据都是viewthread.php已取好的,所以不会产生额外的数据库操作,只是做了字符串处理,不会引响效率。

  3.列表页(forumdisplay)设置不同的keywords和description

  3.1修改 forumdisplay.php

  文件,在 include template(’forumdisplay’); 语句上面添加
require_once DISCUZ_ROOT.’./include/bmt.forum.inc.php’;

  3.2创建 include/bmt.forum.inc.php 文件,内容为

  <?php
if(!defined(’IN_DISCUZ’)) { exit(’Access Denied’); }
$seokeywords = $forum[’name’];
$seodescription = $forum[’description’];

  switch ( $forum[’fid’] ){
case 1: //此数字为版的ID号,不同版设置不同的meta
$seokeywords = ‘key1,key2,…’;
$seodescription = ‘xxxx xxxx xxxx’;
break;
case 2:
$seokeywords = ‘key1,key2,…’;
$seodescription = ‘xxxx xxxx xxxx’;
break;

  }
?>
//更新:一般情况下可以不用switch和case,列表页的关键字为版名,说明为版的说明,若要对某个版设置特殊的关键字和说明,可以设置case。 这样解决了版面很多时要设置很多case语句,加快了程序执行速度(不了解php,JAVA的 case进行了优化,执行很快)

  使用修改文件来实现,每版的meta改起来不方便,感觉有些弱智,呵呵。但没有改数据库,用了两个单独的文件,修改了两个文件也很简单,这样升级或迁移更方便吧

  case虽然多了一些,但比起读数据库的记录,速度应该快很多

  4.主页meta
在后台设置即可。(如果2、3不做,则meta也同主页)

  content的优化
discuz有个archiver,一是URL容易收录,二是页面比较干静,还有description会从正文中取内容,但archiver没有对内容中[b][url]之类的解析,那些标签起不到作用,原样显示还会增加垃圾信息。
本部分主要做两方面的优化,一是去除内容页的无用信息,二是给标题加上

  <h1>

  。加上伪静态和上篇meta的优化,效果就超过了archiver,因此可以在后台禁用它,还减少了复制网页。

  实施方案

  1.隐藏内容页(viewthread)中的无用信息:
修改内容页模板文件 templates/default/viewthread.htm:

  用<!–{if $discuz_uid}–> <!–{/if}–>将要隐藏的信息包含起来。

  准确的说是当游客(bots)访问时,隐藏那些信息,当用户登录后是正常的,所以不影响使用。
这些信息主要指的是左侧用户信息栏、(资料 个人空间 主页 短消息 等等)、用户的签名(隐藏后不怕签名的内容影响正文,链接也不起作用了:P)
以住相关文章

  2.为标题加上

  <h1>

  标签
修改内容页模板文件 templates/default/viewthread.htm:

  将 <span class=bold>$post[subject]</span><br><br> 替换为
<h1>$post[subject]</h1>

  定制本帖最后由 XXX 于 xxxxxx 编辑内容

  修改文件g.php:将下面两行改成您喜欢的内容:

  ‘post_edit’ => ‘[] 本帖最后由 $editor 于 $edittime 编辑 ]’,
‘post_edit_regexp’ => ‘/{2}\[\[i\] 本帖最后由 .*? 于 .*? 编辑 \[\/i\]\]$/s’,
比如我改成 [ 网站名 URL xxx 于 xxxx 编辑]。改程序无聊时的自娱,呵呵
注意上下两个表达式要匹配。为了防止解析方括号是全角,不要复制后在文件中查找。

  二、内容页的网页复制问题

  看看内容页的URL大家就知道了:thread-(tid)-(page)-(forumdisplay page).html,可以看出最后一节表示的是此帖在列表页的第几页。所以,当您的帖子越来越多,这个帖就会由第一页到第二页…,它的URL就会不断的 变化。其实打开一个列表页就可以看出来,第2页的帖子链接的最后数字都是2,第3页的都是3,只是很少注意它。我是在SE的收录中发现复制网页越来越多, 才对最后的数字注意的。

  解决方法
修改 forumdisplay.php 文件:

  将 $extra = rawurlencode(page=$page$forumdisplayadd); 语句替换为
$extra = rawurlencode(page=1$forumdisplayadd);
语句中的page就是forumdisplay page,这样改后不管帖子在列表页的第几页,这个数都是1。

  功能损失:当用户编辑帖子或版主管理帖子后,有个提示跳转页:选择转入列表页还是主题页,这时转入列表页的话,只能转到列表页第一页,而不管您原来停留在第几页。

  redirect的301重定向

  在discuz论坛中可以看到类似redirect.php?tid=xxxgoto=lastpost#lastpost这样的链接, 它的功能是实现最新发表、最后发表、上一主题、下一主题功能,仅这一个功能就可以给同一个内容页造成四份复制网页,因此将这样的链接301永久重定向 到帖子的静态地址。

  解决方法
修改 redirect.php 文件:

  将前两个 require_once DISCUZ_ROOT.’./viewthread.php’; 语句替换为
$bmt_url=’Location:/thread-’.$tid.’-’.$page.’-1.html’;
header(’HTTP/1.1 301 Moved Permanently’);
header( $bmt_url );
将后两个 require_once DISCUZ_ROOT.’./viewthread.php’; 语句替换为
$bmt_url=’Location:/thread-’.$tid.’-1-1.html’;
header(’HTTP/1.1 301 Moved Permanently’);
header( $bmt_url );
dz5.5的引用处也有个跳转,也可以做301:

  将 dheader(Location: viewthread.php?tid=$post[tid]page=$page#pid$pid);替换为
$bmt_url=’Location:/thread-’.$post[tid].’-’.$page.’-1.html#pid’.$pid;
header(’HTTP/1.1 301 Moved Permanently’);
header( $bmt_url );
***注意此处直接转到了静态地址,没有做判断是否开启伪静态功能,所以不开启会有问题

  功能损失:转向到静态地址后,动态地址中类似#lastpost的锚点将无法起作用了,可能要手动滚屏了
???好像没有影响锚点

  提示信息页的网页复制

  这个问题和内容页也有着很大的关系,呵呵。如管理员设置允许游客浏览列表,而禁止浏览内容时,这些内容页都将返回一没有权限的提示信息页,但它们的 URL 是不同的,这样就形成了严重的网页复制,此外还有其它形成的无权操作等。别一种提示信息如帖子不存在等,数量大了也会形成网页复制。这两种提示信息,都是 通过showmessage函数分别调用nopermission.htm和showmessage.htm两个模板实现的。

  解决方法
1.创建另一个头模板文件 templates/default/header_disbots.htm
内容同 header.htm 文件,但加入meta robot标签,如下

  <meta name=robots content=noindex,nofollow />

  2.分别修改 templates/default/nopermission.htm 和 templates/default/showmessage.htm 文件
将它们第一行的 {template header} 替换为 {template header_disbots}

  虽然对meta robots标签支持的不是很广泛,但这是比较省事的方法
因为是提示信息页,用301来实现的话,还要传给转到的页好多信息,修改起来比较麻烦

  三、robots.txt使用

  User-agent: *

  #禁止一个版面的收录
#如果有个水版,不想禁止游客权限,也不想SE收录,已免影响网站质量,可以用如下方法
Disallow: /forum-1-

  #数字即为要禁止版块的ID。
#注意数字最后的 - 不要省略,否则连ID为11,12等1开头的版都禁了
[更新]补充方法:再给内容页加meta robot禁止

  #再禁网页复制
Disallow: /viewthread.php
#这个是内容页的动态形式,前面对伪静态做了优化并修改了很多的复制网页,因此这里动态形式如打印页等一定要禁止

  Disallow: /forumdisplay.php
#这个要慎重:列表页的动态形式,还包括精华、活动、投票等形式。我发现5.0的静态化不彻底,它的上一页下一页翻页仍是动态,这样如果禁止了,十页之后的内容就不能通这索引了。所以如果您站内的交差链接不丰富的话,不要在此禁止,以免影响收录。

  hekaiyu说没有这个问题,去官方看了下5.5的确没问题(也许我的5.0本来没问题,也许官方在新版本中完善了正则表达式的替换规则),这样更好了,禁止它,又干净了好多

  #禁止其它无用内容
Disallow: /profile
#用户信息,不知为什么discuz也静态化了,一律禁止
Disallow: /relatethread
Disallow: /post
Disallow: /blog
Disallow: /member
Disallow: /misc
Disallow: /faq
Disallow: /my
Disallow: /pm
Disallow: /digest
Disallow: /status
# … … 等等
# —– robots.txt end ——
[更新]dz5.5的robots.txt后部分给出的Disallow: post.php等是不合规范的,一定要在前面加上/。>>详细说明

  首页URL问题

  后台基本设置->首页文件名如果不设置,会默认为index.php。所以站内到首页的链接为形式为http: //domain/index.php。而我们一般引用论坛首页或交换链接的形式一般是。实际是一样的,但SE可认为是两个 URL,而且一个拥有很多的内部链接,一个拥有较多的外部链接,所以哪个被降级都不是好事情,最好统一起来。这里的修改目标是http: //domain/的形式。

  1.进入后台,基本设置->首面文件名 设置为: /
2.修改文件 member.php 将 header(Location: {$boardurl}.$indexname); 替换为

  if( $indexname==’/){
header(Location: {$boardurl});
}else{
header(Location: {$boardurl}.$indexname);
}
[更新]dz5.5为dheader

  此修改处的功能是清除cookies后返回到首页,如不修改域名后就有两个/。暂时未发现使用/当首页文件名的其它问题

  结 束

  除了文件的修改,有些地方要配合后台设置,前面都提到了,这里总结一下。主要有:1.URL静态化,只启用普通页面静态化就可以了;2.不要启用 Archiver功能;3.后台的keywords和description设置只是针对首页的(如果您没做列表页和内容页的meta修改则也应用到它 们);4.后台首页文件名为/(当然您也可以设置自己特定的)
Trackback url : u can trackback from your own site

   Tags:Discuz BBS SEO

  以上就是小编为大家介绍的Discuz BBS的SEO优化方式的全部内容,如果大家还对相关的内容感兴趣,请持续关注上海危机公关公司

  本文标题:Discuz BBS的SEO优化方式  地址:/news/2461.html