Permalink 真難搞

最近 wordpress 改版讓我又搞電腦搞了好一陣子,每大升級一次就要陣痛一次,不過不升級似乎也不太行,這是用軟體一件很無奈的事。

WordPress 2.5 改變很大的部份是後台,這個我沒什麼特別感想,一開始會覺得過一陣子後應該就會慢慢適應吧!影響最大的是連對 permalink 的處理都改了!

目前我相簿裡的照片是放在 flickr 上,(貪圖幾乎可說不限空間、不限外連、不刪除圖片等等),然後用小程式把網頁語法刻好,再一次存入,而相簿的結構就利用 wp 本身的 page 和 sub-page 結構來做,搭配上 permalink 結構,看起來還蠻好的,例如 2008 年 4 月 5 號拍的春天吶喊活動的相簿網址就會是:

http://tsai.it/photos/2008/0405/

這個部份是用文章的 post_name 來做的,不過其實他們並不建議用純數字來當文章的 post_name,避免和 post_id 混淆,這樣聽起來也是有道理,不過為什麼之前可以 work 的 redirect structure 升級後反而會爛掉?

原先我的 permalink structure 是:

/%year%/%monthnum%/%day%/%post_id%/

在這個情形下,一般的文章讀得到,但相簿會爛掉,不過如果把 post_id 改用 post_name 兩種都可 work,不過實在是很不想動 permalink structure,這等於以前的連結、搜尋引擎裡的資料都要砍掉重練了,只是看了老半天程式碼,完全不知從何改起,只好屈服改用 post_name 了。

其實有個 plugin 理論上可以拯救過去舊的 permalink structure — Permalink Redirect — 但我裝了之後還是不行,網路上也沒看到什麼解法,自己又 hack 不出來,為了改照片已經睡眠不足的我只好投降了。

不過有人建議單純只用 post_name 就好?!個人認為雖然相同名稱的文章不太容易出現,但總是有那麼個萬一嘛!所以有人建議用 category 搭配 post_name:

/%category%/%postname%/

我為了更小心點,在中間加入了 post_id, 其實只要有 post_id 就一定不會重複了,只不過這違背了他們的建議罷了。畢竟 post_id 對 SEO 根本一點意義也沒有。

WordPress 原先的設計就是會把文章標題去掉 space, 符號等等,拿來當 post_name,非英文字的部份會被轉成 utf-8 編碼,雖然改用 firefox 3 beta 後,網址列可以正常顯示中文,但 firefox 2 還不行,又想起之前有人討論過,把中文改成拼音的方式,不過我沒有接受過拼音的訓練,所以找了個 perl module — Lingua::Han::PinYin — 做了個小程式幫忙,原本想做成 wordpress plugin 的,(其實也有,不過放到 virtual host 上 php 的最大記憶體使用量就爆了。XD)不過對 wordpress plugin 的結構還不熟,暫時這樣就好了。

呼~電腦真夠難搞的!

2008.05.01

One Comments

Leave a Reply