在 SEO 中網站的連結結構以及目錄層次都非常重要,百度官方的 SEO 白皮書內就強調了,一個好的 URL 結構不僅能讓搜尋引擎更加容易瞭解到網站內容,而且也利於訪客記憶。很多 SEO 書籍中都提到了,網站 URL 的目錄層次最好不要超過三層。當然如果 URL 中包含關鍵詞就更好了。那麼 WordPress 網站該如何設定網站的偽靜態才能符合 SEO 標準呢?

文章頁:

應採用 「/%category%/%postname%.html」 格式的連結,如下圖:

採用此結構後搜尋引擎在抓取該頁面的時候就可以知道該頁面是屬於那個目錄 (分類) 下的,這樣有利於蜘蛛瞭解整個目錄下的主要內容以及目錄的主要語義,從而讓你的頁面在搜尋引擎返回同樣語義關鍵詞時有更好的排名。不過之前有人說直接使用 「/%post_name%/」 或者 「/%post_id%/」 又或者 「/%post_id%.html」 之類的的偽靜態 URL 結構能讓網站的排名,因為網站的根目錄下的權重最高,所以越接近根目錄的檔案或者頁面的權重也就更高了,其實不然,這樣的 URL 結構實際上在搜尋引擎眼中是雜亂不堪的,沒有一個有效的歸類,很難分清網站的目錄結構,所以強烈不推薦此類的偽靜態結構。接下來就是分類頁面的 URL 最佳化了,大家都知道預設的 WordPress 分類目錄的連結是 「http://www. 域名.com/category/分類名」 這樣的,顯然這樣的結構就會讓搜尋引擎以為所有 「分類名」 為是 category 目錄下的一個無字尾名的一個頁面。首先我們要將 URL 這中的 category 去掉,之前小編提到過兩種方法:

外掛法:WP No Category Base

程式碼法:WordPress 連結結構最佳化之標籤 (category) 存檔頁最佳化

將連線中的 category 去掉後分類目錄的連結就變為了 「http://www. 域名.com/分類名」 這時對於搜尋引擎來說這不是一個目錄而是一個頁面,加上 「/」 反斜槓才是一真正的頁面,那麼如何讓分類目錄的連結變成 「http://www. 域名.com/分類名/」 這種形式呢?使用以下程式碼即可:

if (is_admin()) return;
$permalink_structure = get_option('permalink_structure');
if (!$permalink_structure || '/' === substr($permalink_structure, -1))
return;
add_filter('user_trailingslashit', 'ppm_fixe_trailingslash', 10, 2);
function ppm_fixe_trailingslash($url, $type)
{
if ('single' === $type)
return $url;
return trailingslashit($url);
}

將以上程式碼加到 functions.php 檔案的最後面,記住一定是最後面,否則可能會造成網站報錯無法訪問的狀況。

至於標籤頁 (tag) 則保持原狀即可。