告別手動發文地獄!n8n x WordPress 終極聯動,打造你的 24H 全自動內容工廠

2025/07/15 | API 串接與自動化

告別手動發文地獄!n8n x WordPress 終極聯動,打造你的 24H 全自動內容工廠

嗨,我是浪花科技的資深工程師 Eric。寫程式這麼多年,我最痛恨的就是「重複」又「沒技術含量」的工作,而「手動複製貼上發文」絕對是這類工作的榜首。想像一下,你好不容易從各種來源(可能是 Google Sheets、Airtable、甚至是某個內部系統的 API)整理好了一批內容,結果還要一篇一篇登入 WordPress 後台,複製、貼上、選分類、上標籤、設定精選圖片… 光想就覺得手指關節在抗議了。

身為一個有格調的工程師,我們怎麼能容忍這種低效率的工作流程?今天,我就要來跟大家分享一個解放生產力的神兵利器:n8n。它就像一個數位世界的強力膠水,可以把各種不同的服務和應用程式黏在一起,實現全自動化的工作流程。這篇文章,我會手把手帶你用 n8n 與 WordPress 自動發文,從此告別複製貼上的惡夢,把時間花在更有價值的事情上,例如… 多喝幾杯咖啡思考人生?

為什麼是 n8n?它跟 WordPress 簡直天作之合!

你可能會問:「Eric,市面上有 Zapier、Make 這些工具,為什麼你偏偏推薦 n8n?」問得好!身為一個愛折騰的工程師,我當然都玩過。Zapier 跟 Make 很棒,但它們是商業服務,當你的自動化流程一多、執行次數一頻繁,那帳單可是會讓你心頭一驚的。

n8n 最大的魅力在於:

  • 開源且可自架 (Self-hosted):你可以把它部署在自己的伺服器上,幾乎零成本(除了伺服器費用)就能擁有無限的工作流程和執行次數。對於我們這種控制慾強、又想省錢的工程師來說,簡直是完美。
  • 高度彈性與擴充性:n8n 的節點(Node)設計非常直觀,就算是不會寫程式的人也能透過拖拉點選建立流程。但它的上限又非常高,你可以直接在裡面寫 JavaScript 或 TypeScript 程式碼,處理複雜的邏輯、串接任何有 API 的服務。
  • 視覺化流程:你看著數據在一個個節點之間流動,哪裡出錯一目了然。除錯起來比看著終端機噴 log 友善多了。

當 n8n 遇上本身就擁有強大 REST API 的 WordPress,就等於打通了任督二脈。你不僅僅是自動發文,舉凡是使用者註冊同步、WooCommerce 訂單處理、留言審核通知… 只要你想得到的,幾乎都能自動化。

動手前的準備:打造自動化高速公路的地基

俗話說「工欲善其事,必先利其器」。在我們一頭栽進 n8n 的世界前,有些準備工作得先做好。別嫌我囉嗦,地基打得穩,後面的路才好走,不然等一下流程跑不起來,你回頭找問題會找到想砸鍵盤。

WordPress 端:申請一張專用通行證

我們總不可能把 WordPress 管理員的帳號密碼直接寫在 n8n 裡吧?這太危險了!萬一 n8n 伺服器被黑,你的網站就門戶大開了。WordPress 很貼心地提供了一個更安全的方式:「應用程式密碼 (Application Passwords)」。

  1. 登入你的 WordPress 後台。
  2. 到「使用者」>「個人資料」。
  3. 往下拉找到「應用程式密碼」區塊。
  4. 在「新應用程式密碼名稱」欄位輸入一個你好記的名字,例如 `n8n_poster`。
  5. 點擊「新增應用程式密碼」。
  6. WordPress 會產生一組密碼,格式是 `xxxx xxxx xxxx xxxx xxxx xxxx`。請立刻複製並保存好這組密碼!因為這個畫面關掉後就再也看不到了。

這組密碼就是 n8n 專用的鑰匙,它只能用來操作 API,而且隨時可以在後台撤銷,比直接用你的登入密碼安全一百倍。這點真的很重要,網站安全是基本功,千萬別輕忽,不然就像網站大門忘了鎖一樣,後果不堪設想。

資料來源:你的內容彈藥庫

自動發文也得有內容來源。今天我們用最常見的 Google Sheets 當作範例。請先準備一個 Google Sheet,並建立以下欄位:

  • `title` (文章標題)
  • `content` (文章內容,可以是 HTML 格式)
  • `status` (文章狀態,例如 `publish` 或 `draft`)
  • `category` (文章分類名稱)
  • `tags` (文章標籤,多個請用逗號分隔)
  • `processed` (處理狀態,用來標記是否已發布)

實戰開工:一步步打造 n8n 自動發文工作流

好了,準備工作完成,讓我們打開 n8n,開始打造我們的自動化內容工廠!

步驟一:觸發器 – 從 Google Sheets 讀取新內容

每個 n8n workflow 都需要一個觸發器 (Trigger)。我們希望 n8n 定期去檢查 Google Sheets 有沒有新文章要發。

  1. 在 n8n 畫布上,點擊「+」新增一個節點,搜尋「Google Sheets」。
  2. 在「Authentication」中授權 n8n 存取你的 Google 帳號。
  3. **Resource**: 選擇 `Sheet`。
  4. **Operation**: 選擇 `Read`。
  5. **Sheet ID**: 填入你的 Google Sheet ID (就是網址列 `…/d/` 和 `/edit` 之間那段亂碼)。
  6. **Range**: 填入你的工作表名稱,例如 `Sheet1`。
  7. 設定一個篩選條件,只讀取 `processed` 欄位是空白的資料列。
  8. 最後,在 workflow 的 Settings 中,設定排程 (Schedule),例如每小時執行一次。

步驟二:核心步驟 – 連接 WordPress 並發布文章

現在我們拿到資料了,該把它送到 WordPress 了。

  1. 新增一個「WordPress」節點。
  2. 在「Credential for WordPress API」中,點擊「Create New」。
  3. **Base URL**: 填入你的網站網址,例如 `https://yourdomain.com`。
  4. **Username**: 填入你的 WordPress 使用者名稱。
  5. **Application Password**: 貼上我們剛剛產生的那組應用程式密碼。
  6. 儲存憑證。
  7. **Resource**: 選擇 `Post`。
  8. **Operation**: 選擇 `Create`。
  9. 現在,開始最有趣的「資料對應」!把上一個 Google Sheets 節點的資料,拖拉到對應的欄位:
    • **Title**: {{ $json.title }}
    • **Content**: {{ $json.content }}
    • **Status**: {{ $json.status }}

做到這一步,你的基本自動發文流程已經完成了!點擊「Execute Workflow」測試一下,應該就能在 WordPress 後台看到新文章了。

步驟三:進階處理 – 分類與標籤的愛恨情仇

「等等,Eric!我的分類跟標籤怎麼沒上去?」沒錯,如果你直接把分類名稱丟給 WordPress API,它是不認得的。API 只認得 Category ID 和 Tag ID。這就是新手常踩的坑。

怎麼辦?我們得在發布前,先去問 WordPress:「嘿,請問『技術教學』這個分類的 ID 是多少?」

這裡有兩種做法:

  1. 簡單暴力法:先在後台手動查好常用分類/標籤的 ID,然後在 n8n 中用 `IF` 或 `Switch` 節點做判斷。如果分類少,這招還行。
  2. 工程師優雅法:動態查詢!
    • 在 WordPress 節點前,新增一個「HTTP Request」節點。
    • 設定 `GET` request 到 `https://yourdomain.com/wp-json/wp/v2/categories?search=技術教學`。
    • 這樣 API 就會回傳包含 ID 的分類資訊。
    • 再用一個 `Set` 節點把這個 ID 取出來,傳給後面的 WordPress 節點。
    • 標籤也是同樣的道理,只是 API 端點換成 `/wp-json/wp/v2/tags`。

這才是真正強健的作法,不管你未來新增多少分類,流程都不用改。這就是自動化的精髓啊!

步驟四:畫下句點 – 更新 Google Sheet 狀態

文章發布成功後,我們得回去 Google Sheet 做個記號,免得下次又重複發布。這很重要,不然你的網站會充滿一模一樣的文章,對 SEO 是一場災難。

  1. 在 WordPress 節點後,再新增一個「Google Sheets」節點。
  2. 這次的 **Operation** 選擇 `Update`。
  3. Sheet ID** 和 **Range** 照舊。
  4. 在 **Key** 欄位,我們用 `title` 來當作搜尋的依據。
  5. 在要更新的欄位 `processed` 中,填入 `done` 或是當前的時間 `{{ new Date().toISOString() }}`。

這樣就形成一個完美的閉環 (Closed Loop) 工作流了。

更上一層樓:處理精選圖片與自訂欄位 (ACF)

只發布文字也太單調了。要處理精選圖片或 ACF 這類的自訂欄位,單純用 WordPress 節點就不夠力了,我們需要祭出大殺器:「HTTP Request」節點,直接跟 REST API 對話。

上傳並設定精選圖片

這需要兩步:

  1. 上傳圖片:新增一個 HTTP Request 節點,用 `POST` 方法把圖片檔案傳送到 `/wp-json/wp/v2/media`。記得要在 Header 設定 `Content-Disposition`。成功後,API 會回傳這張圖片的 Media ID。
  2. 建立文章:再用一個 HTTP Request 節點 `POST` 到 `/wp-json/wp/v2/posts`,這次在 JSON body 中,除了 title, content 之外,多帶一個 `featured_media` 欄位,值就是上一步拿到的 Media ID。

更新 ACF 自訂欄位

如果你有使用 ACF,更新欄位也很簡單。在建立文章的 `POST` request 的 JSON body 中,加入一個 `meta` 或 `acf` 的 key,裡面再包含你的欄位名稱和值。

例如,要更新一個叫做 `source_url` 的 ACF 欄位:

{
  "title": "我的自動化文章",
  "content": "這是內文...",
  "status": "publish",
  "acf": {
    "source_url": "https://example.com/original-article"
  }
}

看吧!一旦你理解了 WordPress REST API 的運作原理,搭配 n8n,幾乎沒有什麼是你不能自動化的。

結論:你的時間,值得浪費在更美好的事物上

今天我們從零到一,建立了一個從 Google Sheets 讀取資料並自動發布到 WordPress 的完整工作流程。我們不只完成了基本發布,還處理了分類、標籤、以及更新回寫狀態等進階操作。這套流程不僅能幫你省下大把時間,更能確保內容發布的一致性與準確性。

這只是 n8n 與 WordPress 自動發文 的冰山一角。你可以把資料來源換成 RSS Feed、Airtable、Notion,甚至是用 AI 自動生成內容再發布。自動化的世界充滿無限可能,而 n8n 就是你探索這個世界的最佳夥伴。

當然,如果你遇到的自動化需求更複雜,例如需要串接公司的 ERP 系統、處理複雜的 WooCommerce 訂單邏輯,或是打造企業級的自動化數據流,這可能就需要更深入的技術規劃了。別擔心,這正是我們浪花科技的專長!

相關閱讀

如果你的團隊正在尋求更高效、更智慧的網站運營方式,或是想將 WordPress 與各種內部系統無縫整合,歡迎點擊這裡,填寫表單與我們聊聊。讓我們用技術,為你打造真正能解決問題的自動化解決方案。

常見問題 (FAQ)

Q1: n8n 和 Zapier/Make 有什麼不同?為什麼要選 n8n?

最主要的差異在於 n8n 是開源的,可以免費自架在自己的伺服器上。這代表你可以擁有無限的工作流程(Workflows)和執行次數(Executions),長期下來成本遠低於 Zapier 或 Make 的訂閱費用。對於需要高頻率或大量自動化任務的企業,以及注重資料隱私、希望將數據保留在自己伺服器內的開發者來說,n8n 提供了無與倫比的彈性與控制權。

Q2: 除了發布文章,n8n 還能為我的 WordPress 網站做什麼?

n8n 的應用場景非常廣泛!除了內容發布,你還可以:

  • 同步使用者資料:當有新用戶在其他平台(如 CRM、會員系統)註冊時,自動在 WordPress 建立對應的帳號。
  • 自動化 WooCommerce:新訂單成立時,自動將訂單資料寫入會計系統、發送 Slack/LINE 通知給出貨團隊,甚至自動處理後續的物流 API 串接。
  • 智慧留言管理:當有新留言時,先透過 AI 服務(如 OpenAI)判斷是否為垃圾留言,再決定是否批准或發送通知給管理員。
  • 表單數據整合:當使用者提交聯絡表單(如 Contact Form 7)時,自動將資料新增到 Google Sheets、HubSpot CRM 或電子報服務中。

基本上,只要 WordPress 有對應的 API 操作,n8n 就能成為你的自動化中樞。

Q3: 自動發文會不會影響 SEO?有什麼需要注意的嗎?

工具本身是中立的,關鍵在於「如何使用」。自動發文若使用得當,可以提升發文頻率與一致性,對 SEO 是有幫助的。但你需要注意以下幾點:

  • 內容品質:絕對不要為了量產而發布低品質、重複或 AI 生成的垃圾內容。Google 的演算法越來越聰明,劣質內容只會傷害你的網站權重。自動化應該是用來發布「已經準備好的優質內容」。
  • 發布頻率:避免在短時間內大量發布文章,這看起來不自然。利用 n8n 的排程功能,設定一個合理且穩定的發布頻率,例如每天一篇或每週三篇。
  • 避免重複內容:確保你的工作流程有回寫機制(如此文範例中更新 Google Sheet 狀態),避免將同一篇文章重複發布。

總結來說,把 n8n 當成提升效率的助手,而非內容生產的機器,就能有效利用自動化為你的 SEO 策略加分。

 
立即諮詢,索取免費1年網站保固