【AI×WordPress自動化連載】第5回 定期実行で毎日自動更新されるブログを完成させる

Python自動化

はじめに:連載もいよいよ最終回です

「AI×WordPress自動化連載」もついに第5回を迎えました。これまでの連載では、AIを使って記事のネタを考え、本文を自動生成し、WordPressへ投稿するところまでの流れを作ってきました。

しかし、せっかく自動化スクリプトを作っても、毎回自分の手でプログラムを実行していては「半自動化」にすぎません。今回のテーマは「定期実行」です。これを設定することで、あなたが寝ている間にもAIが記事を書き、ブログが毎日自動で更新される、真の自動化ブログが完成します。

初心者の方でも迷わないように、仕組みの基本から具体的な設定方法まで、順を追って丁寧に解説していきます。

①定期実行の仕組みを理解しよう

自動化スクリプトを「決まった時間に自動で動かす」ためには、いくつかの方法があります。まずは代表的な2つの仕組みを理解しておきましょう。

cron(クーロン)とは

cronとは、Linuxサーバーに標準で搭載されている「時間になったら処理を実行してくれる仕組み」のことです。たとえば「毎日朝9時にスクリプトを実行する」といった設定が可能で、レンタルサーバーやVPSでよく利用されています。

WP-Cronとの違いに注意

WordPressには「WP-Cron」という仕組みも用意されていますが、これは厳密には時刻ベースの実行ではなく、「サイトへのアクセスがあったタイミング」で予約処理をチェックする仕組みです。アクセス数が少ないブログでは実行タイミングがずれることがあるため、今回のような「確実に毎日実行したい自動投稿処理」には、サーバーのcronやクラウドサービスの定期実行機能を使う方が安定します。

②サーバーのcronを使って自動実行する方法

レンタルサーバーやVPSを利用している場合は、サーバーのcron機能を使うのが最も手軽です。

実行スクリプトを準備する

これまでの連載で作成した「AIで記事を生成してWordPressに投稿する」PHPスクリプトやPythonスクリプトを、サーバー上の決まったフォルダに設置します。例えば次のようなシンプルな構成です。

/home/your-user/scripts/auto_post.php

crontabを設定する

サーバーにSSH接続し、以下のコマンドでcronの設定画面を開きます。

crontab -e

開いた画面に、以下のように記述を追加します。

0 9 * * * php /home/your-user/scripts/auto_post.php >> /home/your-user/logs/auto_post.log 2>&1

これは「毎日9時0分にauto_post.phpを実行し、結果をログファイルに記録する」という意味です。レンタルサーバーによっては管理画面(コントロールパネル)からGUIでcronを設定できる場合もあるので、お使いのサーバーの管理画面も確認してみましょう。

③GitHub Actionsを使ったクラウド定期実行

「サーバーを借りていない」「VPSの管理が難しそう」という方には、GitHub Actionsを使った定期実行がおすすめです。無料枠の範囲内で手軽に自動化を実現できます。

ワークフローファイルを作成する

GitHubリポジトリ内に .github/workflows/auto_post.yml というファイルを作成し、以下のように記述します。

name: Auto Post to WordPress

on:
  schedule:
    - cron: '0 0 * * *'  # 日本時間 朝9時に相当

jobs:
  post:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'
      - name: Install dependencies
        run: pip install -r requirements.txt
      - name: Run auto post script
        run: python auto_post.py
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
          WP_USER: ${{ secrets.WP_USER }}
          WP_APP_PASSWORD: ${{ secrets.WP_APP_PASSWORD }}

GitHub Actionsのcron時刻はUTC(協定世界時)基準なので、日本時間に変換して設定する点に注意しましょう。

シークレット(秘密情報)の設定

APIキーやWordPressのログイン情報など、外部に漏らしてはいけない情報は、リポジトリの「Settings」→「Secrets and variables」→「Actions」から登録します。コード内に直接書き込まないようにすることが、セキュリティ上とても重要です。

④エラー対策と運用のコツ

定期実行を始めると、「気づかないうちに処理が失敗していた」ということが起こりがちです。安心して運用を続けるために、以下のポイントを押さえておきましょう。

実行ログを必ず残す

いつ・何が実行され・成功したか失敗したかを記録することは非常に重要です。サーバーcronの場合はログファイルへの出力、GitHub Actionsの場合は「Actions」タブから実行履歴とログを確認できます。

失敗時に通知を受け取る仕組みを作る

記事の自動投稿に失敗した場合、気づかずに何日も放置してしまうこともあります。Slackへのエラー通知や、メール送信APIを組み合わせることで、問題が起きたときにすぐ気づける体制を整えましょう。簡単な実装例としては、スクリプトの例外処理(try-except)内で通知APIを呼び出す方法があります。

AIの生成内容をたまにチェックする習慣を

完全自動化が完成しても、AIが生成する文章の品質は定期的に確認することをおすすめします。月に1〜2回程度、実際に公開された記事をチェックする時間を設けると、誤情報や不自然な表現を早期に発見できます。

まとめ:自動化ブログの完成、そしてその先へ

今回の記事では、これまで作成してきたAI記事生成・自動投稿の仕組みに「定期実行」を組み合わせることで、毎日自動更新されるブログを完成させる方法を解説しました。

  • cronとWP-Cronの違いを理解する
  • サーバーのcronで確実に処理を実行する方法
  • GitHub Actionsを使ったクラウドでの定期実行
  • エラー対策とログ・通知による安定運用

これで全5回にわたる連載は完結となりますが、自動化はここがゴールではなくスタート地点です。記事の品質向上、SEO対策の自動チェック、画像生成AIとの連携など、まだまだ発展させられる余地はたくさんあります。ぜひ今回作った仕組みを土台に、あなたらしい自動化ブログを育てていってください。

\ 高速WordPress環境を構築するなら /

【15日間無料】コアサーバーでWordPressを始める >

タイトルとURLをコピーしました