您的位置: 徐汇信息网 > 育儿

一discuz的URL静态化设置以及正规

发布时间:2019-07-12 17:42:26

目前国内站长做社区的首选程序莫过于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$ p?mod=topictopic=$1%1RewriteCond %{QUERY_STRING} ^(.*)$RewriteRule ^article-([]+)-([]+)\.html$ p?mod=viewaid=$1page=$2%1RewriteCond %{QUERY_STRING} ^(.*)$RewriteRule ^forum-(\w+)-([]+)\.html$ p?mod=forumdisplayfid=$1page=$2%1RewriteCond %{QUERY_STRING} ^(.*)$RewriteRule ^thread-([]+)-([]+)\.html$ p?mod=viewthreadtid=$1extra=page\%3D$3page=$2%1RewriteCond %{QUERY_STRING} ^(.*)$RewriteRule ^group-([]+)-([]+)\.html$ p?mod=groupfid=$1page=$2%1RewriteCond %{QUERY_STRING} ^(.*)$RewriteRule ^space-(username|uid)-(.+)\.html$ p?mod=space$1=$2%1RewriteCond %{QUERY_STRING} ^(.*)$RewriteRule ^([a-z]+)-(.+)\.html$ $p?rewrite=$2%1规则做好后,保存为i,然后上传到论坛根目录,进入论坛后台 --》 全局--》优化设置--》搜索引擎优化。然后把主题内容页规则改为:thread-{tid}-{page}.html,这样就完成了url静态化的处理,当然前提是你的空间必须支持伪静态,这个要看你的服务器的设置了。这个规则的好处是既可以帮助url伪静态又可以解决重复页面的问题一举两得,我们知道静态的url更利于搜索引擎抓取,所以论坛没有设置静态化的可以参考上面进行设置。

二、如何让游客和搜索引擎蜘蛛看到论坛的图片

打开任何一个使用discuz建立的论坛,你会发现游客是看不到论坛图片的,而做站什么流量都是需要的,那么图片带过来的流量也是不容忽视的,而且还不会少。但是论坛默认的设置是游客看不到图片的。同样的道理,搜索引擎也收录不了帖子中的图片。这种情况该如何处理呢?我们可以采用如下方式进行处理,首先打开后台 - 用户 - 用户组 - 系统用户组 - 游客 - - 附件相关,

然后在允许下载/查看附件上选是。

这样就可以解决游客看不到图片的问题了,但是还有一个问题,如果只是这样设置,那游客也可以下载其他附件了。所以我们还需要进行另外一个操作,就是在后台 - 全局 - 积分设置 - 积分策略里,把下载附件设置需要1个金币就可以了。

这样虽然游客可以看到图片,但是当他想下载其他附件时候还是需要注册成为会员才可以的。

三、优化前端访问速度的gzip压缩的设置

SEO必须要考虑页的加载速度,一个加载速度快的论坛可以让搜索引擎抓取的更频繁,而且对用户更友好,其原理就是看爬虫从发起一个请求到返回数据,中间需要经过那些途径,然后优化这些相关因素。

当一个用户打开论坛需要10秒钟以上,我估计你的站也要悲剧了,用户可没有那么多的耐心去等待,所以为了加快前端的速度,我们要启用论坛自带的gzip压缩功能。但是在Discuz!x1.5的后台是没有启用gzip压缩功能的地方,所以我们需要手动进行设置:我们打开/config/config_p文件,把$_config['output']['gzip'] = '0'修改为$_config['output']['gzip'] = '1',这样一个简单的设置既可以让gzip压缩启用了。

四、重复URL的处理

虽然Discuz!X1.5的SEO已经做得不错了,但是还是不可避免的出现url重复的问题。这样就浪费了蜘蛛大量的时间抓取重复url,那么我们就要想法屏蔽重复页面以及垃圾页面(没什么SEO价值的页面)进而节约蜘蛛的爬取时间。我们可以用t的设置来解决这个问题。其实我们只要在discuz的原有robots文件里增加以下规则:

Disallow: /p$ Disallow: /mlDisallow: /space-username-*Disallow: /p?gid=Disallow: /p?mod=spaceusername=Disallow: /p?showoldetails=Disallow: /mlDisallow: /space-uid-*Disallow: /p$Disallow: /forum-forumdisplay-fid-*Disallow: /forum-viewthread-tid-*-extra-page%ml$Disallow: /p?mod=viewthreadtid=Disallow: /forum-viewthread-tid-*-page-*-authorid-*.htmlDisallow: /forum-viewthread-tid-*-extra-page%3D-ordertype-*.htmlDisallow: /forum-viewthread-action-printable-tid-*.htmlDisallow: /home-space-uid-*

这样就完成了基本的处理,但是还不算结束,在这些屏蔽的地方还需要用nofollow标注一下。因为有些搜索引擎并不遵守自己所定下的robots规则。除此之外,我们还要经常查看站的日志文件,分析蜘蛛抓取了那些无用页面,然后进一步扩充我们的robots,这样发现一点修改一点,你的站的抓取效率会提高很多。

五、版权信息的修改和优化

当我们建立一个论坛后,打开首页一般都会有版权信息,最重要的是title部分有个Powered by Discuz!,这样看起来我们的论坛对用户很不友好,为了优化用户体验,我们就要去掉论坛程序的title部分默认的版权信息。

首先打开\template\default\common\header_m,找到 title 部分,去掉Powered by Discuz! 和最后一个中划线-,然后修改下meta name=keywords 这一行的关键词为你需要优化的目标关键词。 同样的修改下meta name=generator 和meta name=author等等这些标签。

虽然discuz的程序已经得到了数十万用户的认可,但是在SEO上做的还并不尽如人意,这篇文章也是初步见解,或许也有自身的不合理性,希望能起到抛砖引玉的作用,带动大家的更多思路去解决这套程序的SEO的不足。同时也希望看了这篇文章的菜鸟能够按照以上步骤操作,我想最基本的优化还是可以的,在你做完这些工作后,让后观察站服务器日志,看看是不是提升了抓取效率,是不是利于用户体验等。做SEO不能光靠理论,更不能人与亦云,必须要实践,要分析数据,这一点国平老师说的很好,做SEO要做科学的可控的SEO。本文由淘宝旗舰店 原创,欢迎转载。

注:相关站建设技巧阅读请移步到建站教程频道。

四川哪家医院专治白癜风
郑州有哪些耳鼻喉医院
黄石有哪些屈光医院
鹤岗有哪些一丙医院
猜你会喜欢的
猜你会喜欢的