第8章:キーワード自動記事生成(cron設定)
この章では、キーワードから自動的に記事を生成する「キーワード自動生成(cron設定)」の設定方法と運用について説明します。
8-1. cron自動生成とは
cron自動生成の仕組み
cron自動生成は、登録したキーワードから自動的にAI記事を生成する機能です。
動作の流れ:
- レンタルサーバー側で設定したcronが、登録した時刻に実行される
- 「キーワード自動生成」画面に登録した、有効で未生成のキーワードを1件取得(生成順序は設定で変更可能)
- Perplexity APIでリサーチ
- AIで記事を生成
- アイキャッチ画像・記事内画像を生成(設定による)
- 記事の整合性チェック(設定がONの場合)
- 記事を保存(公開 or 下書き)
- 公開時はPing送信(Ping設定がONの場合)
重要
- cronが1回動くと、記事は1本だけ作られます。1日に3本作りたいときは、cronを1日3回(例:8時・13時・20時)実行するように登録します
- キーワード1つにつき記事は1本です。一度記事を作ったキーワードは、もう使われません。1日3本を30日続けるなら、キーワードは90個必要です
必要な設定
cron自動生成を使用するには、以下の設定が必要です:
| 項目 | 説明 |
|---|---|
| Perplexity APIキー | 必須。最新情報のリサーチに使用されます |
| テキスト生成APIキー | 必須。OpenAI、Anthropic、Googleのいずれか1つ以上 |
| キーワード登録 | 必須。有効状態で未生成のキーワードが1件以上必要 |
| 自動投稿を有効にする | 必須。ダッシュボード、または「設定」→「自動投稿」タブでオンにします(8-2を参照) |
| 画像生成APIキー | 任意。アイキャッチ画像・記事内画像を生成する場合に必要 |
| サーバーのcron設定 | 必須。サーバー側で定期実行の設定が必要 |
キーワード生成順序
cronがキーワードを選ぶ順序を設定できます。設定は「記事管理」→「キーワード自動生成」画面の「記事生成の順序設定」で変更し、「保存」を押します。
| 順序 | 説明 |
|---|---|
| 登録順(古い順) | 最初に登録したキーワードから順番に生成します(デフォルト) |
| 登録順(新しい順) | 最後に登録したキーワードから順番に生成します |
| ランダム | 実行のたびにランダムに1件選んで生成します |
補足
cronは未生成のキーワード(まだ記事が作られていないもの)のみを対象に、上記の順序で1件選びます。すべてのキーワードで記事が生成済みの場合、cronは「有効なキーワー
ドがありません」と記録して終了します。
リトライ機能
API一時的エラーに対応するため、自動的にリトライします:
- 最大2回試行:1回目が失敗した場合、30秒待機後に2回目を実行
- 費用対策:無制限リトライによる費用爆発を防止
- ログ記録:リトライ回数と結果をログに記録
- 二重の費用なし:リサーチ・記事・画像のうち、済んだ部分は2回目でも使い回します
- 失敗が続くキーワード:3回続けて失敗したキーワードは24時間だけ飛ばして、次のキーワードに進みます。24時間後に自動で再挑戦します
記事品質チェック
生成された記事は、自動的に品質チェックが行われます:
- 整合性チェック:記事の内容に問題がないかチェックします(設定でON/OFF可能)
- 完結性チェック:AIがトークン制限で途中で生成を停止した場合、自動的に下書きとして保存されます(記事編集画面の「続きを生成」で続きを作れます)
- 問題記事の自動下書き化:整合性チェックで問題が見つかった場合、自動的に下書きにできます(設定でON/OFF可能)
これらの設定は「設定」→「自動投稿」タブで変更できます。
補足
cron自動生成で使用される設定(AIモデル、文字数、文体、プロンプト、画像設定など)は、すべて「設定」画面の全体設定が使用されます。
キーワードごとに個別設定はできません。
8-2. cronの設定方法
cronを動作させるには、2つのステップが必要です。
ステップ1:自動投稿を有効にする
はじめは自動投稿が「無効」になっています。ダッシュボードでオンにします。
- 管理画面のトップ(ダッシュボード)を開く
- 画面上部の「自動投稿」カードを確認
- 右側のトグルスイッチをクリック
- ON(緑色):有効バッジが表示されます
- OFF(灰色):無効バッジが表示されます
- 「自動投稿を有効にしました」と表示され、設定が保存されます
「設定」→「自動投稿」タブの「自動投稿を有効にする」にチェックを入れて保存しても、同じようにオンにできます。
注意
自動投稿がOFFの場合、サーバーのcronが実行されても記事は生成されません(cronログには「自動投稿が無効に設定されています」と記録されます)。
必ずONにしてください。
ステップ2:サーバーのcron設定
サーバーのコントロールパネルから、定期実行の設定を行います。
登録するコマンドは、管理画面に表示されます:
- 管理画面の左メニューから「設定」をクリック
- タブメニューから「自動投稿」をクリック
- 「方法1:サーバーの「cron(クロン)」で設定する」に、あなたのサイト用のコマンドが表示されます
- お使いのサーバーを判定できたときは「お使いのサーバーはこちらの可能性が高いです」と表示されます。「コピー」ボタンでコピーして、サーバーのcron設定に貼り付けてください
ヒント
画面に表示されるコマンドには、末尾に> /dev/null 2>&1が付いています。これはcronの実行結果のメールが届かないようにする指定です。付けたままでも、付けなくても動きます。
設定に必要な情報:
| 項目 | 内容 |
|---|---|
| 実行URL | URLでは登録しません。下の「実行コマンド」を登録してください。 |
| 実行間隔 | サーバーの設定次第で自由に設定できます。 |
| 実行コマンド | ※サーバーによって変わります。「設定」→「自動投稿」タブに表示されるコマンドを使ってください |
注意
curlやwgetでhttps://…/cron/generate.phpのようなURLを登録する方法では、自動投稿は動きません(セキュリティ保護のため、cronフォルダへのWebからのアクセスは遮断されています)。必ずコマンドで登録してください。
主要サーバーでの設定方法
■ Xサーバーの場合
1 . Xサーバーのサーバーパネルにログインし、「PHP Ver.切替」ページで、PHPのバージョンを確認する

2. 「cron設定」ページで、コマンドを以下のように設定する

コマンド例(コピペにお使いください)
PHPのバージョンが 8.3 で、
サーバーIDが tanaken で
ブログのURLが https://tana-ken.net/ の場合
↓
/usr/bin/php8.3 /home/tanaken/tana-ken.net/public_html/cron/generate.php
- うまく動かない場合は、ファイルマネージャで
cron/generate.phpのパーミッションを701に変更してお試しください - PHPのコマンドパスは、サーバーパネルの「サーバー情報」→「コマンドパス一覧」でも確認できます
補足:エックスサーバーと連携して設定する方法(任意)
エックスサーバーをお使いの場合は、「設定」→「自動投稿」タブの「方法2:サーバーと連携して、この画面から設定する」も使えます。エックスサーバーの「APIキー」で連携すると、サーバーパネルを開かずに、投稿する時間をチェックするだけで設定・変更・停止ができます(チェックした数だけ1日に投稿されます)。APIキーの発行のしかたは画面に表示されます。方法1と方法2は、どちらか一方で設定すればOKです(両方で登録すると、cronが二重に動いてしまいます)。
3. スケジュール設定について
cronのスケジュールを設定することで、ブログの投稿時間を調整できます。
以下に、設定例を掲載しますので、自分のお好みの設定をしてみてください。


■ ロリポップの場合
- ロリポップのコントロールパネルにログインし、「サーバーの管理・設定」>「cron設定」へ移動する

2. スケジュールと実行コマンドを入力して、設定する。

コマンド例(コピペにお使いください)
Blog Auto AIをインストールしたフォルダ名が blogautoai の場合
↓
blogautoai/cron/generate.php
- ロリポップでは、PHPのコマンドや
> /dev/nullなどは入力せず、「実行ファイルパス」欄にパスだけを入れます - cronは「ロリポップ!ドメイン」(アカウント名.lolipop.jp など)のPHPバージョンで実行されます。先に「PHP設定」で、ロリポップ!ドメインのPHPを7.4以上にしてからcronを登録してください
- cronを登録したあとでPHPバージョンを変えた場合は、cronを登録し直してください
■ さくらのレンタルサーバの場合
- さくらのコントロールパネルにログインし、「スクリプト設定」>「CRON設定」へ移動する

2. 実行コマンドとスケジュールを設定する

コマンド例(コピペにお使いください)
FtPアカウント名が tanaken で
Blog Auto AIをインストールしたフォルダ名が blogautoai の場合
↓
/usr/local/bin/php /home/tanaken/www/blogautoai/cron/generate.php
- 上の画像では先頭を
phpとしていますが、「設定」→「自動投稿」タブに表示されるコマンド(/usr/local/bin/phpから始まるもの)をそのまま貼り付けるのが確実です - CRONはスタンダードプラン以上の機能です。登録できる件数は最大10個です
- うまく動かない場合は、いちど実行コマンドを
/usr/local/bin/php -vにして登録し、実行結果のPHPバージョン(7.4以上が必要)を確認してください
■ その他のレンタルサーバーの場合
PHPのコマンドパスはサーバー会社ごとに異なります。「設定」→「自動投稿」タブの「その他のレンタルサーバー(ConoHa WING など)」に表示されるコマンドの先頭の<PHPのコマンドパス>を、お使いのサーバーのマニュアルで確認したパスに置き換えて登録してください。
補足
サーバーによっては、cron機能そのものが提供されていない場合があります(例:wpX Speed)。その場合は、エックスサーバーとの連携(方法2)か、記事の手動生成をお使いください。
推奨の実行間隔
| 間隔 | cron設定 | 説明 |
|---|---|---|
| 6時間ごと | 0 0,6,12,18 * * * |
推奨。1日4記事生成(0時、6時、12時、18時) |
| 12時間ごと | 0 0,12 * * * |
1日2記事生成(0時、12時) |
| 24時間ごと | 0 3 * * * |
1日1記事生成(毎日3時) |
| 3時間ごと | 0 */3 * * * |
1日8記事生成(積極的な更新) |
ヒント
最初は6時間ごとの設定で始めることをおすすめします。
API費用や記事の品質を確認してから、必要に応じて間隔を調整してください。
補足:公開タイミングのゆらぎ
「設定」→「自動投稿」タブの「公開タイミングのゆらぎを有効にする」をオンにすると、投稿の時刻が毎回少しずつずれたり、ランダムにその回の生成を見送ったりします(既定はオフ)。オンにすると、登録したcronの回数より投稿が少なくなることがあります。
ダッシュボードで確認する
- 管理画面のトップ(ダッシュボード)を開く
- 統計カードで以下を確認:
- 全記事数:増えているか
- 公開中:増えているか
- 自動投稿:ONになっているか
- 「最近の記事」カードで新しい記事を確認
- AIバッジが表示されます
8-3. cronログの確認方法
cron自動生成の実行状況を詳しく確認できます。
システム情報ページで確認する
最も簡単な確認方法です。
- 管理画面の左メニューから「システム」 → 「システム情報」をクリック
- ページをスクロールして「cron実行ログ(全期間、最新500件)」カードを確認
- ログの内容を確認:
- 新しい行ほど上に表示されます
- 赤色の行:エラーが発生した箇所
- タイムスタンプ:実行日時
ログの見方
ログには以下のような情報が記録されます:
正常な実行の例:
[2026-01-24 03:00:01] === 自動生成開始 ===
[2026-01-24 03:00:02] ライセンス確認OK
[2026-01-24 03:00:02] キーワード生成順序: created_asc
[2026-01-24 03:00:02] 使用プロンプト: デフォルトプロンプト (ID: 1)
[2026-01-24 03:00:02] キーワード: WordPress プラグイン おすすめ
[2026-01-24 03:00:02] AIモデル: gemini-3.8-flash
[2026-01-24 03:00:02] カテゴリID: 5
[2026-01-24 03:00:03] Perplexityでリサーチ開始...
[2026-01-24 03:00:08] リサーチ完了 - 信頼性: high
[2026-01-24 03:00:08] AI記事生成開始...
[2026-01-24 03:00:25] AI生成成功: WordPressのプラグインは、サイトに新しい機能を追加...
[2026-01-24 03:00:26] 画像生成開始: openai
[2026-01-24 03:00:35] 画像生成成功: 20260124_030035_abcd1234.jpg
[2026-01-24 03:00:35] アイキャッチ画像をcontentに挿入
[2026-01-24 03:00:36] 記事内画像を挿入開始: 2枚
[2026-01-24 03:00:37] セクション画像生成: プラグインの選び方
[2026-01-24 03:00:45] セクション画像生成成功
[2026-01-24 03:00:50] セクション画像生成: おすすめプラグイン一覧
[2026-01-24 03:00:58] セクション画像生成成功
[2026-01-24 03:00:58] 記事内画像挿入完了: 2枚
[2026-01-24 03:00:59] [記事保存] 新規記事作成成功: id=456, title=WordPressプラグインのおすすめは?, slug=article-456, status=published
[2026-01-24 03:00:59] XML-RPC pingを送信しました: https://rpc.pingomatic.com/
[2026-01-24 03:00:59] === 自動生成終了 ===
エラーが発生した場合の例:
[2026-01-24 03:00:01] === 自動生成開始 ===
[2026-01-24 03:00:02] ERROR: Perplexity APIキーが設定されていません
[2026-01-24 03:00:02] === 自動生成終了 ===
リトライが発生した場合の例:
[2026-01-24 03:00:08] AI記事生成開始...
[2026-01-24 03:00:30] [エラー] 記事生成失敗: API connection timeout
[2026-01-24 03:00:30] リトライ 1/2 を開始(30秒待機後)
[2026-01-24 03:01:00] AI記事生成開始...
[2026-01-24 03:01:20] AI生成成功: ...
ログがない場合
「cron実行ログがありません」と表示される場合、以下を確認してください:
| 確認項目 | 対処方法 |
|---|---|
| cronが実行されていない | サーバーのcron設定を見直してください 次回実行予定時刻を確認し、その時刻まで待ってください |
| 自動投稿がOFF | ダッシュボード、または「設定」→「自動投稿」タブで自動投稿をONにしてください |
| logs/フォルダの権限不足 | FTPソフトでlogs/フォルダの権限を755または777に変更してください |
診断レポートをダウンロードする
より詳細な情報が必要な場合:
- システム情報ページの上部にある「診断情報をダウンロード」ボタンをクリック
- テキストファイル(
diagnostic-report-YYYYMMDD-HHMMSS.txt)がダウンロードされます - ファイルには以下が含まれます:
- システム環境情報
- データベース統計
- 設定情報(APIキーはマスキング済み)
- cronログ(最新500件)
- サポートへの問い合わせ時にこのファイルを添付すると、スムーズに対応できます
注意
診断情報にはシステム環境情報が含まれます(APIキーはマスキング済み)。
サポートへの送信以外は共有しないでください。
ヒント
cronログは毎日新しいファイルに記録されます(cron_2026-01-24.logのような形式)。
30日以前のログファイルは自動的に削除されます(cron実行時にログローテーションが行われます)。
cron自動生成の設定が完了したら、第9章:画像管理
に進みましょう!