AI Navigate

コードを1行も書かずにブログのCTAを1,000件以上更新した方法

Dev.to / 2026/3/12

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • 著者は、コミュニティ移行中に投稿全体の1,000件以上のハードコードされたCTAを更新するという課題に直面しました。
  • SQLベースの置換と手動編集のいずれも、文脈に基づくCTAターゲティングを失い、時間を過度に要するため排除しました。
  • 自己ホスト型のn8nワークフロー、GroqオープンモデルAPI、Llama 3.3を組み合わせて再利用可能な自動化を実装し、文脈に適したCTAを生成してWordPress REST API経由で投稿を更新しました。
  • このアプローチは速度、コスト効率、視覚的な調整のしやすさを優先し、将来の変更をコードを書き換えることなく適用できるようにします。

問題

私はコミュニティプラットフォームを移行していました。簡単そうに聞こえますよね?ただリンクを変更するだけです。

しかし私には“小さな”点がありました:1,000件以上の記事のHTMLに、旧コミュニティURLを指すハードコードされたCTAが含まれていました。

なぜハードコードか?効率にこだわっているからです。追加のWordPressプラグインはロード時間をミリ秒単位で増やします。CTAは直接コード内に埋め込まれていました。

明らかな解決策(そしてなぜ機能しないのか)

オプション1:SQL置換

UPDATE wp_posts SET post_content = 
REPLACE(post_content, 'old-community-url.com', 'skool.com/new-community');

問題: これでリンクは解決しますが、機会を無駄にします

各記事はそれぞれ異なります:

  • スタートアップ資金調達の機会に関する投稿 → 投資家とつながるCTA
  • AIツールに関する投稿 → 実装に関するCTA
  • 分析に関する投稿 → より深く掘り下げるCTA

盲目的な置換は汎用的なCTAを生成します。私はそれを望んでいませんでした。

オプション2:手動(1件ずつ)

1,000件以上の投稿を開いて、それぞれを読み、文脈に沿ったCTAを生成して更新します。

問題: 煩雑な作業に100時間以上。そして私は人間です――疲れたり、気を散らしたり、ミスをします。

オプション3:カスタムスクリプト

投稿を読み取り、AIを使って内容を分析し、文脈に合わせたCTAを生成し、WordPressを更新するPython/Nodeスクリプトを書きます。

問題: 開発日数。デバッグ。保守。結局一度しか行いません。

実際の解決策: n8n + Groq + Llama 3.3

必要だったのは、以下の特性を備えたものです:

  • インテリジェント(コンテンツのセマンティック理解)
  • 高速(何週間も待てません)
  • 経済的(できれば無料)
  • 再利用可能(将来の変更のため)
  • 視覚的(コードを書き換えずに調整しやすい)

登場: n8n + Groq + Llama 3.3

The Stack

  • n8n (自己ホスト型): 視覚的ワークフローオーケストレーター
  • Groq API: 超高速オープンソースモデルへの無料アクセス
  • Llama 3.3 70B: 推論力の強いMetaのモデル
  • WordPress REST API: 投稿の取得と更新

ワークフロー(ステップごとに)

1. WordPressから投稿を取得

HTTP Requestノード → GET /wp-json/wp/v2/posts?per_page=100

パラメータ:

  • per_page=100(バッチあたりの最大値)
  • _fields=id,title,content,link(必要なものだけ)

2. 1件ずつ処理

「Split in Batches」ノード → batch_size = 1

なぜ1件ずつ? レート制限を管理し、リアルタイムで進捗を確認するためです。

3. 脳: LLMエージェント(Groq + Llama 3.3)

システムプロンプト:

あなたはスタートアップ系ブログのCTAに特化したコンテンツ編集者です。

ルール:
1. CTAが存在しない場合 → 最後の段落の前に追加する
2. 古いコミュニティURLがある場合 → 新しいURLに置換する
3. 必要に応じてボタンの色を更新する

CTAはコンテンツのタイプに基づく:
- 資金調達/投資関連の投稿 → "同じ創業者とつながる..." 
- AI/ツール → "他の人がこれをどう実装しているかを知る..." 
- 分析 → "これらの話題をさらに深掘りする..."

JSONで返答:
{
  "content": "updated HTML or null",
  "hasChanges": true/false
}

ユーザープロンプト:

Title: {{ $json.title }}
Categories: {{ $json.categories }}
Content: {{ $json.content }}

4. 決定: 更新するかスキップするか?

IF ノード → {{ $json.hasChanges }} === true

TRUEの場合 → WordPressを更新

FALSEの場合 → 「変更不要」と記録

5. WordPressを更新

HTTP Requestノード → POST /wp-json/wp/v2/posts/{{ $json.postId }}

本文:

{
  "content": "{{ $json.updatedContent }}"
}

6. ループバック

「Split in Batches」ノードへ戻り、次の投稿へ

実際の数値

指標 結果
ワークフロー設計 2時間
実行(1,000件の投稿) 約1.5時間
コスト $0(Groq無料枠)
更新された投稿数 847件(残りはすでに問題なし)
生成された文脈CTA 847
書いたコード行数 0

比較:

  • SQL置換: 5分、ただし一般的なCTA ❌
  • 手動: 100時間以上、不安定 ❌
  • カスタムスクリプト: 開発とデバッグで2〜3日 ❌
  • n8n + AI: 合計3.5時間、完璧な結果

これが意味すること

1. ノーコード + AI = 判断力の掛け合わせ

私は判断力をAIに置き換えたわけではありません。私はそれを1,000倍に増幅しました

私は次のことを定義しました:

  • WHAT: 関連する文脈を持つCTAを更新する
  • WHY: 移行とコンバージョンの改善

AIはコンテンツのセマンティック理解を用いてHOWを実行しました。

2. 実ビジネスケースにはビジュアルが有利

n8n の視覚的ワークフローは以下のとおりです:

  • ✅ 理解しやすい(「未来の私」でも)
  • ✅ 調整が速い(ドラッグ&ドロップ)
  • ✅ 再利用が容易(複製して変更)

私はコードを書かなかったのは、コードが必要なかったからです。

3. オープンソースLLMsは本番運用向き

Llama 3.3 70B via Groq:

  • 100〜200トークン/秒(OpenAIの10倍)
  • 無料(合理的な制限付き)
  • 構造化タスクに対してGPT-4oと同等の品質

このためにGPT-5は必要ありません。オープンソースで十分です。

学んだ教訓

うまくやるべきこと:

  • 小さなバッチから始める: 1,000件すべてを処理する前に10件でテストする
  • 詳細なログ: 各投稿を記録(更新/スキップ/エラー)
  • 控えめなレート制限: 1投稿につき2-3秒ごと(スロットリングを回避)
  • 構造化出力: スキーマ検証付きのJSONを保証
  • 冪等性: 2回実行しても壊れない(すでに更新済みの投稿を検出)

避けるべきこと:

  • 十分にテストしていない: 出力を検証せずにほぼ全バッチを起動しそうになった
  • AIを盲信する: 大規模運用の前に必ずサンプルを検証する
  • WordPressのキャッシュを無視する: 後でCDNキャッシュを消去する必要があった

このスタックの未来

このワークフローは使い捨てではありません。将来のために以下の用途で再利用します:

  • 季節別CTA更新(ブラックフライデー、年間の機会)
  • メッセージA/Bテスト(CTAを大幅に変更して変換を測定)
  • フォーマット移行(将来CTAデザインを変更する場合)
  • コンテンツ翻訳(同じ流れ、別のプロンプト)

投資: 2時間

ROI: 無限(これを今後10回以上使います)

結論

実際のビジネス課題がありました。文脈を持つCTAを1,000件以上の投稿で更新する必要がありました。

「簡単」な解決策(SQL)は不十分でした。「複雑」な解決策(手動/スクリプト)は非効率的でした。

n8n + Groq + Llama 3.3 = 理想的な中間地点。

これは「未来」ではなく、今日です。

ツールは存在します。無料(または安価)です。アクセス可能です。

質問は「これをすることができるか」ではありません。

問いは「この方法で他に何を自動化できるか?」です。

このアプローチで何を自動化しますか?コメント欄で教えてください。

📝 元々スペイン語で公開されたものです。cristiantala.com