第8章:キーワード自動記事生成(cron設定)

第8章:キーワード自動記事生成(cron設定)

この章では、キーワードから自動的に記事を生成する「キーワード自動生成(cron設定)」の設定方法と運用について説明します。


8-1. cron自動生成とは

cron自動生成の仕組み

cron自動生成は、登録したキーワードから自動的にAI記事を生成する機能です。

動作の流れ:

  1. レンタルサーバー側で設定したcronが、登録した時刻に実行される
  2. 「キーワード自動生成」画面に登録した、有効で未生成のキーワードを1件取得(生成順序は設定で変更可能)
  3. Perplexity APIでリサーチ
  4. AIで記事を生成
  5. アイキャッチ画像・記事内画像を生成(設定による)
  6. 記事の整合性チェック(設定がONの場合)
  7. 記事を保存(公開 or 下書き)
  8. 公開時は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:自動投稿を有効にする

はじめは自動投稿が「無効」になっています。ダッシュボードでオンにします。

  1. 管理画面のトップ(ダッシュボード)を開く
  2. 画面上部の「自動投稿」カードを確認
  3. 右側のトグルスイッチをクリック
    • ON(緑色):有効バッジが表示されます
    • OFF(灰色):無効バッジが表示されます
  4. 「自動投稿を有効にしました」と表示され、設定が保存されます

「設定」→「自動投稿」タブの「自動投稿を有効にする」にチェックを入れて保存しても、同じようにオンにできます。

注意

自動投稿がOFFの場合、サーバーのcronが実行されても記事は生成されません(cronログには「自動投稿が無効に設定されています」と記録されます)。
必ずONにしてください。

ステップ2:サーバーのcron設定

サーバーのコントロールパネルから、定期実行の設定を行います。

登録するコマンドは、管理画面に表示されます:

  1. 管理画面の左メニューから「設定」をクリック
  2. タブメニューから「自動投稿」をクリック
  3. 「方法1:サーバーの「cron(クロン)」で設定する」に、あなたのサイト用のコマンドが表示されます
  4. お使いのサーバーを判定できたときは「お使いのサーバーはこちらの可能性が高いです」と表示されます。「コピー」ボタンでコピーして、サーバーの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のスケジュールを設定することで、ブログの投稿時間を調整できます。
以下に、設定例を掲載しますので、自分のお好みの設定をしてみてください。

 

■ ロリポップの場合
  1. ロリポップのコントロールパネルにログインし、「サーバーの管理・設定」>「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を登録し直してください
■ さくらのレンタルサーバの場合
  1. さくらのコントロールパネルにログインし、「スクリプト設定」>「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の回数より投稿が少なくなることがあります。

ダッシュボードで確認する

  1. 管理画面のトップ(ダッシュボード)を開く
  2. 統計カードで以下を確認:
    • 全記事数:増えているか
    • 公開中:増えているか
    • 自動投稿:ONになっているか
  3. 「最近の記事」カードで新しい記事を確認
    • AIバッジが表示されます

8-3. cronログの確認方法

cron自動生成の実行状況を詳しく確認できます。

システム情報ページで確認する

最も簡単な確認方法です。

  1. 管理画面の左メニューから「システム」 → 「システム情報」をクリック
  2. ページをスクロールして「cron実行ログ(全期間、最新500件)」カードを確認
  3. ログの内容を確認:
    • 新しい行ほど上に表示されます
    • 赤色の行:エラーが発生した箇所
    • タイムスタンプ:実行日時

ログの見方

ログには以下のような情報が記録されます:

正常な実行の例:

[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に変更してください

診断レポートをダウンロードする

より詳細な情報が必要な場合:

  1. システム情報ページの上部にある「診断情報をダウンロード」ボタンをクリック
  2. テキストファイル(diagnostic-report-YYYYMMDD-HHMMSS.txt)がダウンロードされます
  3. ファイルには以下が含まれます:
    • システム環境情報
    • データベース統計
    • 設定情報(APIキーはマスキング済み)
    • cronログ(最新500件)
  4. サポートへの問い合わせ時にこのファイルを添付すると、スムーズに対応できます

注意

診断情報にはシステム環境情報が含まれます(APIキーはマスキング済み)。
サポートへの送信以外は共有しないでください。

ヒント

cronログは毎日新しいファイルに記録されます(cron_2026-01-24.logのような形式)。
30日以前のログファイルは自動的に削除されます(cron実行時にログローテーションが行われます)。


cron自動生成の設定が完了したら、第9章:画像管理
に進みましょう!

→ 第9章へ

コメントは受け付けていません。