這幾天痞客邦在系統架構、後台架構一直到網址,似乎都有非常大幅度的改變。關於系統架構的部份,幾天前便在gslin的部落格上看到,包括這次 PIXNET 前後台的一些整理假設前後台順利上線後,之後的計畫…

因為我本身不是痞客邦的使用者,對於痞客邦的後台沒有太多意見,唯一印象就是後台比起無名小站好多了,無名小站的後台不僅醜,而且還非常不友善。Yahoo!這家國際級的公司竟然允許自己旗下的產品出現這樣的品質。說難聽點,你前台有很多正妹照片、CSS,後台卻這麼醜又沒架構,就像當年政大商學院出現一個七八萬元的垃圾桶、打開以後發現裡面居然還是橘色的大垃圾桶一樣,金玉其外、敗絮其中啊!

剛剛看到這篇「痞客邦的更新災難(下)」裡面提到改網址會造成很嚴重的後果,我真的要說一句:「有這麼嚴重嗎?」

首先拿強者我同學TingyuTony的痞客邦部落格來測試一下,他原有的網址是http://blog.pixnet.net/tingyutony

當你在瀏覽器輸入舊的網址,瀏覽器會自動轉到新的網址:http://tingyutony.pixnet.net/blog/

如果你在Linux shell底下輸入 curl -v http://blog.pixnet.net/tingyutony,會看到下列程式,可以發現痞客邦目前使用的是HTTP 301 Redirect來將舊的網址轉到新的網址(看不懂程式碼的使用者請直接跳過下面的程式,續看後文)

我曾經在如何使用Rails做HTTP 301/302 Redirect?文中稍微提過何謂HTTP 301/302 Redirect:

HTTP的規範中,狀態代碼301代表Permanent Redirect(永久定址轉移)、302則是暫時定址轉移,相較於使用HTML或是JavaScript來達到Redirect轉址目的,最大的差別在於301/302的HTTP狀態是被搜尋引擎所認可的;換句話說,你可以透過301/302轉址的方式讓搜尋引擎爬到你搬家後的新網頁。

至於301、302兩種狀態的差異,所謂的「永久」定址轉移是指搜尋引擎會根據你所指定的新網址重新建立索引,原來的位址便不再使用;而暫時定址轉移則是暫時性地將網頁搬到某個地方。

換句話說,目前痞客邦採用的是302 Redirect,我猜測是因為目前轉移期間,先使用302 Redirect,這段期間的確Google的索引或PageRank都不會直接跟著轉移到新的網址,但只要過陣子系統穩定後,全部改為301 Redirect後,一切便會恢復正常,我相信Google在這方面應該不會讓人失望。

該文中提到三點,除了PageRank之外,提到訂閱失效的問題,我想這是軟體的問題而不是網址的問題,因為我的Google Reader是完全有follow上述的HTTP 301轉址,把訂閱的來源對映到新的網址的,若您還在用IE7,或許他便是沒有實作這一點吧!:p

至於書籤網站失效,我認為這跟IE7是一樣的問題,funP推推王目前是以你當下的網址來作為推文的依據,只要大河馬他們花點時間將程式或資料庫的index加上判斷301轉址的機制,便可解決這個問題。

痞客邦的作法是依循標準HTTP的作法來更換網址,「理論上」不僅正確而且對使用者也不會造成任何影響,你甚至可以一輩子都用舊的網址,我相信他都還是會自動轉到新的網址。至於IE7的訂閱功能、推推王,或許是當初沒有考慮到?不過,若使用者們對推推王這麼有信心、有興趣,我相信推推王過一陣子就會搞定的;至於微軟的IE7,建議妳改用FireFox 3吧!:D

P.S. 至於Google AdSense失效的問題,這是安全性考量,請進入AdSense後台重新設定即可;我想AdSense才不管你要不要轉址,這是政策問題而非技術問題;何況,這是收入來源,就別跟它計較太多囉!