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

Voicenotes,用語音做思想輸出,與文字輸出截然不同的體驗。

Voicenotes,用語音做思想輸出,與文字輸出截然不同的體驗。

在使用 Voicenotes 之前,我是個不習慣使用語音記錄事情的人,因為我總覺得用語音記錄之後要回頭去找相關訊息會變得很麻煩,他不像文字一樣可以很方便的用搜尋即可檢索。但遇到 Voicenotes 之後,使用語音做記錄成了我的日常,一來是它辨識中文語音的效果非常好,語音轉文字之後基本上不用修太多字詞,二來是我在外面行走的時候想到什麼東西就可以隨口記錄進去(不用當低頭族打字),Voicenotes 變成了一個比較碎片化的靈感集散地。 Voicenotes 這個產品是由 Buy Me a Coffee(BMC) 的創辦人夫婦所開發的,BMC 已經出來了 6 年還有持續在迭代,所以我對於 Voicenotes 這款產品也蠻有信心的,在它剛推出 iOS App 後,我試用的當晚便腦波一弱買了他們的終身方案。大家可以參考他們的 FAQ,裡面有提到他們對這款產品未來的想像(roadmap)。 ChatGPT 的出世打開了大家進入 AI 的大門,這一年多來越來越多產品利用各種語言模型來讓自己變得更加方便。Voicenotes 也是如此,他們採用了 GPT-4、Claude

擁有網域即可擁有免費企業電子郵件:Cloudflare + Gmail + Resend

擁有網域即可擁有免費企業電子郵件:Cloudflare + Gmail + Resend

在創業或做副業初期,通常支出能省則省,本文教你怎麼把電子郵件從user@gmail.com變成比較有識別性的類企業用電子郵件如user@yourcomapny.com。 這樣之後你就可以用比較有識別性的user@yourcompany.com來收發郵件啦!這可以讓你的個人服務或網站更加專業。 免費讓自己擁有企業電子郵件教學 本文共會使用到三個服務 * Gmail:Cloudflare 和 Resend 之間的橋樑,是靈魂 * Cloudflare:使用電子郵件路由(Email Routing)服務,收到信後將不同的郵件地址轉發到其他郵件服務如 Gmail。user@gmail.com -> user@yourcompany.com * Resend:透過 Resend 這個發送電子郵件服務的 API 來完成使用 user@yourcompany.com 發送電子郵件給其他使用者的功能。 前置作業 要開始這邊文章之前,最重要的是你要先擁有自己的網域且該網域要被 Cloudflare 託管,以及你想要變成企業電子郵件的個人郵件。