SFA Publisher 管理画面(Generate / Prompts / Templates / Settings / Logs / Keywords)

SFA Publisher
OpenAI 自動投稿エンジン / Settings・Prompts・Logs のコンパクトUIサンプル
DIAG: CAP= read / can? YES seed上書き 28 / スキップ 29
OpenAI & ラップ設定
API キー・モデル・自動ラップなど、記事生成まわりの共通設定。
OpenAI API Key
wp_options には暗号化して保存。画面上は常にマスク表示。
Model
自動投稿 / 手動生成ともに共通で使用するモデル。
新規投稿を保存時に自動ラップ
表示時にラップ
REST トークン
Cron や外部ツールからの実行ガード。クリックでコピー。
カテゴリ優先度 & スケジューラ
自動投稿の優先カテゴリやスラッグ生成、WP Cron の対象カテゴリを制御。
カテゴリ優先度
compare review howto life ai-tools
優先順(slug をカンマ区切り)。保存時に自動整列。
ASCII スラッグを強制
スラッグ接頭辞
例: sfa-20251129-xxxx のように付与。
スラッグパターン
使用可: {prefix} {cat} {date} {hash8} {title}
スケジュール(WP Cron)
実行時刻(サーバ時刻・時)
対象カテゴリ
1カテゴリあたり本数
ファイルを選択… 既存は上書きされます。復元前にエクスポート推奨。
システムプロンプト
すべてのカテゴリで共通の役割・トーンを定義。
カテゴリ別プロンプト
slug ごとに JSON スキーマを切り替える。下は代表例だけを抜粋。
default
AIツール (ai-tools)
生活 (life)
最新 50 件まで表示
Cron のスイープ単位 / カテゴリ単位の結果・resume 状況を一覧。
日時 カテゴリ 結果
2025-11-29 19:14:01 health OK post_id=6188
2025-11-29 19:14:34 sidejob OK post_id=6190
2025-11-29 19:14:34 cooking DEBUG scheduled resume=1 at 2025-11-29 19:15:34
2025-11-29 19:14:34 cooking INFO continue-same-day scheduled (resume_idx=6, retries=7)
2025-11-30 19:00:20 contents OK post_id=6200
2025-11-30 19:00:20 all INFO DONE: full sweep; scheduled tomorrow 19:02
SFA Publisher
OpenAI 自動投稿エンジン / Settings・Prompts・Logs + 本文ブロック形式のサンプルUI
DIAG: CAP= read / can? YES seed上書き 28 / スキップ 29
OpenAI & ラップ設定
API キー・モデル・自動ラップ・本文ブロック形式など、記事生成まわりの共通設定。
OpenAI API Key
wp_options には暗号化して保存。画面上は常にマスク表示(実運用を想定)。
Model
自動投稿 / 手動生成ともに共通で使用するモデル。
新規投稿を保存時に自動ラップ
投稿の保存時に本文をテンプレートHTMLで1回だけラップします(DBの post_content を整形)。
表示時にラップ
フロント出力時にテンプレートでラップします。既存記事をDB変更なしで統一レイアウトにしたいとき向け。
本文ブロック形式
自動投稿で生成された本文をプレーンHTMLとして保存します。 ブロックエディター上では「クラシック」ブロック1つとして表示される従来どおりの形式です。
本文全体を <!-- wp:html --> ... <!-- /wp:html --> 形式で保存します。 後からHTMLを直接編集したい場合や、テンプレート付きレイアウトを崩さずに微調整したい場合に便利です。
既存記事には影響しません。今後、自動投稿プラグインが新規に作成する投稿の本文ブロック形式のみ切り替えます。
REST トークン
UIサンプルではダミー値です。実運用では wp-admin の設定画面で本物を発行し、 公開ページやサンプル記事にトークン値を直書きしないこと。
カテゴリ優先度 & スケジューラ
自動投稿の優先カテゴリやスラッグ生成、WP Cron の対象カテゴリを制御。
カテゴリ優先度
compare review howto life ai-tools
優先順(slug をカンマ区切り)。保存時に自動整列。
ASCII スラッグを強制
スラッグ接頭辞
例: sfa-20251129-xxxx のように付与。
スラッグパターン
使用可: {prefix} {cat} {date} {hash8} {title}
スケジュール(WP Cron)
WP-Cron による毎日の自動投稿を有効化します。
実行時刻(サーバ時刻・時)
対象カテゴリ
1カテゴリあたり本数
ファイルを選択… 既存は上書きされます。復元前にエクスポート推奨。
システムプロンプト
すべてのカテゴリで共通の役割・トーンを定義。
カテゴリ別プロンプト
slug ごとに JSON スキーマを切り替える。下は代表例だけを抜粋。
default
AIツール (ai-tools)
生活 (life)
最新 50 件まで表示
Cron のスイープ単位 / カテゴリ単位の結果・resume 状況を一覧。
日時 カテゴリ 結果
2025-11-29 19:14:01 health OK post_id=6188
2025-11-29 19:14:34 sidejob OK post_id=6190
2025-11-29 19:14:34 cooking DEBUG scheduled resume=1 at 2025-11-29 19:15:34
2025-11-29 19:14:34 cooking INFO continue-same-day scheduled (resume_idx=6, retries=7)
2025-11-30 19:00:20 contents OK post_id=6200
2025-11-30 19:00:20 all INFO DONE: full sweep; scheduled tomorrow 19:02
SFA Publisher
OpenAI 自動投稿エンジン / Settings・Prompts・Logs・Keywords サンプルUI
DIAG: CAP= read / can? YES seed上書き 28 / スキップ 29
OpenAI & ラップ設定
API キー・モデル・自動ラップ・本文ブロック形式など、記事生成まわりの共通設定。
OpenAI API Key
wp_options には暗号化して保存。画面上は常にマスク表示(実運用を想定)。
Model
自動投稿 / 手動生成ともに共通で使用するモデル。
新規投稿を保存時に自動ラップ
投稿の保存時に本文をテンプレートHTMLで1回だけラップします(DBの post_content を整形)。
表示時にラップ
フロント出力時にテンプレートでラップします。既存記事をDB変更なしで統一レイアウトにしたいとき向け。
本文ブロック形式
自動投稿で生成された本文をプレーンHTMLとして保存します。 ブロックエディター上では「クラシック」ブロック1つとして表示される従来どおりの形式です。
本文全体を <!-- wp:html --> ... <!-- /wp:html --> 形式で保存します。 後からHTMLを直接編集したい場合や、テンプレート付きレイアウトを崩さずに微調整したい場合に便利です。
既存記事には影響しません。今後、自動投稿プラグインが新規に作成する投稿の本文ブロック形式のみ切り替えます。
REST トークン
UIサンプルではダミー値です。実運用では wp-admin の設定画面で本物を発行し、 公開ページやサンプル記事にトークン値を直書きしないこと。
カテゴリ優先度 & スケジューラ
自動投稿の優先カテゴリやスラッグ生成、WP Cron の対象カテゴリを制御。
カテゴリ優先度
compare review howto life ai-tools
優先順(slug をカンマ区切り)。保存時に自動整列。
ASCII スラッグを強制
スラッグ接頭辞
例: sfa-20251129-xxxx のように付与。
スラッグパターン
使用可: {prefix} {cat} {date} {hash8} {title}
スケジュール(WP Cron)
WP-Cron による毎日の自動投稿を有効化します。
実行時刻(サーバ時刻・時)
対象カテゴリ
1カテゴリあたり本数
ファイルを選択… 既存は上書きされます。復元前にエクスポート推奨。
システムプロンプト
すべてのカテゴリで共通の役割・トーンを定義。
カテゴリ別プロンプト
slug ごとに JSON スキーマを切り替える。下は代表例だけを抜粋。
default
AIツール (ai-tools)
生活 (life)
最新 50 件まで表示
Cron のスイープ単位 / カテゴリ単位の結果・resume 状況を一覧。
日時 カテゴリ 結果
2025-11-29 19:14:01 health OK post_id=6188
2025-11-29 19:14:34 sidejob OK post_id=6190
2025-11-29 19:14:34 cooking DEBUG scheduled resume=1 at 2025-11-29 19:15:34
2025-11-29 19:14:34 cooking INFO continue-same-day scheduled (resume_idx=6, retries=7)
2025-11-30 19:00:20 contents OK post_id=6200
2025-11-30 19:00:20 all INFO DONE: full sweep; scheduled tomorrow 19:02
ベース / フリーキーワード設定
サブカテゴリの決め方をキーワードで制御します。 ベースキーワード = サイクリックに実行 フリーキーワード = 1回だけ実行 & 成功時に削除
ベースキーワード base
カテゴリごとに「軸」となるキーワードを登録します。自動投稿時、カテゴリごとにサイクリックに使用されます。
カテゴリ ベースキーワード(カンマ区切り)
AIツール (ai-tools)
副業 (sidejob)
投資 (investment)
生活 (life)
・左から順番に使用され、最後まで使い切ったら先頭に戻ってサイクリックに実行します。
・空のカテゴリは「カテゴリ名のみ」で AI に投げる想定。
フリーキーワードキュー free
追加されたキーワードは、次回の自動投稿処理で 1 回だけ優先実行されます。 投稿に成功したキーワードはキューから自動削除され、結果は Logs で確認します。
フリーキーワード入力
・1 行 = 1 キーワードセットとして扱います。
・保存時にキューへ追加され、次回以降の自動投稿で順番に消化されます。
処理モード
失敗したキーワードは残したままにし、Logs タブにエラーを出力します。
▼ キューのサンプル状態(読み取り専用イメージ):
# キーワード 状態
1 AIツール 比較一覧 待機中
2 ふるさと納税 シミュレーション 待機中
3 家庭菜園 初心者 夏 野菜 実行済 (OK)
※ 実装時は、この一覧は DB のキューと Logs を元に構築する想定。
SFA Publisher
OpenAI 自動投稿エンジン / Generate・Prompts・Templates・Settings・Logs・Keywords サンプルUI
PPS_DIAG: CAP= read / can? YES SFA Prompts Seeder: 新規作成 0 / seed上書き 28 / スキップ 29
手動で1本だけ記事を生成したいときの画面。テンプレートを選択して、 カテゴリやテーマを指定して「生成して投稿」を実行します。
記事の生成条件
カテゴリとテンプレートを中心に、テーマ・補助情報・投稿ステータスを指定します。
カテゴリ
生成した記事の「投稿カテゴリ」。プロンプトもこのカテゴリに紐づくものが使われます。
テンプレート
自由に作成したテンプレートから選択します。 「自動選択」の場合は Templates / Keywords の設定に従って決定されます。
テーマ(任意)
生成したい記事の大まかなテーマ。空欄の場合はカテゴリとテンプレートに応じてAIが決定します。
補助情報(任意)
プロンプトにそのまま渡す補足情報。ベース / フリーキーワードと一緒にAIへ送られる想定。
投稿ステータス
生成された記事をどのステータスで保存するかを指定します。
実行イメージ
実装時にはここに AI へ送るペイロードプレビューや、直近の生成ログを表示する想定。
送信ペイロード(イメージ)
{
  "category": "ai-tools",
  "template": "ai-tools.html",
  "status": "draft",
  "base_keywords": ["ChatGPT", "AI自動化"],
  "free_keyword": "AIツール 比較一覧",
  "theme": "副業にも使えるAIライティングツール特集",
  "extra": "ブログ運営者向け。無料〜安価なツールを優先。"
}
直近の手動生成ログ
Logs タブの一部を抜粋表示するなどの使い方を想定。
  • 2025-11-30 21:10:02 / ai-tools / テンプレート: ai-tools.html / status: draft / OK
  • 2025-11-30 20:58:41 / life / テンプレート: life.html / status: publish / OK
  • 2025-11-30 20:40:10 / investment / テンプレート: compare.html / status: draft / ERROR (rate limit)
ファイルを選択… 既存は上書きされます。復元前にエクスポート推奨。
システムプロンプト
すべてのカテゴリで共通の役割・トーンを定義。
カテゴリ別プロンプト
slug ごとに JSON スキーマを切り替える。下は代表例だけを抜粋。
default
AIツール (ai-tools)
生活 (life)
テンプレート管理 自由に作成 & 自由に紐づけ
テンプレートそのものの定義と、「どの条件でどのテンプレートを使うか」の紐づけを分離して管理します。
・テンプレート = レイアウトやHTML構造そのもの(/uploads/sfa-publisher-templates/*.html)
・マッピング = カテゴリやキーワード・用途(自動投稿 / 手動Generate)ごとに使うテンプレートのルール
テンプレート一覧
テンプレートはカテゴリに依存しない「パーツ」として自由に作成します。
ID ラベル ファイル名 用途 紐づけ数
default 汎用記事レイアウト default.html 共通 8 件
life-basic 生活系 基本レイアウト life.html 生活 3 件
invest-compare 投資 比較・ランキング compare.html 投資 4 件
ai-tools-feature AIツール特集 ai-tools.html AIツール 5 件
新規テンプレートID
半角英数・ハイフン。DBやRESTの識別子として使用します。
ラベル
ファイル名
/wp-content/uploads/sfa-publisher-templates/ 以下のHTMLファイル名を想定。
メモ(任意)
テンプレート紐づけ(マッピング)
「どの条件でどのテンプレートを使うか」を自由に定義します。
・カテゴリ / ベースキーワード / フリーキーワード / 実行モード(自動投稿 or Generate)などを組み合わせ可能。
・上から順に評価され、最初にマッチしたルールが適用される想定。
優先度 スコープ 条件 テンプレート 対象
10 カテゴリ AIツール (ai-tools) 自動投稿 + Generate
20 カテゴリ 投資 (investment) 自動投稿のみ
30 ベースKW 「時短家事」含む Generateのみ
40 フリーKW 「比較」「ランキング」を含む 自動投稿 + Generate
90 デフォルト その他すべて 全モード
・優先度は数字が小さいほど優先。
・スコープ例: カテゴリ / ベースキーワード / フリーキーワード / 投稿タイプ / 実行モードなど。
・Generate 画面で「テンプレート=自動選択」を選んだ場合は、ここで決まったルールが使われます。
OpenAI & ラップ設定
API キー・モデル・自動ラップ・本文ブロック形式など、記事生成まわりの共通設定。
OpenAI API Key
wp_options には暗号化して保存。画面上は常にマスク表示(実運用を想定)。
Model
自動投稿 / 手動生成ともに共通で使用するモデル。
新規投稿を保存時に自動ラップ
投稿の保存時に本文をテンプレートHTMLで1回だけラップします(DBの post_content を整形)。
表示時にラップ
フロント出力時にテンプレートでラップします。既存記事をDB変更なしで統一レイアウトにしたいとき向け。
本文ブロック形式
自動投稿で生成された本文をプレーンHTMLとして保存します。 ブロックエディター上では「クラシック」ブロック1つとして表示される従来どおりの形式です。
本文全体を <!-- wp:html --> ... <!-- /wp:html --> 形式で保存します。 後からHTMLを直接編集したい場合や、テンプレート付きレイアウトを崩さずに微調整したい場合に便利です。
既存記事には影響しません。今後、自動投稿プラグインが新規に作成する投稿の本文ブロック形式のみ切り替えます。
REST トークン
UIサンプルではダミー値です。実運用では wp-admin の設定画面で本物を発行し、 公開ページやサンプル記事にトークン値を直書きしないこと。
カテゴリ優先度 & スケジューラ
自動投稿の優先カテゴリやスラッグ生成、WP Cron の対象カテゴリを制御。
カテゴリ優先度
compare review howto life ai-tools
優先順(slug をカンマ区切り)。保存時に自動整列。
ASCII スラッグを強制
スラッグ接頭辞
例: sfa-20251129-xxxx のように付与。
スラッグパターン
使用可: {prefix} {cat} {date} {hash8} {title}
スケジュール(WP Cron)
WP-Cron による毎日の自動投稿を有効化します。
実行時刻(サーバ時刻・時)
対象カテゴリ
1カテゴリあたり本数
最新 50 件まで表示
Cron のスイープ単位 / カテゴリ単位の結果・resume 状況を一覧。
日時 カテゴリ 結果
2025-11-29 19:14:01 health OK post_id=6188
2025-11-29 19:14:34 sidejob OK post_id=6190
2025-11-29 19:14:34 cooking DEBUG scheduled resume=1 at 2025-11-29 19:15:34
2025-11-29 19:14:34 cooking INFO continue-same-day scheduled (resume_idx=6, retries=7)
2025-11-30 19:00:20 contents OK post_id=6200
2025-11-30 19:00:20 all INFO DONE: full sweep; scheduled tomorrow 19:02
ベース / フリーキーワード設定
サブカテゴリの決め方をキーワードで制御します。 ベースキーワード = サイクリックに実行 フリーキーワード = 1回だけ実行 & 成功時に削除
ベースキーワード base
カテゴリごとに「軸」となるキーワードを登録します。自動投稿時、カテゴリごとにサイクリックに使用されます。
カテゴリ ベースキーワード(カンマ区切り)
AIツール (ai-tools)
副業 (sidejob)
投資 (investment)
生活 (life)
・左から順番に使用され、最後まで使い切ったら先頭に戻ってサイクリックに実行します。
・空のカテゴリは「カテゴリ名のみ」で AI に投げる想定。
フリーキーワードキュー free
追加されたキーワードは、次回の自動投稿処理で 1 回だけ優先実行されます。 投稿に成功したキーワードはキューから自動削除され、結果は Logs で確認します。
フリーキーワード入力
・1 行 = 1 キーワードセットとして扱います。
・保存時にキューへ追加され、次回以降の自動投稿で順番に消化されます。
処理モード
失敗したキーワードは残したままにし、Logs タブにエラーを出力します。
▼ キューのサンプル状態(読み取り専用イメージ):
# キーワード 状態
1 AIツール 比較一覧 待機中
2 ふるさと納税 シミュレーション 待機中
3 家庭菜園 初心者 夏 野菜 実行済 (OK)
※ 実装時は、この一覧は DB のキューと Logs を元に構築する想定。
SFA Publisher – テンプレート管理(DB保存)
テンプレートを DB に保存して管理し、カテゴリ・キーワードから適用テンプレートを解決するための管理画面サンプル。
Templates v1.0 / storage: DB(html_body)
テンプレート一覧 Template Registry
各テンプレは DB テーブル (例: wp_sfa_publisher_templates) の 1 行として管理し、 template_id をキーに紐づけや解決を行います。
Template ID ラベル schema_id 最終更新 状態
default 汎用記事レイアウト article_default 2025-11-30 有効
life-basic 生活系 基本レイアウト article_life 2025-11-29 有効
invest-compare 投資 比較・ランキング article_compare 2025-11-28 有効
ai-tools-feature AIツール特集 article_ai_tools 2025-11-27 下書き
行クリックで右側の編集フォームに読み込み、html_body を含めて更新する想定。
実装時は Ajax + nonce で保存処理を行い、DB のみを正とします。
グローバルデフォルトテンプレート fallback
どのマッピング・カテゴリデフォルトにも該当しない場合に使用するテンプレート。 template_id のみをオプションに保存します。
デフォルト
保存先: sfa_publisher_default_template_id
自動投稿・Generate の両方で、テンプレ解決ロジックの最後のフォールバックとして使用します。
テンプレート編集 DB: html_body editor
選択中テンプレートのメタ情報と html_body(本文HTML)をDBに保存します。
生成時も必ずこの html_body を取得して使用し、ファイルとの二重管理は行いません。
Template ID
半角英数・ハイフン。テンプレ解決やマッピングで参照される一意キー。保存後の変更は非推奨。
ラベル
schema_id
このテンプレが前提とする JSON のスキーマID(例: article_ai_tools)。
Prompts 側と揃えておくと、フィールドのズレを避けやすくなります。
メモ
テンプレート本文 (html_body)
実体は DB テーブルの html_body カラムに保存されます。
プレースホルダ例: {{ title }}, {{ lede }}, {{ body_html }} など。
生成処理側で JSON レスポンスとマージし、完成した HTML を投稿本文に書き込みます。
保存処理のイメージ: UPDATE wp_sfa_publisher_templates SET label, schema_id, html_body, notes, updated_at=NOW() WHERE template_id = ...
実際のテンプレ解決では template_id だけを持ち回し、 出力直前にこの html_body を DB から取得して使う想定です。
決済はStripeで安全に処理されます。
Amazonで「カテゴリ・lt」を検索
Amazonで探す

この記事の感想をこっそり教えてください(非公開)