2026-05-27 · ys89.fun 每日 5 篇自動化 · Claude API + WP-CLI · 5 編輯人設輪流
從 sites.json + Ubersuggest API 抓長尾關鍵字 → 寫入 backlog DB → 標記主題分類
對每個關鍵字抓 Google 前 10 名 → 提取共同元素(標題模式、字數、結構)→ 餵給 AI 當參考
Claude API (Sonnet 4.6) 寫文 → 套編輯人設 → 自動內嵌 wc-article 結構 + Schema + 內鏈
字數檢查 / 關鍵字密度 / 敏感詞過濾 / 重複度檢查 / 內鏈數驗證
WP-CLI 建草稿 → 設 schedule(08:00 / 12:00 / 15:00 / 19:00 / 22:00 各 1 篇)→ 自動發佈
自動 ping sitemap / 推 GSC / 內部交叉內鏈更新 / 清快取
你每天看 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 + parse | SerpAPI 較穩,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 人設 prompt ---
你是 Mark,ys89.fun 的資深編輯之一。
【背景】
- 32 歲男性,台北人
- 5 年娛樂城產業經驗(從客服到內容編輯)
- 個性:理性、數據導向、會講真話
- 興趣:撲克、體育投注、數據分析
【寫作風格】
- 開頭直接給結論,不繞圈子
- 大量用具體數字(賠率、RTP、流水)
- 會主動指出市場黑暗面(但會給建議)
- 不浮誇、不堆砌形容詞
- 偶爾用一句台灣口語:「老實說...」「講白了...」「我自己玩到...」
【禁忌】
- 不寫「保證贏錢」「百分百」「無風險」
- 不寫過度行銷話術
- 不用簡體字
- 不超出娛樂博弈合法討論範圍
--- 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:00 | Mark | 數據分析、賠率、攻略 | 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 penalty | QA 檢查密度 < 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 分鐘看預覽 |