Discuz論壇SEO優化指南 |
發布時間: 2012/9/14 15:13:44 |
因為現在很多人在做自己的論壇,為了對他們有些幫助,我打算把我優化這個論壇的步驟寫下來。 文章會分為好幾篇來寫,由于涉及的細節很多,我自己也是在邊寫帖子邊給論壇做SEO優化,所以我也不知道會寫到什么時候結束。 1,選擇論壇程序和版本。 我選擇的論壇程序是Discuz!x1.5,語言版本是 gbk 版。為什么選這個版本呢? 首先Discuz!x1.5的用戶體驗要比Discuz!7.2好很多,大家慢慢用這個論壇就會發現這一點。然后Discuz!x1.5的SEO基礎也要比Discuz!7.2好。其實Discuz!7.2是有很多SEO上面的缺陷的,以前那個老論壇我想做一下SEO優化,但是發現要改的還真不少。但是Discuz!x1.5注意到了很多對SEO不友好的地方,如很多容易產生重復的鏈接就用JS調用等等。 顯然 Discuz!x1.5 的開發團隊做事非常用心,讓我也對改這個論壇程序有信心很多。 那為什么要選GBK版本而不選UTF8版本呢? 這是為了讓中文搜索引擎第一時間知道我網站上的內容是中文版本。 爬蟲在GBK編碼的網頁,看到的是: 而在utf-8編碼的網頁看到的是: Utf-8編碼的網頁,一時半會還真不知道這個網站里的內容是什么語言的,而且如果一個網頁中有中文和有英文的時候,搜索引擎還要根據其他一些條件來判斷網站的語言版本。而GBK版本一看就知道是中文的了。 大家如果去查看一下的話,Discuz官方論壇用的就是GBK版本。 那已經在用utf-8的中文discuz論壇怎么辦呢? 其實還是有方法解決的,可以定義一下xmlns 屬性,把 lang="zh-CN" 加在里面就可以了。 所以utf-8版本的代碼變為: Discuz論壇很多文件都需要這么改,可以用Dreamweaver整站查找一下。很多其他網站也一樣。這樣改好后,搜索引擎能識別這個網頁為簡體中文版。 wordpress程序之所以SEO方面表現很好,就是因為這些細節它都注意到了的。 可以看看我的博客http://www.semyj.com/,wordpress程序默認都會定義這個標簽的。 2,選擇服務器系統 我是很早就不想用windows做服務器操作系統了,只要體會過linux系統好處的人恐怕都是如此。其實,選擇什么樣的服務器系統也能影響SEO效果的。我最近給很多大中型網站做SEO顧問的時候據發現一個很有趣的規律: 凡是用windows類系統搭建的網站,SEO方面的表現都是不太理想的,而且要優化起來難度也是大一些的。 原因是很多方面的,因為windows類主機不是很穩定,只要程序員不那么熟悉整個網站,要么被動的頻繁當機、要么需要主動停機維護、要么數據庫壓力大以及運行的代碼先天不足導致服務器速度非常慢。 我觀察過很多網站的爬蟲訪問情況,在同等條件下,windows類主機的抓取量都是差一些的。 當然,這個問題在一個資深的技術人員手里都不是問題,但就是優秀的技術人員實在太難找到了。(順便廣告一下:我們公司招c++和PHP人員,有興趣的聯系一下我。本廣告長期有效。) 3,優化網站的訪問速度 網頁的加載速度對SEO影響比較大,可以看我博客上的這篇文章來了解原因--(http://www.semyj.com/archives/969)。優化網站的加載速度,可以從以下幾個方面來優化。 1)DNS 2)服務器網絡環境 3)服務器硬件和系統 4)網站程序或CMS 5)前端代碼 這些因素不用去記的,基本上就是看爬蟲從發起一個請求到返回數據,中間需要經過哪些途徑,然后優化這些相關因素即可。 現在這個論壇只優化了2個地方,就是是DNS優化和網頁打開GZIP壓縮。因為用的是現成的程序,其他地方都不太差,暫時先解決一些基本的問題。 DNS上的優化,就是啟用了雙線主機以及智能DNS。 為什么我要先做這個呢? 因為我想優化百度爬蟲訪問我網站的速度。 因為這是中文論壇,做SEO優化肯定要以百度優先。 因為很多人還是沒有養成先看數據再來做SEO的意識,所以在優化速度的過程,有個問題沒注意到的。這就是沒有看看爬蟲到底是從什么地方來訪問的。 對于大部分中文網站來說,爬蟲可能90%以上都是從北京聯通(網通)訪問過來的。這個時候就要特別優化北京聯通(網通)的訪問速度。 所以我用的雙線機房有2個IP,一個電信的IP和一個聯通(網通)的IP。有了個2個IP,還要做智能DNS,這樣當電信的用戶訪問論壇的時候,就解析到電信的IP上,聯通的用戶訪問論壇的時候就解析到聯通(網通)IP上。 這樣,百度爬蟲從北京聯通訪問我論壇的時候,速度就快很多了。 我用的智能DNS服務是DNSPod(http://www.dnspod.com/)提供的,設置的界面如下: ![]() 我在DNSPod里面的賬戶是免費賬戶,收費賬戶應該速度更好一點,但是DNSPod對于收費賬戶還要審核,我就一直沒升級了。 設置好了以后,還要檢查一下到底優化的效果如何。 可以用監控寶(http://www.jiankongbao.com/)的工具檢測一下。以前北京聯通的響應速度是 1831 ms。經過優化,速度確實會提高很多,如: ![]() 這里還列出了是哪方面影響速度的因素大。最好是長期監測這個響應速度,因為這個因素的變化能比較大的影響到SEO效果?梢宰猿蔀檫@個網站的付費用戶,就可以每隔幾分鐘去檢測一下網頁的響應時間等等。 為了加快前端的速度,我啟用了論壇自帶的gzip壓縮。Discuz!x1.5后臺現在還沒有啟用gzip壓縮功能的地方,需要手動設置: 打開 /config/config_global.php 文件,把 改為 即可啟用gzip壓縮。 Discuz!x1.5后臺還可以做一些速度上的優化如啟用memcache等等,但是這個相對麻煩點,留著下次來做。 4,靜態化URL Discuz!x1.5后臺自帶了一個靜態化URL的功能,而且默認也寫好了靜態化的規則。但是這里有一個問題,就是帖子頁面的靜態化規則沒有寫好。 如默認的帖子頁面規則是: 即規則為: 問題就出在“當前帖子所在的列表頁ID”這里,因為在論壇板塊中,當一個帖子是最新發表或最新回復的時候,“當前帖子所在的列表頁”是第一頁,url中的數字是 “1”。當這個帖子很久沒人回復沉下去的時候,“當前帖子所在的列表頁”就不知道是幾了,可能出現在第二頁,也可能在第十頁。這樣,每個帖子的url經常在變化。會產生很多的重復頁面,而且url經常變化,當前帖子積累的權重會丟失。 為了解決這個問題,可以重寫url靜態化規則。當然修改頁面代碼也能解決這個問題,但是不方便維護,因為修改后的文件以后可能會被升級文件覆蓋,而且會丟失部分功能。 論壇用的是linux+apache,而且論壇是作為一個虛擬主機放在服務器上。 Url靜態化的過程就這么操作: 新建一個文本文件,文件名為“.htaccess”,然后用UltraEdit編輯這個文件,寫入的規則為: 用 UltraEdit 寫好規則后,按F12,在文件另存為的窗口上,有個“格式”選項,選“utf-8 -無BOM “保存。然后把“.htaccess”上傳到論壇根目錄。 然后在進入后臺 --> 全局-->優化設置-->搜索引擎優化 。 其他保持不變,就把“主題內容頁”規則改為: 如: ![]() 保存設置再更新一下緩存就可以了 本文出自:億恩科技【www.endtimedelusion.com】 |