WordPress是大家熟知的一款建站程序。它功能強大、模板豐富、插件充足、安裝簡單以及定制性強的特點使得我們在建立個人博客,甚至企業網站或其他類型網站使用也會選擇Wordpress。我對WordPress SEO有一些了解和經驗,以下就來說說過去7天,我對它做了些什么。Wordpress模板的SEO大同小異,希望能夠通過本文給有需要的朋友開拓一些思路。
在《網站整體標準化對SEO的影響》一文中,我介紹了網站的四個層面:基礎層、結構層、內容層和表現層。
在進行WordPress SEO時,我也是基本遵守著這個網站標準化的步驟去進行的。當然基礎層的東西不屬于WordPress SEO的范疇,我們跳過這一部分,從結構層面開始:
WordPress結構層SEO
WordPress SEO在結構層面比較重要的地方有:網站欄目及結構劃分,URL標準化,模板header優化,以及微數據的少許應用。
網站欄目及結構劃分
做為一個主題于SEO相關的博客,不以SEO做為關鍵詞有些說不過去了。在選取好模板后,就需要開始欄目的劃分。按照初步規劃,我將欄目分為:
SEO:
SEO人物:介紹一些著名的SEO從業人員,學習經典SEO案例
SEO學習:學習SEO基礎知識,免費的SEO培訓
SEO工具:介紹一些對SEO有用的工具
……等:隨著內容的增加,還會有其他的板塊出現
根據中文分詞的原理“SEO學習”可以區分為“SEO”和“學習”。套用TF-IDF框架的SEO衍生應用可以得出“學習”一詞的權值要低于“SEO”。由于它們都是作為導航出現在各個頁面,所以整站做“SEO”這個詞的優化,可以自然的帶動“SEO學習”、“SEO工具”等。
在結構方面,我運用了同百度百科相同的結構方式。將欄目做為一個頁面去處理,而不是做為一個目錄去處理。其作用是可以提高傳遞給欄目的權重。這塊的內容比較復雜,以后我會專門用一篇文章去解釋。這里我想用一張圖來說明結構方面的部署:
同時Sidebar和Footer放置一些對SEO幫助不大但對真實用戶的體驗有幫助的東西。
最后在nofollow的使用上,選擇了將Sidebar和Footer區域的一些外鏈加入了nofollow標簽。
WordPress-URL標準化
在Wordpress中做URL的標準化不難。如果是PHP主機或虛擬空間,且支持.htaccess,那么在其中加入一段代碼即可打開偽靜態設置:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
然后在WordPress后臺的“固定鏈接”中選擇自定義結構,然后填入:
/%postname%.html
最終的效果就是類似:http://baiduseoguide.com/1.html
或者可以寫成:
/%category%/%postname%.html
那么最終的結果就類似于:http://www.easthv.cc/lanzhouseo/trustrank-and-reserse-trustrank/
我們可以通過這個鏈接獲得更多的URL“樣式”:http://codex.wordpress.org/zh-cn:%E4%BD%BF%E7%94%A8%E5%9B%BA%E5%AE%9A%E9%93%BE%E6%8E%A5
此外,如果發現URL中有一個.(點),從而影響到了SEO和美觀,那么我們可以使用WP No Category Base這個插件來去除,非常方便。
模板header優化
出于適用人群廣和每個人使用目的不同的原因,在WordPress的各種模板的header中,都基本含有了一切能夠放進去的東西。
有些東西是必要的,如title/Meta Description/canonical標簽等,有些東西則不是必須,甚至是無用的,如:Meta Keywords等。我個人的處理方式比較平和,只是優化和清理了我不會用到的東西。具體WordPress header優化如下:
打開模板目錄下的functions.php文件,在?>前加入以下代碼:
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'feed_links_extra', 3 );
remove_action('wp_head', 'feed_links', 2 );
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action('wp_head', 'wp_generator');
保存,更新,即可。
微數據的應用
做這一步工作的原因僅僅是因為我個人比較重視版權,所以希望在谷歌的搜索結果中出現我的名字等信息;此外就是出于SEO研究的目的(網站或頁面權重達到什么樣的值后,谷歌會顯示微數據信息)。注意百度是不支持微數據。除非是大型網站加入百度開放平臺。
關于微數據的解釋和使用方式,請參考谷歌站長工具中的相關介紹《關于豐富網頁摘要和結構化數據》。
WordPress內容層SEO
內容層方面的WordPress SEO,主要涉及Title, Meta Description, robots.txt Sitemap等方面。至于內容創作方面的因素,不在WordPress SEO的范疇之內。
WordPress標題和描述SEO
這個應該沒什么好說的,采用“文章名-網站名”或“文章名-目錄名-網站名”的方式進行。WordPress默認和部分模板所采用的Title標簽需要改動,直接替換header.php中的相關Title信息即可。改動的代碼網上有很多,可自行查詢。
同理,為了防止搜索引擎自己抓取網站描述,從而影響用戶在搜索結果頁面看到的文字,我們也需要對Meta Description做自定義處理,代碼如下:
<?php
if (is_home()) {
$description = "這里寫你網站首頁的描述";
} elseif (is_single() || is_page()){
$description = get_post_meta($post->ID, "description", true);
}
?>
上段代碼的意思是,如果是首頁,則顯示“這里寫你網站首頁的描述”;而如果是文章頁或者頁面,則按照子定義欄目中輸入的指顯示。
那么如何在自定義欄目中輸入值呢?怎樣找到輸入自定義description的地方呢?
1.在后臺的撰寫新文章頁面下,找到右上方的“顯示選項”,點擊,勾選“自定義欄目”;
2.在文章編輯區下方會出現“自定義欄目”,選擇“輸入新欄目”,然后輸入”description”;
3.在右方的“值”中輸入你文章的描述,注意保持在70個漢字之內。
robots正確寫法
(不會寫robots的朋友可以使用我們的在線robots文件生成器https://tool.zzvips.com/t/robots/生成一個robots.txt文件,放置到網站根目錄即可.)
WordPress的通用robots.txt寫法為:
User-agent: *
Disallow: /feed
Disallow: /trackback
Disallow: /comments/feed
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /wp-admin/
Disallow: /author
Disallow: /*.css$
Disallow: /*.js$
sitemap: 替換為你網站的sitemap.xml地址
可以根據自己實際需求進行添加和刪減。
此外應該注意:robots.txt文件的編碼格式應該為ANSI
sitemap
直接使用Google XML Sitemaps這個插件創造sitemap.xml即可。同時也需要有一份html格式的網站地圖。我個人是使用PS Auto Sitemap這個插件來實現的。
WordPress內容層SEO
這里的優化主要牽扯到CSS和JS的整合及優化,從而提高網站相應速度和加載速度。下面的圖表示的是優化后的WordPress在YSlow中的得分,以及在谷歌管理員工具中網站性能中的速度測試。
由于網站速度這快的優化已經超出了WordPress的優化范疇,且相關要介紹和解釋的內容太多。我會在以后的文章中做專門的介紹。
以上就是楊帆對WordPress優化的一些見解,SEO工作每個人針對每一個網站,都有不同的操作思路和具體做法。筆者也僅僅是拋磚引玉希望能夠給大家一些WordPress SEO上的思路。文章內容不當之處請多多包涵并指出。