目前国内站长做社区的首选程序莫过于 DISCUZ 和 PHPWIND,笔者有使用 DISCUZ 程序建过社区论坛,也吸收了前阿里巴巴 SEO 主管国平老师讲的 discuz 的优化技巧,这里总结我所学到的和所掌握的这套程序的优化手段和方法,以便于更好的让自己的论坛被搜索引擎所抓取和收录,进而提升排名,获取高质量的流量。闲言碎语少说为妙,我们开始切入正题吧。
一、 discuz 的 URL 静态化设置以及正规表达式
细心的站长朋友会发现在 Discuz1.5 后台自带了一个静态化 URL 的功能,而且默认也写好了静态化规则。但是帖子页面的静态化规则并没有,默认的帖子页面规则是:thread-{tid}-{page}-{prevpage}.html,其含义是:thread-{帖子 ID}-{帖子翻页 ID}-{当前帖子所在的列表页 ID}.html,但是这有一个问题,在 「当前帖子所在的列表页 ID」 这里,如果一个帖子是最新发表或最新回复的时候,此 ID 是第一页,url 中的数字是 「1」 。但是如果这个帖子很久没人回复沉下去的时候,这个 ID 就不知道是几了,可能出现在第二页,也可能在第十页。所以每个帖子的 url 经常在变,也就会产生很多的重复页面,而且 url 经常变化,当前帖子积累的权重会丢失。
所以可以使用重写 url 静态化规则来解决这个问题,这里我列出写的静态化规则,供大家参考:
# 将 RewriteEngine 模式打开 RewriteEngine On # 修改以下语句中的 RewriteBase 后的地址为你的论坛目录地址 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 |
规则做好后,保存为 httpd.ini,然后上传到论坛根目录,进入论坛后台 --》 全局--》 优化设置--》 搜索引擎优化。然后把 「主题内容页」 规则改为:thread-{tid}-{page}.html,这样就完成了 url 静态化的处理,当然前提是你的空间必须支持伪静态,这个要看你的服务器的设置了。这个规则的好处是既可以帮助 url 伪静态又可以解决重复页面的问题一举两得,我们知道静态的 url 更利于搜索引擎抓取,所以论坛没有设置静态化的可以参考上面进行设置。
二、如何让游客和搜索引擎蜘蛛看到论坛的图片
打开任何一个使用 discuz 建立的论坛,你会发现游客是看不到论坛图片的,而做网站什么流量都是需要的,那么图片带过来的流量也是不容忽视的,而且还不会少。但是论坛默认的设置是游客看不到图片的。同样的道理,搜索引擎也收录不了帖子中的图片。这种情况该如何处理呢?我们可以采用如下方式进行处理,首先打开 「后台 - 用户 - 用户组 - 系统用户组 - 游客 - 编辑 - 附件相关」,
然后在 「允许下载/查看附件」 上选 「是」 。
这样就可以解决游客看不到图片的问题了,但是还有一个问题,如果只是这样设置,那游客也可以下载其他附件了。所以我们还需要进行另外一个操作,就是在 「后台 - 全局 - 积分设置 - 积分策略」 里,把下载附件设置需要 1 个金币就可以了。
这样虽然游客可以看到图片,但是当他想下载其他附件时候还是需要注册成为会员才可以的。
三、优化前端访问速度的 gzip 压缩的设置
SEO 必须要考虑网页的加载速度,一个加载速度快的论坛可以让搜索引擎抓取的更频繁,而且对用户更友好,其原理就是看爬虫从发起一个请求到返回数据,中间需要经过哪些途径,然后优化这些相关因素。
当一个用户打开论坛需要 10 秒钟以上,我估计你的网站也要悲剧了,用户可没有那么多的耐心去等待,所以为了加快前端的速度,我们要启用论坛自带的 gzip 压缩功能。但是在 Discuz!x1.5 的后台是没有启用 gzip 压缩功能的地方,所以我们需要手动进行设置:我们打开 「/config/config_global.php」 文件,把 「$_config['output']['gzip'] = '0'」 修改为 「$_config['output']['gzip'] = '1'」,这样一个简单的设置既可以让 gzip 压缩启用了。
四、重复 URL 的处理
虽然 Discuz!X1.5 的 SEO 已经做得不错了,但是还是不可避免的出现 url 重复的问题。这样就浪费了蜘蛛大量的时间抓取重复 url,那么我们就要想法屏蔽重复页面以及垃圾页面 (没什么 SEO 价值的页面) 进而节约蜘蛛的爬取时间。我们可以用 robots.txt 的设置来解决这个问题。其实我们只要在 discuz 的原有 robots 文件里增加以下规则:
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-* Disallow: /search.php$ Disallow: /forum-forumdisplay-fid-* 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-* |
这样就完成了基本的处理,但是还不算结束,在这些屏蔽的地方还需要用 nofollow 标注一下。因为有些搜索引擎并不遵守自己所定下的 robots 规则。除此之外,我们还要经常查看网站的日志文件,分析蜘蛛抓取了那些无用页面,然后进一步扩充我们的 robots,这样发现一点修改一点,你的网站的抓取效率会提高很多。
五、版权信息的修改和优化
当我们建立一个论坛后,打开首页一般都会有版权信息,最重要的是 title 部分有个 「Powered by Discuz!」,这样看起来我们的论坛对用户很不友好,为了优化用户体验,我们就要去掉论坛程序的<title> 部分默认的版权信息。
首先打开 「 template/default/common/header_common.htm」,找到 <title> 部分,去掉 「Powered by Discuz!」 和最后一个中划线 「-」,然后修改下<meta name="keywords" > 这一行的关键词为你需要优化的目标关键词。 同样的修改下<meta name="generator"> 和<meta name="author"> 等等这些标签。
虽然 discuz 的程序已经得到了数十万用户的认可,但是在 SEO 上做的还并不尽如人意,这篇文章也是初步见解,或许也有自身的不合理性,希望能起到抛砖引玉的作用,带动大家的更多思路去解决这套程序的 SEO 的不足。同时也希望看了这篇文章的菜鸟能够按照以上步骤操作,我想最基本的优化还是可以的,在你做完这些工作后,让后观察网站服务器日志,看看是不是提升了抓取效率,是不是利于用户体验等。做 SEO 不能光靠理论,更不能人与亦云,必须要实践,要分析数据,这一点国平老师说的很好,做 SEO 要做科学的可控的 SEO 。