MO STORIES

一人自媒體的內容自動化系統:Notion × WordPress × Claude Code 完整教學

2026年4月8日12 MIN READ

一個人經營自媒體,最累的不是寫文章。是寫完之後的事:同步到 Notion、發佈到 WordPress、拆成 Threads 貼文、排程 Facebook 導流文、寄電子報、看數據決定下一篇寫什麼。 這篇分享我實際在用的系統。一篇文章寫完,自動同步到 5 個地方,不用手動複製貼上。 你想解決的事 這套系統怎麼做 內容散落...

一人自媒體的內容自動化系統:Notion × WordPress × Claude Code 完整教學
Cover Visual

一個人經營自媒體,最累的不是寫文章。是寫完之後的事:同步到 Notion、發佈到 WordPress、拆成 Threads 貼文、排程 Facebook 導流文、寄電子報、看數據決定下一篇寫什麼。

這篇分享我實際在用的系統。一篇文章寫完,自動同步到 5 個地方,不用手動複製貼上。

你想解決的事 這套系統怎麼做
內容散落在不同平台 用 Notion 當唯一的內容管理中心
每次發文要手動操作 腳本一行指令,自動帶封面、分類、標籤
社群內容每天從零想 從 SEO 文章拆解,不重新發想
不知道什麼內容有效 GSC + GA4 數據自動回收,驅動下一輪選題

系統架構總覽

整套流程長這樣:

本地 Markdown 寫作
  ↓ sync-to-notion.cjs
Notion 寫作資料庫(狀態管理、協作)
  ↓ deploy-to-wordpress.cjs
WordPress 發佈(SEO、前端渲染)
  ↓ article-to-facebook.js / publish-all.js
社群分發(Threads / Facebook / Instagram)
  ↓ send-newsletter-test.mjs
電子報寄送
  ↓ fetch-data.mjs / ga4-report.mjs
數據回收 → 選題池更新 → 下一篇文章

每個環節對應一支腳本,全部用 Node.js 寫,跑在本地。

環節 工具 腳本
寫文章 Markdown + Claude Code 手動 + AI 輔助
內容管理 Notion 寫作資料庫 sync-to-notion.cjs
網站發佈 WordPress (Headless) + Next.js deploy-to-wordpress.cjs
社群分發 Notion Social DB publish-all.js
FB 導流 GPT-4o 生成 + 排程 article-to-facebook.js
電子報 Nodemailer + SMTP send-newsletter-test.mjs
數據追蹤 Google Search Console + GA4 fetch-data.mjs + ga4-report.mjs

第一步:用 Notion 當內容管理中心

所有內容都從 Notion 管理,但不在 Notion 裡寫。寫作在本地 Markdown 完成,寫好再同步上去。

寫作資料庫

存放所有 SEO 文章、電子報、長文內容。

欄位 類型 用途
Page(標題) title 文章標題
Slug rich_text URL 路徑
Excerpt rich_text meta description
status select 草稿 / 已發布
FeaturedImage files 封面圖 URL

這些欄位和本地 Markdown 的 frontmatter 一一對應。改本地檔案,跑一次同步腳本,Notion 就自動更新。

Social DB(社群資料庫)

所有社群貼文——Threads、Facebook、Instagram、電子報——都在同一個資料庫追蹤。

欄位 用途
Threads / Threads first / Threads second 三段串文內容
Facebook FB 導流文內容
平台 Multi-select:要發到哪些平台
Scheduled Time 排程時間
Status 草稿 → 待發布 → 完成貼文

兩個資料庫的分工:寫作庫管「長內容」,Social DB 管「分發內容」。一篇文章寫完後,拆成社群版本存進 Social DB,不在寫作庫裡混。

第二步:本地 Markdown → Notion 雙向同步

核心腳本是 sync-to-notion.cjs,做兩件事:

① 把本地 .md 的 frontmatter 同步到 Notion 頁面屬性
② 把 Markdown 正文同步到 Notion 頁面內容

node scripts/notion/sync-to-notion.cjs articles/路徑/文章.md

欄位對應

本地 Frontmatter Notion Property 方向
title Page(標題) 本地 → Notion
slug Slug 本地 → Notion
description Excerpt 本地 → Notion
coverImage FeaturedImage 本地 → Notion
status: publish status → 已發布 本地 → Notion
notion_id Notion page ID Notion → 本地(自動回寫)

第一次同步會建立新頁面,腳本自動把 notion_id 回寫到本地檔案的 frontmatter。之後再同步,就用這個 ID 直接找頁面,不用重複搜尋。

為什麼不直接在 Notion 裡寫?

Notion 的編輯體驗不錯,但有幾個問題:

  • 版本控制不方便(想 git diff 看改了什麼很難)
  • Markdown 匯出格式不穩定
  • 離線編輯受限

用本地 Markdown 寫,Notion 當「看板」和「協作介面」,各取所長。

第三步:一鍵發佈到 WordPress

網站用 Headless WordPress(純後端 API)+ Next.js(前端渲染)。

發佈用 deploy-to-wordpress.cjs

node scripts/ops/deploy-to-wordpress.cjs articles/路徑/文章.md

這支腳本自動處理:

項目 說明
status frontmatter publish → WP publish;其他 → draft
description 自動帶入 WP excerpt
coverImage 有 URL 時自動下載、上傳到 WP Media Library、設為 featured_media
categories 自動搜尋或建立 WP 分類
tags 自動搜尋或建立 WP 標籤
slug 自動設定 permalink

不用開 WP 後台,不用手動設分類,一行指令搞定。

第四步:文章拆解 → 社群自動分發

文章發佈後,下一步是拆成社群版本。

SEO 文章 → Facebook 導流文

node scripts/social/article-to-facebook.js articles/路徑/文章.md

腳本會:
① 讀取文章 frontmatter 和正文
② 用 GPT-4o 生成 600-800 字的 FB 導流文
③ 自動建立 Notion Social DB 草稿頁面
④ 排程隔天 09:00 發佈

導流文只講文章 1/3 的內容,停在張力點,讓人想點進去看完整版。

Notion Social DB → 多平台一鍵發佈

# 預覽(不真的發)
node scripts/social/publish-all.js --auto-due --dry-run

# 正式發佈
node scripts/social/publish-all.js --auto-due

腳本會掃描 Social DB,找到 status 是「待發布」且排程時間已到的貼文,自動發到對應平台(Threads、Facebook、Instagram),發完回寫狀態為「完成貼文」。

排程慣例

場次 時間 內容類型
早場 08:00 引用型 / 生活場景 / 比較題
晚場 20:00 原創觀點 / 減法生活 / 當日感受

第五步:電子報自動寄送

電子報也是 Markdown 寫,腳本轉 HTML 寄出。

# 先預覽
node website/scripts/send-newsletter-test.mjs \
  --file newsletter/2026/04/2026-04-07-slug.md \
  --recipients newsletter/recipients/subscribers.csv \
  --dry-run

# 正式寄送
node website/scripts/send-newsletter-test.mjs \
  --file newsletter/2026/04/2026-04-07-slug.md \
  --recipients newsletter/recipients/subscribers.csv

歡迎序列

新訂閱者自動收到 4 封信:

天數 內容 目的
D0 免費 Notion 模板連結 兌現承諾
D3 品牌故事(為什麼做減法生活) 建立信任
D7 付費模板推薦 轉換
D14 服務介紹 深度轉換

D0 歡迎信寄出後,訂閱者立刻拿到模板。不用等、不用額外操作。

第六步:數據驅動下一輪內容

每週五跑兩支報表腳本:

# Google Search Console 搜尋報表
node scripts/gsc/fetch-data.mjs

# GA4 流量報表
node website/scripts/ga4-report.mjs --report pages --start-date 7daysAgo

數據怎麼用

數據 看什麼 對應動作
GSC 曝光高但 CTR 低 標題沒吸引到點擊 改 title + description
GA4 停留時間長 內容有深度 拆成社群版本推廣
Threads 高互動貼文 主題有共鳴 升級為電子報或 SEO 文章
電子報有人回信 真痛點 優先寫相關長文

選題池(docs/topic-pool.md)每週五自動更新,從 Threads 數據篩選高流量貼文,標記升級方向。不用每天從零開始想下一篇寫什麼。

Claude Code 在這套系統裡的角色

Claude Code 不是用來「寫文章」的。它在這套系統裡的角色更像是執行助手

任務 Claude Code 做什麼
SEO 文章結構 產出 H2/H3 大綱、FAQ、JSON-LD Schema
品牌語氣校正 潤稿時檢查禁用詞和句型
社群文案 從文章拆出 Threads 三段串文、FB 導流文
腳本除錯 API 報錯時快速定位問題
流程管理 跑完腳本自動更新 journal 和 Notion

重複的事讓 AI 做,需要判斷的事自己做。寫作的核心觀點、故事、角度,還是要自己想。

這套系統的花費

項目 月費 說明
Notion 免費 個人版功能足夠
WordPress (Zeabur) ~NT$300 Headless 部署
Cloudflare R2 免費 10GB 免費額度夠用
Claude Code ~US$20 Pro 方案
SMTP (Office 365) 已有 用既有帳號寄信
合計 ~NT$1,000/月

不需要 Zapier(NT$600+/月)、不需要 Mailchimp(NT$400+/月)、不需要 Buffer(NT$200+/月)。自己寫腳本,成本壓到最低。

常見問題 FAQ

不會寫程式也能用嗎?

這套系統需要基本的 Node.js 環境和命令列操作。如果完全不寫程式,建議先從 Notion + Zapier/n8n 自動化 開始,用 UI 操作的工具先跑起來。

Notion API 授權怎麼設定?

需要建立 Internal Integration,取得 API Token,再把 Token 分享給對應的資料庫。完整步驟見 Notion API 教學。

一定要用 Headless WordPress 嗎?

不一定。如果你用傳統 WordPress 主題也可以,只是部署腳本要改成直接更新文章內容,不走 Next.js 前端渲染。核心邏輯(Notion 同步、社群分發)不受影響。

這套系統適合什麼規模的創作者?

一人到三人團隊最適合。內容產量大概是每週 1-3 篇長文 + 每天 1-2 則社群貼文 + 每週 1-2 封電子報。如果團隊超過 5 人,建議直接用 n8n 或 Make 做更完整的工作流。

為什麼不直接用 WordPress 外掛管社群?

試過,體驗很差。WordPress 社群外掛大多只支援 Facebook 和 Twitter,Threads 不支援,排程功能也比不上 Notion 的看板視圖。用 Notion 當控制台,腳本當執行層,彈性最大。

MO 編輯

關於作者 | 10+ 經驗

MO 編輯

WordPress 效能優化專家 / MO Design Studio 共同創辦人

關注設計 × 工程的平衡協作,擅長以簡潔語言說故事。專門幫已有網站的品牌做速度升級。相信好網站不用重做,只需要正確的優化。

WordPress 優化SEO 策略Headless CMS效能稽核

延伸閱讀

Newsletter

訂閱瘦生活電子報

每週一封故事信——分享如何用減法思維剔除雜訊、做對的事、過好生活。不說教,不推銷,只有真實的取捨紀錄。

我們尊重隱私,絕不發送垃圾郵件。可隨時取消訂閱。

MO DESIGN STUDIO

我們專注品牌網站設計、行銷著陸頁與整合式 CMS 流程,協助團隊打造有感的線上體驗。

返回部落格