增建新的 Blog 站台 - WordPress | 移轉資料 | Blogger | WordPress | Blogger Importer

Google 的 Blogger 在這半年多來狀況頻傳, 不過該公司的團隊都能在短時間內提供解決的方案; 但是... 最近的 "Server Error (5xx)" 問題已經拖了超過 1.5 個月的時間, 一直未能有效的解決! 同樣的問題反反覆覆的發生在 Blogger 的各連結上!!!

: 各位朋友不用懷疑是不是點錯網址 - 想說 "修車的 Blog 怎麼突然在貼這種跟資訊系統、程式相關的東西?" 因為接下來這些作業會影響到未來的保修記錄及相關資料呈現的方式及取用的網址, 勉強跟重機相關事項可以牽扯的到邊邊, 所以還是放在這裡給有興趣研究的朋友瀏覽 :-)

增建新的 Blogger 站台 - Wordpress!
增建新的 Blog 站台 - WordPress!

也因為 Server Error (5xx) 的問題一直無法排除, 導致 Blog 的流量一直持續往下掉, 對於一個依靠 organic search traffic 拓展客源的站台來說, 是一個非常大的問題!


Server Error (5xx)

惱人的 Server Error (5xx) 異常
惱人的 Server Error (5xx) 異常

當提供網頁服務的伺服器(這裡指的是 Blogger 的網頁伺服器)在 Google 的 "Google-bot" 抓取資料時發生錯誤, 將會影響該網頁、甚至整個網站的搜尋排名(search ranking); 遺憾的是 - Server Error 並非使用者(如本店)可介入排除的問題! 看著 "有問題" 的頁面在 1 天內突然飆升至 156 篇卻苦無解決的對策, 只能眼睜睜的看著流量逐日遞減, 這對於一個投入了無數作業時數的經營者來說, 真是情何以堪啊! T_T

持續往下探底的流量
持續往下探底的流量 T_T

Blogger 討論區關於 Server Error (5xx) 的討論串
Blogger 討論區關於 Server Error (5xx) 的討論串

就在徬徨失措的時候, 在 Google 的 Blogger 討論區找到了上面的討論串, 從剛開始不到 10 篇貼文就開始追蹤, 到最後累積到了 146 篇貼文, 前後超過 1.5 個月的時間, 完全沒有解決的方案! @_@

期間也依據產品專家(Platinum Product Expert)的建議修改相關設定, 但是... 不行就是不行! 最後決定另外再設立一個新的 Blog, 除了避免把雞蛋全部放在同個籃子內, 也藉此改善 Blogger 為人詬病的搜尋功能(前台、後台皆是如此)


WordPress

經過多方比較後, 選擇了較多人使用的 WordPress; 除了有許多 plugins & themes 可用外, open-source 更是吸引人的地方.

這是不得不投資的營運成本...
這是不得不投資的營運成本...

WordPress 的眾多 plugins 中有個專門用來移轉 Blogger 資料的 plugin - Blogger Importer, 原先的想法很單純 - 租用網頁空間、建置 WordPress 系統、匯入 Blogger 文章, 最後再選購合適的 theme 就好啦!

但是齁, 事情並沒有想像中的那麼順利... 跑完所有的 Blogger Importer 流程後, 蛤? 居然一篇文章都沒有匯入?! @_@ 不信邪, 再跑 1 次、2 次... N 次, 沒有就是沒有! -_-

找了很多資料、看了很多討論串後依然沒有頭緒, 問題完全沒辦法解決, 最後... 只能自己來了! 將相關的 source code 開起來檢視、分析, 就這樣開始了 Blogger Importer 的修改作業

註: wordpress.com 提供的 Blogger Importer plugin 與 open-source 的版本有些許差異 - 不只界面, 連提供的匯入資料類別也有些許不同; 因此有人發展出利用 wordpress.com 幫忙 "轉檔" 的方式 - 先註冊一個試用帳號後將 Blogger 資料匯入, 之後再匯出成 WordPress 的備份資料, 最後把該份資料複製到自己的 WordPress Blog 站台即可 ;-)

修改 Blogger Importer 的程式碼
修改 Blogger Importer 的程式碼

Blogger Importer 是以 SimplePie 這個 PHP extension 來解讀 Blogger 匯出的 XML 檔; 但是 SimplePie 主要是設計來做 feed parser 的, 兩者的資料量有著極大的差異; SimplePie 的官網也提到了:
SimplePie is designed for the specific purpose of handling RSS and Atom feeds. Although SimplePie's individual classes could be made to work together to parse a raw XML document, this is not what SimplePie was designed to do. For raw XML parsing, we would recommend either PHP5's SimpleXML extension, or XMLize (which powered the 0.9x releases of SimplePie).

有了這些基本的概念後, 就開始著手修改 source code 了! ;-)


Blogger Importer

除了修正無法匯入 Blogger 的資料問題, 尚增加了些自己的需求功能
除了修正無法匯入 Blogger 資料的問題, 尚增加了些自己的需求功能

因為打算 "雙修" 的關係 - 同時維護 Blogger 及 WordPress, 也為了減少重複作業時的人力浪費, 所以增加了一些自己需要的功能:
  • 以 Blogger 的更新日期判斷是否覆寫 WordPress 的記錄(post/page)
  • 選擇將 Blogger 的標籤(label)匯成 Tag 或者 Category
  • 檢查/更新/下載已匯入 WordPress 記錄(post/page)的圖片

  • Posts

    Post 匯入功能 - 正常
    Post 匯入功能 - 正常

    Pages

    補上匯入 Page 的功能
    補上匯入 Page 的功能

    Blogger Importer 並未提供匯入 Page 的功能; 雖然本店 Blogger 上的 Page 型態的文章不多, 但是貼來貼去的也是非常麻煩、耗時, 反正程式寫了以後還是有可能會再用到的, 所以就把這個缺遺的功能給補上去啦! ;-)

    Links

    修正匯入 post/page 內的連結無法正常更新的問題
    改寫匯入 post/page 內的連結無法正常更新的問題

    原先 Blogger Importer 的 "匯入記錄的連結更新功能" 可以說是個災難! 他只是把 host 部份由 Blogger 改成目前 WordPress 的 host 而已, path 部份完全沒動! 就算沒有自訂連結格式(Permalinks), 被變更過後的連結也完全不能用! -_-|||

    未完待續; 程式修改 & 網站建置尚在進行中... ;-)



    (本 BKSPtw Blog 內任何一篇文章皆可自由轉載, 但是煩請註明出處並附上文章連結. 感謝!)

    若各位朋友有任何保養/維修的需求, 歡迎來電或者留言詢問. Thanks!
    較新的 較舊