相關關鍵詞
關于我們
最新文章
- ThinkPHP 5.1、6.0、6.1 與 8.0 版本對比分析
- 涉嫌侵權的人只復制了版權軟件,沒有傳播給其他人,是否符合復制侵權的判定?
- 網(wǎng)站域名備案到企業(yè)名下后,即表明是商業(yè)使用了嗎?
- 軟件中使用了GPL & MIT 協(xié)議的文件 和 使用了 GPL | MIT 的有什么區(qū)別?
- 網(wǎng)站版權糾紛中的來源非法是否有嚴格的司法定義?
- [確定有效] ECSHOP后臺登錄不了的問題解決 https打不開
- 免費搜索代碼:如何利用百度做一個企業(yè)網(wǎng)站內搜索?
- MySQL 中 HAVING 與 REPLACE 的用法解析
- 深入理解 MySQL 的連接操作:-h、-P、-u、-p 詳解
- 在 MySQL Workbench 中自定義導出文件格式的解決方案
discuz程序SEO指南
這是光年論壇管理員國平針對光年論壇寫的一篇Discuz論壇SEO優(yōu)化指南,非常實用的一篇文章。
光年論壇相關資料
- 雙線IP并做了智能DNS解析:202.91.246.211(電信)、202.91.234.147(網(wǎng)通)
- 操作系統(tǒng):Linux
- WEB服務器:Apache/2.2.18 (Unix) mod_ssl/2.2.18 OpenSSL/0.9.8e-fips-rhel5 PHP/5.2.17
- 論壇程序:Discuz X1.5
Discuz論壇SEO優(yōu)化指南
國平對網(wǎng)頁性能做了優(yōu)化,根據(jù)搜索引擎爬蟲程序從發(fā)起一個請求到返回數(shù)據(jù),中間需要經(jīng)過的途徑,然后優(yōu)化這些相關因素即可。大致以下幾個方面:
- DNS
- 服務器網(wǎng)絡環(huán)境
- 服務器硬件和系統(tǒng)
- 網(wǎng)站程序或CMS
- 前端代碼
關于DNS、網(wǎng)絡環(huán)境、硬件和系統(tǒng),大家在文章底部的原文鏈接中詳細了解,這里暫不介紹,主要看下網(wǎng)站程序優(yōu)化和前端代碼優(yōu)化(Discuz! X1.5),下面看下具體SEO指南。
1、Discuz前端速度優(yōu)化
加快前端的速度,光年論壇啟用了論壇自帶的gzip壓縮。Discuz! x1.5后臺現(xiàn)在還沒有啟用gzip壓縮功能的地方,需要手動設置:
打開 /config/config_global.php 文件,把
$_config['output']['gzip'] = ’0′;
修改為
$_config['output']['gzip'] = ’1′;
即可啟用gzip壓縮。
Discuz!x1.5后臺還可以做一些速度上的優(yōu)化如啟用memcache等等,這個相對麻煩點,大家可以自己嘗試。
2、Discuz 靜態(tài)化URL
Discuz! x1.5后臺自帶了一個靜態(tài)化URL的功能,而且默認也寫好了靜態(tài)化的規(guī)則。但是這里有一個問題,就是帖子頁面的靜態(tài)化規(guī)則沒有寫好。
如默認的帖子頁面規(guī)則是:
thread-{tid}-{page}-{prevpage}.html
即規(guī)則為:
thread-{帖子ID}-{帖子翻頁ID}-{當前帖子所在的列表頁ID}.html
問題就出在“當前帖子所在的列表頁ID”這里,因為在論壇板塊中,當一個帖子是最新發(fā)表或最新回復的時候,“當前帖子所在的列表頁”是第一頁,url中的數(shù)字是 “1”。當這個帖子很久沒人回復沉下去的時候,“當前帖子所在的列表頁”就不知道是幾了,可能出現(xiàn)在第二頁,也可能在第十頁。這樣,每個帖子的url經(jīng)常在變化。會產(chǎn)生很多的重復頁面,而且url經(jīng)常變化,當前帖子積累的權重會丟失。
為了解決這個問題,可以重寫url靜態(tài)化規(guī)則。當然修改頁面代碼也能解決這個問題,但是不方便維護,因為修改后的文件以后可能會被升級文件覆蓋,而且會丟失部分功能。
論壇用的是linux+apache,而且論壇是作為一個虛擬主機放在服務器上。 Url靜態(tài)化的過程就這么操作:
新建一個文本文件,文件名為“.htaccess”,然后用 UltraEdit 編輯這個文件,寫入的規(guī)則為:
# 將 RewriteEngine 模式打開
RewriteEngine On
# 修改以下語句中的RewriteBase 后的地址為你的論壇目錄地址,如果程序放在根目錄中,為 /,如果是相對論壇根目錄是其他目錄則寫為 /{目錄名},如:在bbs 目錄下,則寫為 /bbs
RewriteBase /
# Rewrite 系統(tǒng)規(guī)則請勿修改
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 寫好規(guī)則后,按F12,在文件另存為的窗口上,有個“格式”選項,選“utf-8 -無BOM “保存。然后把“.htaccess”上傳到論壇根目錄。
然后在進入后臺 –> 全局–>優(yōu)化設置–>搜索引擎優(yōu)化 。 其他保持不變,就把“主題內容頁”規(guī)則改為:
thread-{tid}-{page}.html
discuz程序主題內容頁規(guī)則修改圖示
保存設置再更新一下緩存就可以了。
3、Discuz解決重復URL的問題和屏蔽垃圾頁面
Discuz! X1.5 還是不可避免的出現(xiàn)重復url的問題,這些重復的url即浪費了爬蟲大量的時間,又使網(wǎng)站的原創(chuàng)性受到損害。所以一定要屏蔽很多重復頁面。
另外還要消除一些垃圾頁面,所謂垃圾頁面就是一些沒什么SEO價值的頁面,也幫助爬蟲節(jié)約時間。
解決這個問題,最好是用robots.txt文件來解決。因為里面的規(guī)則是最強勢的,所有爬蟲第一次訪問一個域名,第一個動作都是下載這個robots.txt文件并讀取里面的規(guī)則。 其他一些nofollow和rel=canonical等標簽適當?shù)臅r候再用。
雖然Discuz默認寫了一些robots規(guī)則,但是還是不夠理想。
根據(jù)從首頁的代碼中發(fā)現(xiàn)的問題,需要在robots.txt里增加的規(guī)則有:
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-*
根據(jù)在板塊帖子列表頁面發(fā)現(xiàn)的問題,需要在robots.txt里增加的規(guī)則有:
Disallow: /search.php$
Disallow: /forum-forumdisplay-fid-*
根據(jù)在帖子詳細信息頁面看到的問題,需要在robots.txt里增加的規(guī)則有:
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-*
至于為什么要寫這些規(guī)則,大家可以自行到源代碼里查看為什么。
robots.txt寫到這里并不是結束,還有兩件事情要做。
- 因為robots.txt和nofollow是不同的意思,所以robots.txt并不能代替nofollow。以上這些需要屏蔽的地方還需要用nofollow標注一下。 不過因為要改的源碼太多,暫時先不動。需要用nofollow,還有一個原因是某些搜索引擎并不遵守自己所定下的robots規(guī)則。
- 因為只看過論壇中的三類主要頁面,還有很多頁面沒查看過,難免會有漏掉的地方,所以需要以后經(jīng)常到日志中查看爬蟲的軌跡,看看爬蟲還有哪些抓取問題。
4、Discuz程序修改網(wǎng)頁的頭部信息
Discuz x 1.5 的<head>部分有一些信息是我們不想要的,所以需要修改。
打開 \template\default\common\header_common.htm 。
找到 <title> 部分, 去掉 Powered by Discuz! 以及最后一個中劃線“-”。
然后刪除 <meta name=”keywords” 這一行。 因為keywords已對SEO沒有任何用處,所以去掉也沒什么。
其他的一些選項如 : <meta name=”generator” 和 <meta name=”author” 等等按理可以去掉,但是很多開源系統(tǒng)存在很多年了,搜索引擎能適當?shù)呐袛喑鰜硪粋€網(wǎng)站用的是什么CMS,所以暫時保留。因為Discuz 在SEO方面還是存在其他一些不合理性的,讓搜索引擎知道這個網(wǎng)站是用Discuz做的會有好處。
5、修正Discuz程序本身的一些靜態(tài)化錯誤
Discuz x 1.5 升級到 11.25 補丁后,因為系統(tǒng)默認的首頁都是 forum.php,即使訪問index.php也會301重定向到 forum.php ??梢栽谀0逶O置里把這個forum.php的文件名改成其他文件名或暫時不動。
還有一個問題,就是“主題內容頁面”(詳細帖子頁)的靜態(tài)化規(guī)則,很多規(guī)則都和版塊列表頁面的URL都不統(tǒng)一。
如:帖子的翻頁地址從第二頁起都為:
forum-viewthread-tid-220-extra-page%3D-page-2.html
這樣的形式,但是實際上URL應該為:
/thread-220-2.html
這樣的形式。
還有就是在面包屑中,論壇版塊的URL為:
/forum-forumdisplay-fid-45-page.html
這樣的形式,而實際應該為:
/forum-45-1.html
如下圖:
所以打開 /source/module/forum/forum_viewthread.php,找到第108行:
if(!empty($_G['gp_extra']))
在上面加一行:
$_G['gp_extra'] = !empty($_G['gp_extra']) ? rawurlencode($_G['gp_extra']) : ”;
6、修改Discuz程序配置 讓搜索引擎收錄圖片
圖片SEO過來的流量也會不少的,但是Discuz x 1.5默認的設置是游客無法看到圖片的。也就意味著搜索引擎也收錄不了帖子中的圖片。
打開 后臺 – 用戶 – 用戶組 – 系統(tǒng)用戶組 – 游客 - 編輯 – 附件相關,在“允許下載/查看附件”上選“是”。
但是如果光這樣設置了,那游客也可以下載其他附件了。 所以在 后臺 – 全局 – 積分設置 – 積分策略 里,把下載附件設置需要1個金幣就是。這樣下載其他附件還是需要注冊成為會員的。
Discuz程序SEO指南原文結束。
原文地址:http://www.gnbase.com/thread-116-1.html
今天一位朋友讓我?guī)兔Ψ治鱿抡緝?,她的網(wǎng)站也是用Discuz程序做的,與上面光年論壇的一些資料不一樣,她的服務器和程序相關信息為:
- Windows Server 2003
- WEB服務器 Microsoft-IIS/6.0
- Discuz程序版本是X2
其他信息目前還不清楚,該網(wǎng)站站內需要改善的還有很多。但上面這篇的Discuz x 1.5程序SEO指南很多可以參考,另外這位朋友的網(wǎng)站不僅僅是論壇模塊,還包含門戶、家園、群組等板塊,上面指南中是根據(jù)光年論壇來寫的,所以一些程序上的優(yōu)化還需要根據(jù)網(wǎng)站的實際情況來進行,另外一些修改建議我是直接拿過來的,在實際運用中還需要針對性檢查,以便造成不必要的失誤。