Hexo 遷移至 Wordpress,個人部落格搬家全紀錄

本篇文章是自己將個人部落格從 Hexo 遷移至 WordPress 服務的記錄,包含

  1. Google Cloud Platform 伺服器架設 WordPress
  2. 設定 Domain
  3. Hexo 文章導入

Hexo 和 WordPress 之間的抉擇

Hexo 用了一年多,優點是網頁載入速度快、不用額外買主機(直接架在 Github Pages )、文章編輯支援 Markdown 語法。但缺點是對於沒有程式底子的人會較難去進行後續的維護(例如主題和外掛更新)、換了電腦就無法撰寫文章、在討論的人沒有那麼多,解決 bug 時要找資料找比較久。所以最近毅然決然的決定要將部落格搬家到 WordPress ,除了可以解決上述的缺點之外,還有一個很重要的點是佈景主題和外掛的豐富度大勝 Hexo 啊!

Hexo 搬家到 Wordpres 的步驟

搬家所需的步驟大概如下,如果你是想要知道怎麼用架設 WordPress 的讀者,也以看完步驟1和步驟2後直接左轉,逛逛我的其他文章。

  1. 用 Google Cloud Platform(GCP)的伺服器架設 WordPress
  2. 設定 Domain
    1. Domain 設定
    2. 增加 SSL 安全連線
  3. 導出 Hexo 的文章,並導入 Wodpress
  4. 在 WordPress 內整理文章
    1. 圖片跑掉,重新設定內容摘要部分
    2. 舊網站文章轉址

使用 GCP 伺服器架設 WordPress

如果你是第一次使用 Google Cloud Platform(本篇文章中簡稱GCP)的話,Google 會送你一年 $300 美金的免費使用金額,如果你跟我一樣是月流量不算太高的個人部落格的話,就等於你這一年都能免費使用!

建立 WordPress 的服務

我這邊是用網路上大家推薦的「WordPress with NGINX and SSL Certified by Bitnami and Automattic」(要注意有很多 WordPress 安裝服務,名字要選對),會選用這個是因為做於 Web 服務器來講, NGINX 相比 Apache 效能較好,且資源使用率較少,對服務器負擔較小。

這裡要記得選擇 asia-east1 的服務器,這個才是 Google 在台灣彰化的伺服器,訪問速度較快,然後再選擇你要的 Machine type 和 Boot Disk type 和容量,這些都會影響你的費用。建議控制在 $20 元左右,這樣可以預留 $5 美元左右的緩衝空間(免費額度$300/年 = $25/月),之後按下部署。

使用 GCP 建立 WordPress 服務

部署完畢後可以進入 Deployment Management 頁面查看自己主機的訊息,裡面有你的部落格網址,管理員帳號、密碼…等資訊。建議趕緊登入 WordPress 的管理員帳號把密碼換掉比較安全。

Deployment Management 中會列 WordPress 及主機的訊息。

將網址改成靜態 IP

前往 VPC 網路的管理介面,找到你的 VM(虛擬主機)名稱,然後在 type 欄位將 IP 改為靜態位址,避免伺服器重啟後的 IP 位置變更,別人就會找不到你的網站。

VPC 網路設定將外部 IP 改成靜態

使用 SSH 安全加密連線,遠端控制伺服器

到 Compute Engine 的管理介面,在 SSH 連接的部分選取「在瀏覽器視窗開啟」,便會開啟一個視窗版終端機可以讓你在裡面執行指令。

使用 SSH 安全加密連線控制遠端伺服器

在這邊裡面我們可以去更改 NGINX 伺服器組態設定、更改 WordPress 的網址設定…等,但首先我們要來去除惱人的 Bitnami 浮水印。

除去 Bitnami 浮水印

透過 Bitnami 服務建立的 WordPress 會有浮水印,這邊可以藉由一行簡單的指令將它去除。
sudo /opt/bitnami/apps/wordpress/bnconfig —disable_banner 1

現在可以看到你的 WordPress 網站已經完全架好了!接著就來設定網域,讓醜醜的數字 IP 網址變成精美的網址吧!

網域設定

Google Domain DNS 設置

我自己是使用 Google Domain 的服務,如果想知道怎麼申請 Google Domain 的話看參考我的這篇文章「Hexo + Github Pages:教你設定部落格的專屬網址,含網域購買教學

到 Google Domain 中選取你的網域,並至 DNS 設定中設定如下:
名稱 / 類型 / TTL / 資料
@ / A / 1h / 34.80.19.36

Google Domain 的 A 紀錄設定

這個意思是讓你的網域對應到你剛剛在 VPC 網路那邊設定的靜態 IP,以我的例子來講就是將 larrynote.com 對應到 34.80.19.36 這個 IP 位置。

要注意設定後網址要生效會需要一點時間,所以就稍微耐心等待一下。

申請 SSL 憑證,建立網站加密連線

這時候切換回前面開啟的視窗版終端機,如果已經關掉的話在 Compute Engine 那邊的 SSH 連接再開一次。

並輸入以下指令,請把下面的 example@mail.com 和 exmple.com 置換成你自己的資訊。
sudo /opt/bitnami/letsencrypt/scripts/generate-certificate.sh -m example@mail.com -d example.com

輸入後他會問你是否要以此資訊建立 SSL 憑證,也會再問你是否要自動更新 SSL 憑證,我這邊都是選擇 Y。

當建立好了之後就可以回到 WordPress 安裝 Really Simple SSL 這個外掛,並一鍵啟用 SSL,接下來你就可以看看是否自己通過以下檢測啦!

使用 Really Simple SSL 檢測自己網站的安全憑證設定

文章到這邊 WordPress 建置已經完成,接下來要講的是怎麼搬家啦!

Hexo 文章導入至 WordPress 及相關設置

產出 Hexo 的文章檔案

調整 Hexo 的 RSS 摘要格式以利 WordPress 導入,在 _config.xml 檔案中調整設定如下

feed: 
	type: rss2
	path: atom.xml
	limit: 0
	hub:	
	content: true

接著透過 hexo g 的指令來產生最新的 atom.xml 檔案。

將文章導入 WordPress

WordPress 內建有提供一個導入 RSS 的工具,由於我們剛剛使用 GCP 部署的 WordPress 是使用 PHP 7 以上的版本,所以在導入的時候會有異常。這邊可以直接把 /wp-content/plugins/rss-importer/rss-importer.php 這個路徑中發生錯誤的第 72 行程式碼直接註釋掉即可。
set_magic_quotes_runtime(0);

整理文章圖片、文字排版

由於之前用 Hexo 寫的文章內的圖片會全部跑掉,所以這邊要重新設置圖片。建議用網路圖床,避免 WordPress 肥大,這邊可以參照「Hexo 優化:新增圖片圖床、更換文章閱讀計數器服務」這篇文章,來申請網路圖床。

這邊要費的功夫最大,建議可以搭配 Yoast SEO 這個外掛來順便檢視自己的文章是否有良好的 SEO 結構。

將舊文章網址導向新文章網址

之前在 Hexo 的文章網址跟現在在 WordPress 的文章網址結構如果是不一樣的話,那麼便需要進行重新導向的動作,避免遺失掉舊有文章的流量,畢竟舊有文章網址還是能帶來一定的 SEO 流量。

我這邊是使用 Redirection 這個外掛,來將文章網址一篇篇的做 301 重新導向的動作。

使用 Ridirection 設定網站文章轉址


結論

網站搬家的過程是非常辛苦的,所以一開始選擇適合自己的產品真的很重要啊!

當然如果之後怕自己又突然不喜歡 WordPress 想換回 Hexo 的話,也可以繼續同步在 Hexo 上發表文章,雖然這樣會比較麻煩一點,但不失為一個作法!

如果你對搬家的過程有什麼疑問或是對 Hexo 或 WordPress 有什麼心得都歡迎在下方留言與我討論或分享,希望這篇文章能夠幫助到你。

參考資料

Read more

Not A Film Camera,一捲底片 24 張,讓拍照的步調放慢

Not A Film Camera,一捲底片 24 張,讓拍照的步調放慢

數位相機當道的時代,隨拍即得已經是大家所習慣的常態,「拍照 = 記錄」的本質不變,但太容易取得照片反而讓拍照少了那麼一點樂趣。 不過我也不太習慣用底片相機,主要是拍照的成本高,會讓我在快門按下去前有一點猶豫,反而會錯過了自己想要捕捉的瞬間。 而 Not A Film Camera 這款 iOS 的拍照 App 在數位相機和底片相機的模式間取得了一個良好的平衡。他有數位相機的方便性,也有底片相機的耐人尋味性。 仿底片相機的拍照體驗 Not A Film Camera 內建 10 種底片風格的相機膠卷,我自己很喜歡的是他將底片的特性融合在數位相機中,例如當我在 App 中選完了其中一捲底片,我只能拍攝 24 張,拍完這 24 張後就必須要到到 App 內的「暗房(Darkroom)」功能裡面「沖洗(Develop)」照片,將原本看起來模糊的照片洗出成套用完底片濾鏡的模樣。 這個過程對我來講是一個蠻獨特的體驗,

由 DALLE.3 生成的封面照片。

時間和習慣造就成的資產累積,投資歷程心得分享

我從 2016 年開始使用 MOZE 手機記帳軟體記錄自己每天的開支,2017 年開始用 Google Sheet 記錄自己每個月的總資產狀況,累積迄今已經邁入了第九年。記帳最有感的地方是在每個月檢視自己的資產幅度是增加還是減少,也讓自己知道在未來一個月該怎麼調整花錢的習慣。 而且因為有在記帳,在每一筆支出產生的時候都會問自己「這筆支出是我負擔的起的嗎?」「有多少錢做多少事」因而在我的理財觀念中根深蒂固。 初入投資市場 我是個幸運的人,資產不用從負開始,爸媽並沒有讓我揹負學貸,也沒有要求我需要每個月寄錢回家,讓我可以自由運用自己的每一筆收入。國小的時候爸媽會跟早餐店老闆聊股票標的,讓我對於投資股票這件事沒那麼陌生,大學的時候有在投資理財的同學一起找我選修「期貨與選擇權」這門課程,讓我開始進入了投資的世界。 那時候的我有在打工,加上爸媽每個月給我的零用金我也省吃儉用,郵局裡面有幾萬元的儲蓄。在某一個打工的下午時段,因為當時沒有客人,我就在 Yahoo 奇摩股市閒晃,看了一些財經新聞後請我媽用他的證券戶幫我敲進我人生中第一隻自己選擇的標的「南亞科(2408)」。我忘了這隻股票最終

由 DALLE.3 生成的封面照片。

萬事問 Google?你也可以試試看 Perplexity

在現在這個取得資訊非常方便的時代,任何問題只要問 Google 都能夠得到解答,搜尋引擎就像一個開放且有良好分類的圖書館一樣,你只需要用「問」的方式去告訴 Google 這個圖書館管理員你想要找什麼內容,他就會推薦他認為符合你問題的相關資訊給你。 這也造就了「Why don’t you google it?」這句話的流行,好像問問題前沒有先 Google 過就像個伸手牌一樣。 ChatGPT 問世後曾有人認為能夠翻轉這個趨勢,Bing 搜尋引擎結合了 ChatGPT,採用聊天交互問答的方式搜尋曾經造成一陣風潮,讓 Google 也不得不推出 Bard 來迎戰,但 1 年多過去了,大家的使用習慣還是沒改變,傳統的搜尋模式依舊被認為是較有效率的方式,Google 依然穩坐搜尋引擎龍頭寶座。 Perplexity AI 搜尋引擎介紹 Perplexity.AI 在 2022 年下半年就創立了,由於我是在 2024

使用 DALLE 3 AI 繪圖產生

2024 過年雜談

今年過年在除夕當天回家,一直待到初四中午返回北部。這段期間只有在初三中午出門跟朋友聚會,其他時間都是陪伴著家人,算是近幾年除了 Covid 居家隔離時待在家中時間最久的一次。 去年下半年換了工作後,在 Q4 開始一直被業績追著跑,就連假日也不太能放鬆,很難有一個好好休息的時間。這次的年假,在返家後真的有一個比較完整的休息時間,一整個下午躺在沙發上看漫畫、跟朋友約電動都毫無壓力,可能是因為大家(包含消費者)都在休息,所以自己在休息也比較順理成章。 過年期間的休閒娛樂 這個年假我的休閒娛樂主要有兩個,一是用 XBOX Series S 跟美國的朋友連了好幾場「榮耀戰魂(For Honor)」,沒想到這個老 Game 跟朋友玩竟然是如此有趣,比起自己上網找玩家被虐好多了;此外還看了「葬送的芙莉蓮」單行本 1 到 12 集,超前了動畫進度許多,目前的進度很好看,希望不要像咒術迴戰一樣中途崩掉,不然花錢買漫畫會覺得很可惜。 這個過年跟著爸媽往外跑的時間也變多了,初一跟爸媽去鹿港天后宮拜拜,雖然就真的只是拜拜沒有逛其他的東西,但也算是感受到了過年期間的人潮;