WordPress SEO指南

WordPress SEO指南

WordPress應該是被使用最多的CMS系統,記得以前看到過報道,全世界20%以上的網站用的是WP。雖然最初是作為博客寫作CMS發布的,但現在不僅博客使用,新聞、雜誌、門戶類網站也用,簡單的電子商務網站也能用WP,最近越來越多企業網站也開始使用WordPress。

WordPress的優勢太多了:

  • 開源、免費但功能強大

  • 內容層和展現層分離,因而模板極為豐富,又可以用於各種類型網站

  • 簡單、靈活、開放、標準化,有強大的插件庫,實現各種功能

  • 安裝簡單,使用也很簡單

  • 版本更新頻繁,但升級十分簡單

  • 開發者社群規模夠大,某項功能即使不會做又找不到插件,也能找到開發者幫你寫

雖然WordPress並不能說是完美搜索引擎友好的,但至少是友好度非常高的CMS之一,在各種插件幫助下和適當設置后, WordPress搭建的網站是可以做到比較完美SEO的。

這篇WordPress SEO指南就簡單討論一下優化WordPress網站的幾個要素。相同的考慮也適用於其它博客系統。這裡只談技術性優化,關於博客的運營、市場研究、文章寫作等問題,可以參考以前翻譯的博客SEO指南。

標題標籤和描述標籤

老版WordPress的預設帖子標題標籤是這個格式的:

博客名稱 – 帖子標題

需要改為:

帖子標題 – 博客名稱

這個修改通常是由下面推薦安裝的SEO插件自動實現的,幾個流行的WP
SEO插件都一定有這個功能。不安裝插件的話,也可以在模板文件中自己修改,以前我剛剛開始用WordPress寫博客時還沒有現在這些插件,都是自己修改模板,wp_title(帖子標題)和bloginfo(『name』)
(博客名稱)兩個順序調換一下就行了:

< title >< ? php wp_title(); ? > – < ? php bloginfo(『name』); ? > < /title>

或者bloginfo(『name』)也可以直接硬編碼,寫上博客名稱,少一次php執行,還能寫成與設置的博客名稱不一樣的。

描述標籤就是寫帖子時摘要(Excerpt)中填寫的內容,這個摘要內容也就是首頁、欄目頁帖子標題下面的簡短介紹文字。通常我會從帖子前兩段文字中摘一兩句話,並在文字上稍微改動一下,盡量避免首頁、欄目頁和實際帖子頁面的重複內容。

如果安裝了SEO插件,可以單獨寫不同於摘要的描述標籤,一般我不使用,沒有太大必要。

關鍵詞標籤可以直接刪除,不管對用戶還是對搜索引擎,目前都沒用,以後也看不出變得有用的可能性。

文章內部鏈接

兩種情況,一是文章結尾處或側欄中顯示的相關帖子,這個肯定是插件實現,比如我用的是Related Post。相關文章對用戶和搜索引擎都有好處,幾乎是必須的設置。通常設定顯示5- 10 篇相關文章。

二是貼子正文中鏈接到其它相關帖子,是站內鏈接優化的重要部分。我博客里用的比較多,有很多讀者也問過我是怎麼加的帖子內鏈接,看到網上有人說我肯定是用插件,其實不是,我就是人工加的。也有插件可以實現,自動在指定關鍵詞加上指定鏈接, 如SEO Smart Links,不過我並不建議,雖然插件可以設置一組關鍵詞,可以限制生成鏈接的次數,但還是不可能像人工那樣靈活、自然。人工加基本上是隨機的,所以也是最自然的。

人工加內部鏈接時重要的規則就是別給自己設定規則,不要腦子裡有一根弦:「遇到這個關鍵詞,我要鏈接到這裡,每篇帖子只加一次。」我的做法就是隨便加,想起來覺得合適就加,沒想起來就不加。

網站地圖

XML版網站地圖是必須要有的,也有插件可以實現,如我用的 Google XMLSitemaps,雖然名字裡帶Google,但生成的sitemaps是所有搜索引擎通用的。Sitemap插件很多,基本上都一樣。

網頁版網站地圖沒有太大必要,可放可不放。其它類型網站也同樣,網站結構沒問題的話,是否放頁面版網站地圖,視用戶體驗而定,不用考慮SEO。

模板的選擇和修改

WP官網有大量模板可以下載,搜索「wordpress模板」,也有很多免費、付費的模板網站。選擇模板時建議考慮幾個方面:

  • 好看,設計風格符合行業。我個人喜歡簡單的視覺設計,如讀者所見,連個圖片都沒有

  • 必須是響應式設計

  • 必須有麵包屑導航

  • 功能盡量簡單,代碼簡潔,打開速度快

  • 頁面代碼如H1、H2 標籤等使用正確,如帖子標題應該是H1

選擇好模板后通常還得修修補補,所以懂點編程,雖然不是SEO一定要會的,但是有很大幫助,對個人站長是必不可缺的,一點不懂PHP,想改模板都無法下手。

比如,我用的都是英文模板,一些比較重要的地方還是得中文化,有的在模板文件中可以很容易找到並修改,如右側欄文字,有的還需要修改核心文件,如留言部分的「留言」、「提交」按鈕之類的。

SEO每天一貼到目前為止用的都是免費模板,修改的地方還挺多。比如我把帖子頁面的By Zac作者鏈接刪了,原因見下面各類存檔部分。

帖子頁面的發布日期也刪了,因為一些帖子在搜索結果中顯示居然是 2006 年之類時間寫的,用戶體驗實在不怎麼樣。

再比如首頁最下面加了一段關於本博客的說明文字,趁機加點關鍵詞,能穩定顯示在首頁上,不然首頁內容都是帖子摘要,不停變化,無法控制。這段文字只顯示在首頁,需要在模板或核心文件相應地方(視模板調用方法)加一個簡單判斷條件:

<?php if( is_home() && !is_paged() ) : ?>

WordPress SEO指南

欄目及URL設計

欄目規劃可以參考以前寫的網站結構優化和多關鍵詞優化帖子,原理和所有網站一樣,根據關鍵詞研究結果規劃欄目,把次級關鍵詞分配到欄目首頁上。

為了使網站結構更扁平一點,可以多規劃些欄目,但不用學我這個博客,欄目有點過多了。

欄目URL我建議還是使用英文單詞比較好,中文容易在搜索結果中表現為亂碼,拼音URL其實並不易讀,尤其是稍長時,比如兩三個字的拼音連起來。

WP欄目頁面URL預設設置是:

域名/category/欄目名

中間多了個完全沒必要的/category/,可以使用WP No Category Base插件刪除這層目錄。

帖子URL在WP後台Permalink部分有很多格式可以選:

WordPress SEO指南

有用編號的,有帶日期的。建議使用自定義的:

/%category%/%postname%/

也就是 /欄目名/帖子標題/ 的格式,是網站結構的標準格式。

如果不是新聞類網站,不建議URL中帶日期。

這種靜態化的URL是需要伺服器支持mod_rewrite的,有不止一個站長問過我虛擬主機是否支持mod_rewrite,說他們主機服務商說的,虛擬主機不能支持mod_rewrite。沒這回事,虛擬主機一樣可以支持mod_rewrite,不支持的只是服務商不願意給你打開而已。

留言系統設置及管理

正常留言多當然是好事,但垃圾留言多了就不是好事了。我的多次經驗說明,垃圾留言多了,網站質量評分會明顯下降,排名下滑。所以對留言還是需要設置一定門檻。很多鏈接群發軟體或服務就是利用一些博客之類的CMS系統對所有留言來者不拒,既不審核、也不過濾的漏洞實現的。

首先是安裝啟用Akismet插件,他們的垃圾留言資料庫會擋住大部分垃圾留言。

每條留言人工審核工作量有點大,可以在WP後台設置第一次留言不馬上顯示,必須等待審核,有了至少一次人工審核通過的讀者的留言才會自動顯示。

留言中有兩個以上鏈接的不會顯示,等待審核。

設置關鍵詞黑名單,把常見的醫療、賭博等垃圾詞列進去。除非你就是做這個行業的。

這樣垃圾留言絕大部分會被擋住了。

版權及轉載聲明

我在每篇帖子結尾都加了版權聲明及轉載要求。通常在模板里的single.php這個文件中加,不用每篇帖子人工加。

雖然SEO熱度大不如前,但我的幾乎每篇帖子還是有不少轉載的,大部分沒留原始出處,也沒留原作者,甚至有的乾脆說是他寫的,但還是有正規網站會尊重版權,至少標明原作者的。即使比例不高,積少成多,長期堅持還是會有效果的。

Tag系統的使用

除了正常的分類系統,博客還經常使用tag系統,在其它網站和CMS也很流行。

Tag頁面有很多好處,能覆蓋更多關鍵詞,頁面相關度高,生成又簡單。但也有潛在問題,網站內容不夠多的話,tag頁面質量會降低,tag詞設置不合理的話,和分類頁面會有重複。

所以建議使用tag的同學要注意,內容不夠豐富時謹慎啟用tag系統,設置tag的詞時盡量不要與現有分類名稱重複。

轉向處理

網址規範化是幾乎每個網站都存在,所以都要考慮的問題。

前面提到的URL的各種形式,選定了一種格式顯示在網站上,其它格式還是可以訪問的,需要做 301 轉向到選擇的規範化格式,這個工作下面介紹的Dean』s
Permalinks
Migration插件會自動處理。SEO插件會在帖子頁面加上canonical標籤,各種格式的URL即使都能訪問並沒有做 301 轉向,也會通過
canonial標籤規範化到選擇的格式。

全站不帶www的URL需要做 301 轉向到帶www的URL(或者反過來,有的網站選擇不帶www的版本為規範化版本),http版的URL也要做 301 轉向到https版本。LAMP(Linux+Apache+MySQL+PHP)伺服器,這個可以通過.htaccess
文件里的rewrite規則實現,如SEO每天一貼實際用的轉向規則是:

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://www.seozac.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^seozac.com [NC]

RewriteRule ^(.*)$ https://www.seozac.com/$1 [L,R=301]

這只是個例子,別照抄。同樣的功能,可以用不太相同的正則表達式和規則實現,不同伺服器寫法要求也可能不同。比如只做不帶www轉向到帶www可以寫成:

RewriteCond %{HTTP_HOST} ^seozac.com [NC]

RewriteRule ^(.*)$ http://www.seozac.com/$1 [L,R=301,NC]

貴網站具體怎麼寫,問程序員。

提速設置

緩存還是要設置一下的,可以將頁面生成純靜態的,不需要每次有人訪問都PHP從資料庫調用內容,比較明顯地提高速度。有不少插件,我用的是WP Super Cache。

伺服器開啟gzip.。

可能的話,考慮CDN。這個我沒有使用。

圖片建議壓縮后再上傳,不要把照相機、手機里幾M的文件直接拿來用。

各類存檔

WP預設有多種存檔頁面,包括按分類、按發布日期、按作者。這些存檔頁面大部分是沒有用的,反倒有副作用,可能造成複製內容。

按分類存檔當然要使用,這是正常的導航系統。

按日期、按作者存檔,通常可以去掉,這兩個存檔內容和按分類是一樣的,並沒有實質價值。要去掉這兩個存檔,需要在模板中刪除相應的顯示代碼,有的模板現在已經沒有這兩個存檔了,或者通過widgets控制顯示與否。

當然在模板中去掉代碼,直接訪問存檔頁面還是能訪問的,為保險起見,可以在這兩個存檔頁面全部加上noindex標籤,確保搜索引擎不索引收錄,或者用robots文件禁止抓取。

推薦插件

除了上面提到的插件,我還裝了這幾個插件:

All In One SEO Pack – SEO專用插件是必須的,我裝的是All in One SEO Pack,會自動或手動設置很多SEO功能,如:

  • 帖子頁面標題、說明標籤的客制化,加noindex 或nofollow標籤(通常不加,但給了這個選項的自由)

  • 加上canonical標籤

  • 首頁標題、說明標籤客制化

  • 設置各類頁面標題標籤的格式,如前面提到的帖子標題順序

  • 各類頁面是否加noindex或nofollow的預設設置,寫帖子時還可以覆蓋這個預設設置

另一個很有名的SEO插件是Yoast SEO,功能比All in One SEO更多更複雜一些,但大致是一樣的,現在也更流行。之所以選擇All in One SEO是最早寫博客時先找到的它,習慣了而已。

AMP – 這個不用解釋了, Google AMP實現最簡單的方式。

Autoptimise – 把WordPress零散的CSS和JS文件集合到一個文件中,減少調用文件數,提高速度。試用了一下,沒卸載,但目前並沒有啟用,覺得效果不大。

Broken Link Checker – 檢查帖子連到其他網站的鏈接是否還有效。上次檢查清理鏈接時發現很多當年連出去的鏈接已經無效了。

Dean』s Permalinks Migration – 帖子URL有任何變動時,這個插件自動設置 301 轉向。

WP-Optimise – 清理資料庫中的備份等不需要的東西。

WP還有很多其它插件,能實現你能想到的各種各樣的功能,常見但和SEO不直接相關的如兩步認證登錄、流量統計、圖片處理等。在各種插件幫助下和適當設置后, 但要注意,啟用的插件越多,插件越複雜,WP速度將越慢,所以,不是必須的功能,就不要安裝了。

發表迴響