AI 自動發文 Pipeline 技術架構

2026-05-27 · ys89.fun 每日 5 篇自動化 · Claude API + WP-CLI · 5 編輯人設輪流

🎯 目標:每天自動產出 5 篇 SEO 文章,套用 5 個編輯人設(mark / 扁扁 / 阿奇 / 面具男 / 電玩凱凱)輪流發佈,內容品質要像真人寫,每月 150 篇,3 個月增加 450 篇。

🗺️ 整體 Pipeline 流程

1關鍵字佇列(Keyword Queue)

從 sites.json + Ubersuggest API 抓長尾關鍵字 → 寫入 backlog DB → 標記主題分類

2競品研究(SERP Analysis)

對每個關鍵字抓 Google 前 10 名 → 提取共同元素(標題模式、字數、結構)→ 餵給 AI 當參考

3內容生成(Content Generation)

Claude API (Sonnet 4.6) 寫文 → 套編輯人設 → 自動內嵌 wc-article 結構 + Schema + 內鏈

4品質檢查(QA)

字數檢查 / 關鍵字密度 / 敏感詞過濾 / 重複度檢查 / 內鏈數驗證

5排程發佈(Schedule)

WP-CLI 建草稿 → 設 schedule(08:00 / 12:00 / 15:00 / 19:00 / 22:00 各 1 篇)→ 自動發佈

6後置處理(Post-Publish)

自動 ping sitemap / 推 GSC / 內部交叉內鏈更新 / 清快取

7人工抽查(5 分鐘/天)

你每天看 5 篇預覽(手機 5 分鐘)→ 發現問題立刻撤回(WP-CLI 自動腳本)

🛠️ 技術選型

元件選型理由成本
AI 模型Claude Sonnet 4.6 API中文長文最強、便宜、上下文 200K$3/M input · $15/M output
排程引擎Cron + bash script(在 Cloudways)不需額外服務$0
關鍵字資料sites.json + keywords.json + Ubersuggest API已有基礎既有
SERP 抓取SerpAPI 或自家 curl + parseSerpAPI 較穩,curl 較省$0 或 $75/月
WP 接入WP-CLI(已裝)最原生、最穩$0
監控Telegram Bot 通知每日發佈成功/失敗推送$0
備份Cloudways 自動備份萬一錯誤可回滾既有

📂 檔案架構

~/seo-tools/ai-publish/
├── config.json                 # API key、人設、發文時段
├── keywords-queue.json         # 待寫關鍵字(每天從 backlog 抽 5 個)
├── personas/
│   ├── mark.md                 # 編輯人設 prompt
│   ├── pp.md                   # 扁扁
│   ├── achi.md                 # 阿奇
│   ├── mask.md                 # 面具男
│   └── kk.md                   # 電玩凱凱
├── prompts/
│   ├── system-prompt.md        # 系統提示(SEO 規則 + 結構)
│   ├── article-template.md     # 文章模板(wc-article CSS)
│   └── qa-checklist.md         # 品質檢查清單
├── lib/
│   ├── fetch-keyword.py        # 從 backlog 抽關鍵字
│   ├── fetch-serp.py           # 抓 Google 前 10 名
│   ├── generate-article.py     # 呼叫 Claude API 生文
│   ├── qa-check.py             # 品質檢查
│   ├── publish-wp.py           # WP-CLI 發佈
│   ├── notify-telegram.py      # 通知
│   └── rollback.py             # 撤回腳本
├── output/
│   ├── drafts/                 # AI 生成中
│   ├── published/              # 已發佈備份
│   └── failed/                 # 失敗紀錄
├── run-daily.sh                # 主入口(cron 跑)
└── README.md

🤖 編輯人設範本

例:mark.md

--- mark 人設 prompt ---

你是 Mark,ys89.fun 的資深編輯之一。

【背景】
- 32 歲男性,台北人
- 5 年娛樂城產業經驗(從客服到內容編輯)
- 個性:理性、數據導向、會講真話
- 興趣:撲克、體育投注、數據分析

【寫作風格】
- 開頭直接給結論,不繞圈子
- 大量用具體數字(賠率、RTP、流水)
- 會主動指出市場黑暗面(但會給建議)
- 不浮誇、不堆砌形容詞
- 偶爾用一句台灣口語:「老實說...」「講白了...」「我自己玩到...」

【禁忌】
- 不寫「保證贏錢」「百分百」「無風險」
- 不寫過度行銷話術
- 不用簡體字
- 不超出娛樂博弈合法討論範圍

📝 文章生成 System Prompt(核心)

--- system-prompt.md ---

你正在為 ys89.fun(夜色娛樂城評測論壇)寫一篇 SEO 文章。

【嚴格規則】
1. 字數:1800-2500 字(不能少於 1500)
2. 結構必須包含:
   - 開頭 highlight-box(4 行重點摘要)
   - 主標題(H1)含目標關鍵字
   - 3-5 個 H2 子段落
   - 至少 1 個 .wc-table 表格
   - 6 個 FAQ(.faq-item 結構)
   - 結尾 .cta-block 含 https://lihi2.me/LiqMX
3. 內鏈:必須自然嵌入 2-3 個內部連結(從給定清單挑)
4. 關鍵字密度:主關鍵字 1-2%(不能堆疊)
5. 不可重複內容(與站內現有文章差異 > 70%)

【SEO 強化】
- Title:含主關鍵字 + 年份 + 1 個 modifier(攻略/教學/評測等)
- Meta description:120-150 字,含主關鍵字
- Schema:自動套用 Article + FAQPage
- 圖片 alt:所有圖片要有描述性 alt

【寫作品質】
- 第一段必須命中搜尋意圖
- 用具體例子、數字、案例
- 避免 AI 感(不要說「總而言之」「綜上所述」)
- 語氣自然,像真人在分享經驗

【輸出格式】
HTML(已加 wc-article CSS),可直接放入 WP 編輯器

【目標關鍵字】
{KEYWORD}

【目標長尾變體】
{LSI_KEYWORDS}

【SERP 競品摘要】
{COMPETITOR_SUMMARY}

【可選內鏈】
{INTERNAL_LINKS}

【編輯人設】
{PERSONA}

⏰ 排程設計

時段編輯主題傾向cron
08:00Mark數據分析、賠率、攻略0 8 * * *
12:00扁扁(pp)娛樂城評測、新手指南0 12 * * *
15:00阿奇(achi)遊戲玩法、技巧分享0 15 * * *
19:00面具男(mask)黑歷史揭露、詐騙警告0 19 * * *
22:00電玩凱凱(kk)新遊戲開箱、世足賽0 22 * * *

🎬 主入口腳本範例

# ~/seo-tools/ai-publish/run-daily.sh

#!/bin/bash
TIME=$(date +%H)
DATE=$(date +%Y-%m-%d)

# 根據時段選編輯
case $TIME in
  08) PERSONA="mark" ;;
  12) PERSONA="pp" ;;
  15) PERSONA="achi" ;;
  19) PERSONA="mask" ;;
  22) PERSONA="kk" ;;
  *) echo "不在發文時段" && exit 0 ;;
esac

cd ~/seo-tools/ai-publish
LOG="output/logs/$DATE-$TIME.log"

echo "▶ [$DATE $TIME] 開始 ($PERSONA)" > $LOG

# 1. 抽關鍵字
KW=$(python3 lib/fetch-keyword.py 2>>$LOG)
echo "關鍵字: $KW" >> $LOG

# 2. 抓 SERP
python3 lib/fetch-serp.py "$KW" > /tmp/serp.json 2>>$LOG

# 3. 生文章
python3 lib/generate-article.py \
  --kw "$KW" \
  --persona "$PERSONA" \
  --serp /tmp/serp.json \
  --out "output/drafts/$DATE-$TIME.html" 2>>$LOG

# 4. 品質檢查
python3 lib/qa-check.py "output/drafts/$DATE-$TIME.html" 2>>$LOG
if [ $? -ne 0 ]; then
  python3 lib/notify-telegram.py "❌ QA 失敗 $DATE $TIME" 2>>$LOG
  exit 1
fi

# 5. 發佈
python3 lib/publish-wp.py "output/drafts/$DATE-$TIME.html" --persona "$PERSONA" 2>>$LOG

# 6. 通知
python3 lib/notify-telegram.py "✅ 已發 [$PERSONA] $KW" 2>>$LOG

echo "▶ 完成" >> $LOG

📊 預期成本

項目單價用量月成本
Claude Sonnet 4.6 API(input)$3/M tokens每篇 ~5K input × 150 篇 = 750K~$2.25
Claude Sonnet 4.6 API(output)$15/M tokens每篇 ~3K output × 150 篇 = 450K~$6.75
SerpAPI(可選)$75/月150 次 search$75 或 $0(自家 curl)
VPS(既有 Cloudways)$0 新增
合計(最省版)~$9/月
合計(含 SerpAPI)~$84/月

🚨 風險與防護

風險防護
AI 文重複度高 → Google 識別每篇 QA 檢查與站內現有文章相似度 < 30%
關鍵字密度過高 → keyword stuffing penaltyQA 檢查密度 < 2%
AI 生錯誤事實 → E-E-A-T 扣分提示加「只引用公開可查事實,不確定的用模糊語氣」
連續發爆量 → 異常信號限 5 篇/天 + 分散時段
WP API 出錯 → 漏發失敗自動 retry + Telegram 通知
內容過敏 → 法律風險敏感詞表過濾(保證贏 / 包贏 / 必中 等)

⏱ 建置時程

階段時間動作
1第 1 天建檔案架構 + 寫 5 個人設 prompt + system prompt
2第 2-3 天寫 6 個 lib 腳本(fetch / generate / qa / publish)
3第 4 天手動跑 5 篇測試(每個編輯人設各 1 篇)
4第 5 天你檢查 5 篇品質 → 調 prompt → 再跑 5 篇
5第 6 天裝 cron + Telegram 通知 + 正式上線
6第 7 天起每日 5 篇自動發 + 你每天 5 分鐘看預覽

❓ 待你確認

Q1:Claude API key 用你既有的?還是新開一個專給這個 pipeline 用(方便算成本)?
Q2:SerpAPI 要花 $75/月嗎?還是先用自家 curl 抓 SERP(免費但較不穩)?
Q3:5 個編輯人設的細節(背景 / 語氣 / 禁忌)你有要補的嗎?還是用我建議的版本?
Q4:Telegram 通知要不要做?(每篇發成功 / 失敗都推送,可即時掌握)
Q5:初期要不要設「人工審核閘」?(AI 生完先進草稿區,你點批准才發)
建議:前 1-2 週設審核閘,建立信心後改自動發
Q6:這 pipeline 只用在 ys89.fun?還是 6 個 PBN 站也要套(每週 1 篇)?