BuildHubがどうやって記事を毎日自動投稿しているか、仕組みをそのまま公開する。「こういうのって実際どう動いてるの?」という疑問に答えたくて書いた。
Flow Overview
⚡
GAS
収集 / 6h毎
→
🗄️
Firebase
キュー管理
→
⚙️
PHP cron
毎朝 7:00
→
✨
Gemini
記事生成
→
🖼️
Pexels
アイキャッチ
→
🌐
WordPress
自動公開
目次
登場するツールについて
それぞれ「何者か」を簡単に説明する。
⚡
GAS
Google Apps Script
Googleが提供するサーバーレス実行環境。JavaScriptでスクリプトを書き、時間起動などのトリガーで自動実行できる。無料。
役割:7ソースを巡回してネタを収集→Firebaseに登録
🗄️
Firebase RTDB
Googleのリアルタイムデータベース
JSON形式でデータを保存・読み書きできるクラウドDB。REST APIで簡単にアクセス可能。無料枠あり。
役割:収集ネタのキュー管理。pending→postedで重複防止
⚙️
ConoHa PHP cron
レンタルサーバー内の自動実行 ★
ConoHa WINGのサーバー内でPHPスクリプトを定刻に自動実行する機能。サーバー内部から動くのでIP制限を受けない。
役割:パイプラインの心臓部。毎朝7時にFirebase→Gemini→WP投稿
✨
Gemini API
GoogleのAI
GoogleのAIモデル。テキスト生成・翻訳・要約などをAPIで呼び出せる。大量トークン処理が得意で長文一括処理に向く。
役割:収集ネタを要約・解説・編集部コメント付きで記事化
🖼️
Pexels API
フリー写真素材サービス
著作権フリーの写真を提供するサービス。APIで検索・取得が可能。商用利用無料。WPのメディアとして自動アップロードできる。
役割:記事のアイキャッチ画像をキーワードで自動取得・設定
🌐
WordPress REST API
WPの外部操作インターフェース
WordPressが標準で持つAPI。外部プログラムから記事の投稿・更新・取得などを認証付きで操作できる。プラグイン不要。
役割:PHPスクリプトからWPに記事・アイキャッチを自動投稿
なぜ GitHub Actions ではなく ConoHa PHP cron なのか
これが一番の設計ポイント。最初は GitHub Actions で自動化しようとして、何度試しても 403 エラーが出た。
✕ 廃止
GitHub Actions
GitHubが提供するCI/CDツール。リポジトリのイベントやスケジュールでスクリプトを自動実行できる。
GitHub = Microsoft Azure のサーバーから実行される
ConoHa WING は Microsoft / Google の IP を全ブロック
WP REST API に届かず 403 エラー → 構造的に不可
○ 採用
ConoHa PHP cron
ConoHa WINGが提供するcron機能。サーバー内のスクリプトを指定時刻に自動実行できる。
サーバー内部からの実行 → IP制限を受けない
wp-load.php を直接読み込めるため高速・安定
毎朝7時に安定稼働中(アイキャッチ付きで実績あり)
この構成から得た3つの学び
01
レンタルサーバーの自動化は「サーバー内 cron」が最強。外部サービスからのAPI呼び出しはIPブロックのリスクがある。
02
収集と投稿をFirebaseで疎結合にすると、どちらかが止まっても影響しない。ネタは翌日以降に持ち越せる。
03
GAS → Firebase → PHP cron の三層構造がConoHa WING環境での最適解。各レイヤーが独立して動く。
このパイプラインで毎朝記事が自動投稿されている。気になる点があればコメントで。