【Dify上級】キーワードを入れるだけ!Jina AIで競合を並列収集→差別化記事構成→本文全文生成→WordPress自動投稿→SNS投稿文まで全自動化するアプリの作り方

Dify×外部連携

皆さんこんにちは、横浜で清掃業をしているヤスです。

前回は写真で見積書PDFを全自動作成!4業種対応AI

のアプリを作りましたね。今回はこちらです。

1. 記事制作7時間→5分を実現するアプリです

SEOブログ運営者なら誰もが感じる悩みがあります。競合調査に2時間・記事構成を考えるのに1時間・本文を書くのに4時間…合計7時間。しかもこれを毎回繰り返す。このアプリを使えばキーワードを入力するだけで全工程が約5分で完成します。

今回紹介する「SEO記事自動生成くん」は以下を全自動で実行します。

  • Jina AI検索APIで競合記事を3方向から並列収集(約25秒で完了)
  • 競合記事の共通点・差別化ポイント・検索意図を分析
  • タイトル3案・メタディスクリプション・H2×5〜6個・H3付きの記事構成を設計
  • 4,000字相当の記事本文を全文生成
  • WordPress REST APIで下書きとして自動投稿
  • X・LinkedIn・Threads用のSNS投稿文を3媒体分一括生成

実際に「Dify 使い方」というキーワードでテストしたところWordPressに「Difyの使い方完全ガイド:AI初心者でも簡単にアプリ開発が可能」という記事が下書きとして自動保存されました。

2. このアプリの最大の技術的特徴:並列HTTP実行

このアプリで最も重要な技術が「並列HTTP実行」です。

比較通常(直列実行)このアプリ(並列実行)
HTTP①完了25秒後同時スタート
HTTP②完了50秒後約25秒後(同時完了)
HTTP③完了75秒後約25秒後(同時完了)
合計時間約75秒約25秒(3倍速)

💡 Difyで並列実行するには開始ブロックから複数のブロックに同時に矢印をつなぐだけです。特別な設定は不要で自動的に並列実行されます。

3. 【正直レポート】発生した失敗5つの全記録

このアプリを完成させるまでに5つの壁がありました。全て詳しく公開します。

失敗①:WordPressのURLにサイト名が入ってInvalid IDNA hostnameエラー

エラー:Invalid IDNA hostname: ‘Dify実践ブログ|49歳・IT未経験から始めるAI活用’ 原因:HTTPリクエストのURL欄に ドメインではなくサイト名が入力されていた 解決: 間違い:https://Dify実践ブログ…/wp-json/wp/v2/posts 正しい:https://ai-shoshinsha-49.com/wp-json/wp/v2/posts WordPressの設定→一般→サイトアドレスURLを確認する

失敗②:URLのhttps://が二重になって500エラー

エラー:500 Internal Server Error 原因: https://ai-shoshinsha-49.com をコピーして URL欄に貼り付けたところ https://https://ai-shoshinsha-49.com になった 解決: 先頭の https:// を1つ削除する

失敗③:Base64認証が通らず403エラーが続く

エラー:403 Forbidden 原因: Base64エンコードの形式が正しくなかった または ConoHa WINGのREST API設定が 無効になっていた 解決: ① ユーザー名を確認する(メールアドレスではなく英数字) ② アプリケーションパスワードを新規生成する ③ y-sekino:AbCd EfGh IjKl… の形式で base64encode.org でエンコードする ④ Authorization: Basic (エンコード文字列) に設定 ⑤ ConoHa WINGの管理画面で REST API無効化がオフになっているか確認する

失敗④:RAW TEXTが空欄のまま400エラー

エラー:400 Bad Request 原因: HTTPリクエスト4のボディ(RAW TEXT)欄が 空欄のまま送信されていた 解決: RAW TEXT欄をクリックして {{WORDPRESS投稿データ作成.post_data}} をサジェストから選択して設定する

失敗⑤:コード実行②でtitleの抽出が失敗してpost_dataが空になる

症状: コード実行②の出力が {}(空) 原因: LLM②のタイトル出力形式が ① 「Difyの使い方完全ガイド」 という形式だったため 正規表現 r’① \s*(.+)’ が 引用符込みでタイトルを取得していた 解決: 正規表現を以下に変更: r’①\s*[「]?(.+?)[」]?\s*$’

💡 失敗④と⑤は特にハマりやすいポイントです。RAW TEXTの設定忘れとコード実行の正規表現パターンは作成後に必ず確認してください。

4. 全体のブロック構成(14ブロック)

#ブロック名種類役割
1ユーザー入力開始キーワード・ターゲット・文字数・文体を入力
2上位記事を収集HTTPリクエスト①Jina AIで「とは・初心者向け」で検索
3競合構成を収集HTTPリクエスト②Jina AIで「完全ガイド・おすすめ」で検索
4最新情報を収集HTTPリクエスト③Jina AIで「最新・2024・2025」で検索
5データ削減コード実行①3つの検索結果を各2000字に削減
6競合分析LLM①共通点・差別化・検索意図を分析
7記事構成設計LLM②タイトル3案・構成・ライティング指示を生成
8本文全文生成LLM③4,000字の記事本文を全文生成
9SNS投稿文生成LLM④X・LinkedIn・Threads用を一括生成
10WPデータ整形コード実行②タイトル抽出・HTML変換・JSON整形
11WordPress投稿HTTPリクエスト④REST APIで下書きとして自動投稿
12最終整形テンプレート変換全レポートを1つにまとめる
13出力終了最終レポートを出力

5. 事前準備|必要なものはこれだけ

  • Difyのアカウント(無料プランOK)
  • OpenAIのAPIキー(GPT-4oが使えるプラン)
  • Jina AIのAPIキー(無料・https://jina.ai/ で取得)
  • WordPressサイト(REST APIが有効になっていること)
  • WordPressのアプリケーションパスワード(ユーザー→プロフィールで生成)
  • 所要時間:90〜120分

⚠️ ConoHa WINGをご利用の場合はサイトセキュリティのREST API無効化がオフになっているか確認してください。デフォルトで無効化されている場合があります。

6. 重要な設定ポイント

並列HTTPリクエストの設定方法

Difyで並列実行するには開始ブロックから3つのHTTPリクエストブロックに同時に矢印をつなぐだけです。

設定方法: 開始ブロックの右側から矢印を伸ばす → HTTPリクエスト①につなぐ → 開始ブロックから再度矢印を伸ばす → HTTPリクエスト②につなぐ → 同様にHTTPリクエスト③につなぐ 3つのHTTPが同時に実行され 全部完了するとコード実行①に進みます

WordPress認証の設定方法

  1. WordPressの管理画面→ユーザー→プロフィールを開く
  2. 「新しいアプリケーションパスワード名」に「Dify連携」と入力
  3. 「アプリケーションパスワードを追加」をクリック
  4. 表示されたパスワードをコピー(この画面を閉じると二度と見られない)
  5. https://www.base64encode.org/ で「ユーザー名:パスワード」をBase64エンコード
  6. DifyのHTTPリクエスト④のヘッダーに「Authorization: Basic (エンコード文字列)」を設定

⚠️ ユーザー名はメールアドレスではなく英数字のユーザー名を使ってください。「y-sekino」のような形式です。

コード実行②(WordPress投稿データ作成)のポイント

import re import json def main(article_body, article_structure, wp_post): title_match = re.search(r’①\s*[「]?(.+?)[」]?\s*$’, article_structure, re.MULTILINE) title = title_match.group(1).strip() if title_match else “新しい記事” meta_match = re.search(r’メタディスクリプション.*?\n(.+)’, article_structure) meta = meta_match.group(1).strip() if meta_match else “” content = article_body.replace(“\n”, “<br>”) content = re.sub(r’## (.+)’, r'<h2>\1</h2>’, content) content = re.sub(r’### (.+)’, r'<h3>\1</h3>’, content) post_data = json.dumps({“title”: title, “content”: content, “status”: “draft”, “excerpt”: meta}, ensure_ascii=False) return {“post_data”: post_data, “title”: title}

alt="Difyで構築したJina AI並列データ収集・WordPress自動投稿・SNS投稿文生成AIアプリのワークフロー画面とテスト実行結果の解説画像"

7. テスト実行と確認ポイント

項目入力内容
keywordDify 使い方
target_audienceAIに興味があるビジネスパーソン・初心者
site_conceptAI活用術を初心者向けにわかりやすく解説するブログ
article_length4,000字(標準・中級向け)
wp_post下書きとして保存する
toneわかりやすい・親しみやすい
  • HTTP①②③が並列でSUCCESSになっているか
  • LLM①:競合の共通点・差別化3点・検索意図が出ているか
  • LLM②:タイトル3案・メタディスクリプション・全H2構成が出ているか
  • LLM③:記事本文が全文出力されているか
  • LLM④:3媒体のSNS投稿文が出ているか
  • WordPressの投稿→下書きに記事が保存されているか
alt="WordPressの管理画面(投稿一覧)にDifyアプリから自動投稿された「Difyの使い方完全ガイド:AI初心者でも簡単にアプリ開発が可能」の記事表示画面"

8. まとめ

  • キーワードを入力するだけでJina AIが競合記事を並列収集・差別化分析・記事構成・本文全文・SNS投稿文まで全自動生成
  • 並列HTTP実行で3つの検索が25秒で完了(直列の3倍速)
  • WordPress REST APIで下書きを自動投稿。記事制作7時間→5分に短縮
  • URLの二重https・403認証エラー・RAW TEXT未設定・コード実行の正規表現など5つの失敗談を全公開
  • 14ブロック構成。手順通りに進めれば90〜120分で完成

SEOブログを運営している方・記事制作の時間を短縮したい方・WordPress×AI連携に挑戦したい方に特におすすめのアプリです。失敗談を参考にすることで同じ壁にぶつからずに完成させることができます。

以前も同じようなアプリを作りましたが、ちょっとグレードアップした

気がします。だけど、また同じ所でつまずいたような、、、

次回はせせっかくなので、今回のアプリで作った記事をそのまま

アップしようと思います。

次におすすめの記事

【解決編】バラバラの道を束ねる魔法!「変数集約器」で二刀流アプリを完成させよ

xもやってるので良かったら見に来てください

私のエックスです。

次回も是非お楽しみに!

失敗から学ぶことは多いですね。

コメント

タイトルとURLをコピーしました