從 Kirin Lin 那邊看到, WordPress 2.3 Beta 1 多了這個語焉不詳的功能,而剛才 svn update 時碰巧發現這個新奇的檔名 canonical.php ,本來只是好奇是什麼樣的功能會取名為 canonical ,沒想到就順便解開了 SEO-friendly URL redirection 是什麼的謎底——
SEO-friendly URL redirection 這個功能,就是讓每頁的網址固定,例如這個(原始網址)或是這個(舊版靜態連結),最後都一樣會被導向到這裡。
同時還有統一域名的功能,如果你設定的 Blog 網址是 blog.bcse.info ,使用者輸入 www.blog.bcse.info 時,就會被自動修正為 blog.bcse.info 。
換句話說,只要升級到 WordPress 2.3 ,就不需要再裝 Permalink Redirect 和 Enforce www. Preference 兩個外掛囉!
至於為什麼這樣對於搜尋引擎有益,我想可能是
- 避免被誤以為是重複內容而受懲罰。
- 讓搜尋引擎紀錄到最漂亮的網址。
另外附一張外掛更新通知圖(看來果然要是在 WordPress Extend 登記有案的 Plugin 才能享受到此功能):
Permalink Redirect 是一個用來統一文章連結的 WordPress Plugin ,可避免讓搜尋引擎索引到重複的內容。例如目前這篇文章的連結就有兩個:
- http://blog.bcse.info/?p=407
- http://blog.bcse.info/wordpress-permalink-redirect/
而使用此 Plugin 後,第一個網址會以 301 Permanently Moved 方式轉址到第二個網址。此 Plugin 同時也提供舊連結格式轉換為新連結格式的處理方案,其實這才是我想用這 Plugin 的最大原因,但是很可惜的是無法適用於本站。因為我本來是採用文章的 primary key 作為網址,而且只有這個參數,現在想改為文章標題,但系統無法判斷 http://blog.bcse.info/407 這樣一個網址中的 407 到底是 primary key 還是標題…
所以現在我只好把舊文章的 post slug 全部改成與 primary key 相同,這樣的話就算依照新的格式,產生的網址也還是一樣的。下 SQL 直接修改很快,只消一句 query :
UPDATE `wp_posts` SET `post_name` = `ID` WHERE `post_type` = 'post';