自動ブログ投稿システム(完全版)
このシステムは、GitHub Actionsを使用して毎日自動的にAI×心理学マーケティングに関するブログ記事を生成・投稿します。
🚀 機能
- 毎日自動投稿: 日本時間午前9時に自動的に新しい記事を投稿
- AI生成コンテンツ: Google Gemini APIを使用して高品質な記事を生成(2500-3000文字)
- 画像自動選択: Unsplash APIから記事内容に合った画像を自動選択・最適化
- 画像ローテーション: 7日間同じ画像を使用しない仕組み
- 曜日別テーマ: 曜日ごとに異なるテーマと心理学的本能で記事作成
- コンテンツカレンダー: 月別キャンペーンと連動した戦略的投稿
- SEO最適化: 構造化データ、メタタグ、キーワード配置を自動最適化
- Jekyll互換: _postsディレクトリにMarkdown形式で自動保存
📅 週間スケジュール
曜日 | テーマ | 本能 | 構造 | キーワード例 |
---|---|---|---|---|
月曜日 | AIマーケティング | 学習本能 | ハウツー | AI活用法、最新トレンド |
火曜日 | 消費者心理 | 階層本能 | 問題解決 | 購買行動、心理分析 |
水曜日 | 成功事例 | 縄張り本能 | ケーススタディ | 導入事例、ROI |
木曜日 | 実践テクニック | 学習本能 | ハウツー | SEO対策、自動化 |
金曜日 | トレンド分析 | 生存本能 | 比較分析 | 市場動向、未来予測 |
土曜日 | 業界別ガイド | 養育本能 | 問題解決 | 業界特化、専門知識 |
日曜日 | 戦略立案 | 生殖本能 | ハウツー | 成長戦略、競争優位 |
🛠️ セットアップ
1. 環境変数の設定
GitHubリポジトリのSettings > Secrets and variablesで以下のシークレットを追加:
GEMINI_API_KEY: Google GeminiのAPIキー
UNSPLASH_API_KEY: Unsplash APIキー(オプション、画像自動取得用)
2. 必要なディレクトリ構造
leadfive-demo/
├── _posts/ # 生成された記事の保存先
├── assets/
│ └── images/
│ └── blog/ # ブログ画像の保存先
├── scripts/
│ └── auto-blog-generator.js
└── blog-ai-assistant.js
3. パッケージのインストール
cd leadfive-demo
npm install @google/generative-ai axios sharp js-yaml
🎮 手動実行
GitHub Actionsから手動で実行することも可能です:
- リポジトリのActionsタブを開く
- “Daily Automated Blog Post”ワークフローを選択
- “Run workflow”をクリック
- オプションで本能とカテゴリーを指定(空欄の場合は自動選択)
📊 生成される記事の構成
記事の要素
- タイトル: 60文字以内、数字を含む、SEO最適化
- リード文: 150-200文字、読者の課題に共感、本能に訴求
- 本文: 2500-3000文字、明確な見出し構造(h2, h3)
- 画像: Unsplashから自動選択、1200x630px、クレジット情報付き
- メタデータ: カテゴリー、タグ、説明文、構造化データ
- CTA: LeadFiveサービスへの自然な誘導
- 関連記事: 内部リンクによるSEO強化
構造パターン
- ハウツー形式: ステップバイステップの実践ガイド
- 問題解決形式: 課題→原因→解決策→成果
- ケーススタディ形式: 実例を通じた学習
- 比較分析形式: 複数の選択肢を詳細に比較
🔧 カスタマイズ
トレンドトピックの更新
auto-blog-generator.js
のtrendingTopics
配列を編集:
const trendingTopics = [
'ChatGPT活用法',
'メタバースマーケティング',
// 新しいトピックを追加
];
投稿時間の変更
.github/workflows/daily-blog-post.yml
のcron設定を編集:
schedule:
- cron: '0 0 * * *' # UTC時間で設定
📈 モニタリング
- GitHub Actions: ワークフローの実行履歴を確認
- 統計情報:
.blog-wizard/stats/auto-posts.json
に投稿履歴を保存 - 品質チェック: 生成された記事の品質スコアを自動計算
⚠️ 注意事項
- Gemini APIの利用料金が発生します(無料枠あり)
- Unsplash APIは無料枠で1時間50リクエストまで
- 生成された記事は必ず人間がレビューすることを推奨
- APIキーは必ずシークレットとして保存し、コードにハードコーディングしない
- 画像のクレジット表記は自動的に行われます
🐛 トラブルシューティング
記事が生成されない場合
- GitHub Actionsのログを確認
- Gemini APIキーが正しく設定されているか確認
- APIの利用制限に達していないか確認
エラーが発生する場合
- Node.jsのバージョンが18以上か確認
- 必要なディレクトリが存在するか確認
- パーミッションエラーがないか確認
📞 サポート
問題が解決しない場合は、GitHubのIssuesで報告してください。