WordPress 是大家熟知的一款建站程序。它功能強大、模板豐富、插件充足、安裝簡單以及定製性強的特點使得我們在建立個人博客,甚至企業網站
或其他類型網站使用也會選擇 WordPress 。我對 WordPress
SEO 有一些瞭解和經驗,以下就來説説過去 7 天,我對它做了些什麼。 WordPress 模板的 SEO 大同小異,希望能夠通過本文給有需要的朋友開拓一些思
路。

在 《網站整體標準化對 SEO 的影響》 一文中,我介紹了網站的四個層面:基礎層、結構層、內容層和表現層。

WordPress-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 正確寫法

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 的優化範疇,且相關要介紹和解釋的內容太多。我會在以後的文章中做專門的介紹。

以上就是楊帆對 WordPress 優化的一些見解,SEO 工作每個人針對每一個網站,都有不同的操作思路和具體做法。筆者也僅僅是拋磚引玉希望能夠給大家一些 WordPress SEO 上的思路。文章內容不當之處請多多包涵並指出。