在 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) 則保持原狀即可。