目前國內站長做社區的首選程序莫過於 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 。