Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

一位seo牛人写的,官方不知道看了没有。Discuz论坛SEO优化指南1

[复制链接]
y100 发表于 2010-11-22 15:45:14 | 显示全部楼层 |阅读模式
本帖最后由 y100 于 2010-11-22 15:47 编辑

前面的就不废话了我就直接复制正题吧。

为了加快前端的速度,我启用了论坛自带的gzip压缩。Discuz!x1.5后台现在还没有启用gzip压缩功能的地方,需要手动设置:

打开 /config/config_global.php 文件,把

  • $_config['output']['gzip'] = '0';

复制代码

改为
  • $_config['output']['gzip'] = '1';

复制代码

即可启用gzip压缩。

Discuz!x1.5后台还可以做一些速度上的优化如启用memcache等等,但是这个相对麻烦点,留着下次来做。


4,静态化URL

Discuz!x1.5后台自带了一个静态化URL的功能,而且默认也写好了静态化的规则。但是这里有一个问题,就是帖子页面的静态化规则没有写好。

如默认的帖子页面规则是:
  • thread-{tid}-{page}-{prevpage}.html

复制代码

即规则为:
  • thread-{帖子ID}-{帖子翻页ID}-{当前帖子所在的列表页ID}.html

复制代码

问题就出在“当前帖子所在的列表页ID”这里,因为在论坛板块中,当一个帖子是最新发表或最新回复的时候,“当前帖子所在的列表页”是第一页,url中的数字是 “1”。当这个帖子很久没人回复沉下去的时候,“当前帖子所在的列表页”就不知道是几了,可能出现在第二页,也可能在第十页。这样,每个帖子的url经常在变化。会产生很多的重复页面,而且url经常变化,当前帖子积累的权重会丢失。

为了解决这个问题,可以重写url静态化规则。当然修改页面代码也能解决这个问题,但是不方便维护,因为修改后的文件以后可能会被升级文件覆盖,而且会丢失部分功能。

论坛用的是linux+apache,而且论坛是作为一个虚拟主机放在服务器上。 Url静态化的过程就这么操作:

新建一个文本文件,文件名为“.htaccess”,然后用UltraEdit编辑这个文件,写入的规则为:

  • # 将 RewriteEngine 模式打开
  • RewriteEngine On
  • # 修改以下语句中的RewriteBase 后的地址为你的论坛目录地址,如果程序放在根目录中,为 /,如果是相对论坛根目录是其他目录则写为 /{目录名},如:在bbs 目录下,则写为 /bbs
  • RewriteBase /
  • # Rewrite 系统规则请勿修改
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^thread-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
  • RewriteCond %{QUERY_STRING} ^(.*)$
  • RewriteRule ^([a-z]+)-(.+)\.html$ $1.php?rewrite=$2&%1

复制代码

UltraEdit 写好规则后,按F12,在文件另存为的窗口上,有个“格式”选项,选“utf-8 -无BOM “保存。然后把“.htaccess”上传到论坛根目录。

然后在进入后台 --> 全局-->优化设置-->搜索引擎优化 。 其他保持不变,就把“主题内容页”规则改为:
  • thread-{tid}-{page}.html

复制代码

如:


保存设置再更新一下缓存就可以了。
4,解决重复URL的问题和屏蔽垃圾页面

Discuz! X1.5 还是不可避免的出现重复url的问题。 (希望有渠道的朋友能把这些问题反馈给Discuz相关人员)
这些重复的url即浪费了爬虫大量的时间,又使网站的原创性受到损害。所以一定要屏蔽很多重复页面。
另外还要干掉一些垃圾页面,所谓垃圾页面就是一些没什么SEO价值的页面,也帮助爬虫节约时间。

解决这个问题,最好是用robots.txt文件来解决。因为里面的规则是最强势的,所有爬虫第一次访问一个域名,第一个动作都是下载这个robots.txt文件并读取里面的规则。 其他一些nofollow和rel=canonical等标签适当的时候再用。

虽然Discuz默认写了一些robots规则,但是还是不够理想。

根据从首页的代码中发现的问题,需要在robots.txt里增加的规则有:

  • Disallow: /forum.php$
  • Disallow: /search-search-adv-yes.html
  • Disallow: /space-username-*
  • Disallow: /forum.php?gid=
  • Disallow: /home.php?mod=space&username=
  • Disallow: /forum.php?showoldetails=
  • Disallow: /home-space-do-friend-view-online-type-member.html
  • Disallow: /space-uid-*

复制代码


根据在板块帖子列表页面发现的问题,需要在robots.txt里增加的规则有:

  • Disallow: /search.php$
  • Disallow: /forum-forumdisplay-fid-*

复制代码


根据在帖子详细信息页面看到的问题,需要在robots.txt里增加的规则有:

  • Disallow: /forum-viewthread-tid-*-extra-page%3D.html$
  • Disallow: /forum.php?mod=viewthread&tid=
  • Disallow: /forum-viewthread-tid-*-page-*-authorid-*.html
  • Disallow: /forum-viewthread-tid-*-extra-page%3D-ordertype-*.html
  • Disallow: /forum-viewthread-action-printable-tid-*.html
  • Disallow: /home-space-uid-*

复制代码


至于为什么要写这些规则,由于描述起来实在啰嗦,所以大家自行到源代码里查看为什么。

robots的写法是很灵活的。
可以看一下百度的robots写法指南:
http://www.baidu.com/search/robots.html
以及google网站管理员中心的说明:
http://www.google.com/support/webmasters/bin/answer.py?hl=cn&answer=156449

robots.txt写到这里并不是结束,还有两件事情要做。

1,因为robots.txt和nofollow是不同的意思,所以robots.txt并不能代替nofollow。以上这些需要屏蔽的地方还需要用nofollow标注一下。 不过因为要改的源码太多,暂时先不动。需要用nofollow,还有一个原因是某些搜索引擎并不遵守自己所定下的robots规则。

2,因为只看过论坛中的三类主要页面,还有很多页面没查看过,难免会有漏掉的地方,所以需要以后经常到日志中查看爬虫的轨迹,看看爬虫还有哪些抓取问题。


对于上面那些屏蔽规则,如果有不明白为什么要这么屏蔽的地方,可以跟帖提问。
回复

使用道具 举报

gx7411 发表于 2010-11-22 15:51:49 | 显示全部楼层
沙发!
回复

使用道具 举报

daizy 发表于 2010-11-22 15:53:26 | 显示全部楼层
也可能在第十页。这样,每个帖子的url经常在变化。会产生很多的重复页面,而且url经常变化,当前帖子积累的权重会丢失
回复

使用道具 举报

popuppp 发表于 2010-11-22 16:43:15 | 显示全部楼层
官方周四就出补丁了。
回复

使用道具 举报

 楼主| y100 发表于 2010-11-22 19:06:48 | 显示全部楼层
回复 popuppp 的帖子

你咋知道?内部消息还是出了公告
回复

使用道具 举报

yunho 发表于 2010-11-23 09:09:29 | 显示全部楼层
恩 很有道理
回复

使用道具 举报

betaer 发表于 2010-11-25 15:14:21 | 显示全部楼层
本帖最后由 betaer 于 2010-11-25 15:17 编辑

写的还不错
因为我们做的是通用产品 不是所有站点都要这么做 有些默认设置我们是关闭的
关于所在页数会导致链接变化  是为了保证用户点击导航时 能够将之前的筛选规则、所在页数继承回来 所以这里加了一些参数
但此处对搜索引擎做了专门的处理 搜索引擎始终看到的是 1
还有就是 关于robots.txt 如果能懂一点点链接结构 可以看出其中的规则带有很强的个人运营因素 不建议全部照搬
建议自己找一些自认为无用的链接进行屏蔽

欢迎SEO高手前排拍砖 PK
回复

使用道具 举报

其宾 发表于 2010-11-25 15:18:18 | 显示全部楼层
回复

使用道具 举报

jyqmaya 发表于 2010-11-27 21:46:00 | 显示全部楼层
本帖最后由 jyqmaya 于 2010-11-27 23:33 编辑

谢谢,我很需要
但是改了后。。原来收录的文章就没办法访问了啊?有什么办法能让其跳转到新的地址呢?
回复

使用道具 举报

金小光 发表于 2011-12-20 10:21:58 | 显示全部楼层
原阿里巴巴国际站SEO专家张国平写的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-8-28 02:12 , Processed in 0.114798 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表