プラグインの更新、デプロイの準備、クライアントへのステータスメール送信など、自動化できる業務に何時間も費やしているWeb制作会社は多数存在します。このような単調なタスクは、貴重な時間を浪費するだけでなく、ヒューマンエラーのリスクも高めます。

賢く自動化を導入すれば、作業時間を削減し、ミスを低減し、本業である制作業務により集中できるようになります。さらに新規サイトの立ち上げや変更の反映のたびに、ゼロからプロセスを構築する必要もなくなるため、ビジネスのスケールアップも容易になります。

今回は、WordPress Web制作会社向けに以下のワークフローの自動化戦略をご紹介します。

  • Gitベースのバージョン管理
  • テストとデプロイの自動化
  • ローカル開発環境からステージング/本番環境への移行
  • Kinsta APIを使った更新、ヘルスチェック、エラー処理の自動化
  • プロジェクト管理システムなどのツールへのワークフロー接続
  • オンボーディングと公開を処理する社内オートメーションの設定

Gitベースの自動化ワークフロー

Gitは、チームの技術レベルを問わず、WordPress Web制作会社の標準ツールになり、コードの整理、共同作業の効率化、問題発生時のロールバックなどが実現可能です。

またGitHub DesktopGitKrakenなどのビジュアルツールによって、開発者でなくてもコマンドラインを使わずに作業内容を理解し、関与できます。

GitHub ActionsやGitLab CI/CDを使った自動化

Gitを導入したら、GitHub ActionsやGitLab  CI/CDなどの自動化ツールを組み合わせて、繰り返しタスクの処理を自動化しましょう。

プッシュのたびに必要なテストやコード品質チェックを効率化し、mainへのプッシュやプルリクエストのマージといったブランチのアクティビティに応じたデプロイをトリガーすることができます。

コードがステージング環境に到達する前にアセットのコンパイルや依存関係のインストールを行いたい場合は、composer installnpm run buildのステップをパイプラインに追加するだけでOKです。これにより手作業によるタッチポイントを極力減らし、スピード・信頼性・一貫性の高いデプロイを実現できます。

以下は、WordPressプロジェクトの依存関係インストール、コード品質チェック、アセットビルドを行うGitHub Actionワークフローの例です。

name: CI for WordPress

on:
  push:
    branches:
      - main
      - staging
  pull_request:

jobs:
  build-and-test:
    runs-on: ubuntu-latest

    steps:
      - name: コードを確認
        uses: actions/checkout@v4

      - name: PHPを設定
        uses: shivammathur/setup-php@v2
        with:
          php-version: '8.2'
          extensions: mbstring, intl, mysqli
          tools: composer

      - name: composer.jsonを検証し、依存関係をインストール
        run: |
          composer validate
          composer install --no-interaction --prefer-dist

      - name: PHPCSを実行
        run: vendor/bin/phpcs --standard=WordPress ./wp-content/

      - name: Node.jsを設定
        uses: actions/setup-node@v3
        with:
          node-version: '18'

      - name: フロントエンドアセットのインストールとビルド
        run: |
          npm ci
          npm run build

      # 任意: SSHまたはKinsta API/Webhook経由でここにデプロイメントステップを追加
      # - name: Deploy to staging/production
      #   run: ./deploy.sh

Kinsta との互換性

Kinstaをご利用の場合、これらのワークフローへの接続に環境を整える必要はありません。SSHアクセスが組み込まれているため、GitリポジトリやCI/CDパイプラインから直接デプロイ可能です。

WP-CLIもサポートしているため、キャッシュのクリア、プラグインの有効化データベースの更新など、デプロイ後のタスクを簡単にスクリプト化できます。

Gitを使ってワークフローを構造化し、さらに自動化を組み合わせることで、すべての工程を支える基盤を確保することができます。

デプロイパイプラインの自動化(開発から本番まで)

信頼性の高い開発パイプラインは、Web制作会社がサービスの質を損なうことなく効率的に作業を進めるのに欠かせません。リリース直前のトラブルを回避し、予測可能なテスト・レビュー・公開のプロセスを実現することができます。適切なツールがあれば、ローカル開発から本番稼働まで、摩擦を最小限に抑えながら(同じことを繰り返すことなく)進行可能です。

ローカル開発ツールを使用する

DevKinstaを使用すると、本番環境と同じWordPressローカル環境を簡単に立ち上げることができます。

DevKinstaはローカルWordPress環境の作成に便利
DevKinstaはローカルWordPress環境の作成に便利

ローカルデータベース、SMTPサーバー、エラーログが組み込まれているため、問題を早期に発見し、プラグインの互換性をテストして、ステージング環境に同期する前に単独で機能を開発することができます。

また、デフォルトでメールをブロックするため、誤ってテストメッセージを実ユーザーに送信してしまう心配もありません。準備が整い次第、数回のクリックでKinstaのステージング環境に変更を反映可能です。

ComposerとWP-CLIによる依存関係管理の自動化

複数のクライアントサイトを管理していると、プラグインのバージョンがすぐにずれてしまうのは良くあること。Composerはプラグインやテーマをコードの依存関係として扱うため、この問題を解決することができます。バージョンを固定し、一貫性を保ち、デプロイ時にすべてを自動インストールするため、手動でzipファイルをアップロードする必要がなくなります。

WP-CLIは、繰り返し作業をスクリプト化することでさらに効率を高めてくれます。プラグインの有効化、デモコンテンツのインポート、オプションの更新、カスタムコマンドの実行などに便利です。ComposerとWP-CLIを併用すれば、WordPressサイトの構築・管理ワークフローがより一層効率化されます。

以下は、デプロイ後に実行する簡単なスクリプトです。Composerの依存関係をすべてインストールし、WP-CLIを使って各プラグインを有効化し、サイト設定も自動で更新してくれます。

#!/bin/bash

# エラーが発生した場合は終了

set -e

# Composerの依存関係(プラグイン/テーマ)をインストール

composer install --no-dev --prefer-dist

# WP-CLI経由でインストール済みの全プラグインを有効化

wp plugin list --field=name | while read -r plugin; do

wp plugin activate "$plugin"

done

# 任意: サイトオプションをプログラムで設定

wp option update blog_description "自動化した高速WordPressビルド"

各プロジェクトでこれを再利用すれば、一貫した環境を保ちながら作業量を減らし、品質保証チームやコンテンツチームへの引き継ぎを素早く行うことができます。

Kinsta環境へのデプロイ

コードをテストした後のデプロイは、Git+SSHで手動実行することも、CI/CDパイプラインで自動化することも可能です。Kinstaのステージング環境は、本番稼働前に変更を検証できる安全なスペースを提供します。問題が発生しても、ロールバックやバックアップからの復元が簡単です。

ローカルからステージング、本番へと進むこの構造化されたパイプラインは、作業を加速し、ストレスを軽減します。チームにとっても、クライアントにとっても、プロジェクトを理解しやすくなり、立ち上げがよりスムーズに進みます。

プラグインとテーマの更新を自動管理

プラグインテーマの更新は、特に数十(または数百)ものクライアントサイトを管理している場合、想像以上に時間を消耗することになる業務のひとつです。手作業で行う場合、ほぼ毎日対応が必要になります。これも正しく自動化すれば、信頼性の高いバックグラウンドプロセスにできます。

Kinstaのプラグイン自動更新

Kinstaには、サイトごとにプラグインとテーマの自動更新を有効化する機能があります。専用コントロールパネルであるMyKinstaから状況を確認できるため、何がいつ更新されたのかを常に把握できます。慎重に進めたいプロジェクトは、ロールアウトを遅らせたり、特定のプラグインを自動更新から除外したりすることも可能です。

事前にステージング環境で更新をテストすることもできるため、プラグインの新しいバージョンを反映する際に本番サイトで問題が生じるリスクも回避できます。ワークフローを改善するスマートな保護レイヤーとして機能します。

更新ワークフローにKinsta APIを使用する

多数のクライアントサイトで更新作業を行う場合は、Kinsta APIを使って更新のトリガー、プラグインのバージョン確認、問題スキャンなどを行うカスタムスクリプトを構築できます。

例えば、以下のようなスクリプトを作成すると便利です。

  • コードのデプロイ完了後に更新をトリガー
  • ヘルスチェックを実行し、プラグインの更新に失敗した場合は警告を送信
  • 手動レビューが必要な場合、プロジェクトマネージャーにメールを送信

これにより、可視性を保ちながら繰り返しタスクを自動化することができます。

以下は、ステージング環境の全プラグインを更新するためにKinsta APIを呼び出す簡単なシェルスクリプトの例です。

#!/bin/bash

# 以下は実際の値に置き換えてください

KINSTA_API_TOKEN="your_kinsta_api_token"

SITE_ID="your_site_id"

ENVIRONMENT="staging" # or "production"

curl -X POST "https://api.kinsta.com/v2/sites/$SITE_ID/environments/$ENVIRONMENT/wordpress/plugins/update" 

-H "Authorization: Bearer $KINSTA_API_TOKEN" 

-H "Content-Type: application/json"

これを元に更新ログの確認、警告の送信、更新後のテストのためのWP-CLIとの連携なども可能です。サイトの安定性と安全性を維持しながら、手作業による更新作業を賢く減らす方法になります。

シェルスクリプトとKinsta APIを活用したWordPressサイト管理のヒントはこちらでご紹介しています。

プロジェクト管理ツールとワークフローの接続

コーディングの自動化だけでなく、技術的なワークフローをプロジェクト管理ツールと連携させることで、さらに業務が効率化されます。適用した変更を確実に追跡し、ToDoの漏れを防ぎ、開発者以外のメンバーが状況を把握できるようになります。

Gitとプロジェクト管理ツール間でタスクを同期

GitHubやGitLabAsanaやTrelloなどのツールに接続すれば、誰かがプルリクエストを開いたり、デプロイを完了したり、本番ブランチにプッシュするたびに、チームのプロジェクトボードに新たなタスクやコメントが自動追加されるようになります。

また、組み込みの統合機能を使っていなくても、ZapierやMakeなどのツールを活用すれば、プラグインの更新が失敗したり、デプロイがブロックされたりした場合、レビュー用のフラグ付きタスクを自動作成することができます。

クライアントへの情報共有の自動化

クライアントへの情報共有にも非常に有用で、サイトの更新作業を開始した際、リビジョンのレビューが可能になった際、フィードバックが必要になった際など、自動通知を設定することができます。

Slackメッセージやメール、プロジェクト管理ツールへのコメントなどは、Gitやサーバーのワークフローイベントに基づいて自動でトリガーできます。これにより、常に先回ったコミュニケーションを取ることができ、クライアントがプロジェクトの進行状況を把握しやすくなり、さらに何かがあるたびに個別に連絡を取る必要がなくなります。

Web制作会社内部のプロセスの自動化

社内での業務は、開発業務と同様に繰り返しが多いもの。新規クライアントのセットアップ、ファイル共有、システム間でのタスク移動なども自動化することで、収益に直結する本業に集中する時間を増やすことができます。

Zapier、Make、Uncanny Automatorの使用

Zapier、Make、Uncanny Automatorのようなツールを使えば、カスタムコードを書かずにWordPressを他の技術スタックに接続できます。システムの橋渡しや、WordPressサイト内で起きていることに基づいた以下のようなアクションのトリガーに最適です。

  • 誰かがお問い合わせフォームに入力するたびにTrelloカードを生成
  • ブログ記事の公開時にSlackチャンネルに通知を送信
  • 新たなプロジェクトが始動したらGoogle Driveのフォルダを生成

単純な自動化ですが、特に複数のクライアントと成果物を扱う場合は、作業量と手順を見落とすリスクを減らすことができます。

クライアントオンボーディングの自動化

クライアントのオンボーディングも自動化しない手はありません。HubSpot、Zoho、PipedriveなどのCRMを社内システムに導入すると、案件が「成立」とマークされるたびに、新規サイトのセットアップが開始され、ベースとなるテーマ、必須プラグイン、デモコンテンツ、アセット用の共有フォルダが生成されるといったような自動化が可能です。

HubSpotは包括的なCRMとして便利
HubSpotは包括的なCRMとして便利

Kinsta API、WP-CLIスクリプト、自動化プラットフォームを組み合わせれば、このようなワークフローの立ち上げは簡単です。一度ワークフローが確立すれば、その後セットアップにかかる時間が大幅に削減され、より価値の高い業務に専念することができます。

公開ワークフロー

コンテンツの公開に自動化を取り入れることもできます。Uncanny Automatorのようなツールを使えば、フォーム送信に基づいてコンテンツを自動スケジューリングしたり、草稿の準備ができたら編集者に通知したり、コンテンツが公開された際にSNSに情報をプッシュしたりすることが可能です。

このワークフローは小さいながらとても効果的です。プロセスの一貫性を保ち、コンテンツマーケティング、開発のすべてが連携する必要がある状況で、役割間の手作業での調整を最小限にすることができます。

監視、ログ、復元の自動化

すべてが稼動したら、続いては監視復元作業。特に数十ものクライアントサイトを管理している場合、このステップはデプロイと同じくらい重要になります。適切にセットアップを行えば、何か不備が起きた際もすぐに通知を受け取り、素早く修正することができます。

ヘルスチェックとエラー検出

Kinstaには、サーバーレベルの監視と通知機能が組み込まれているため、サイトがダウンしたり、異常な動作が見られたりした場合は、すぐに把握することができます。より広範囲、特に利用者の視点から監視するには、Better UptimeStatusCakeのような外部ツールの併用がおすすめです。定期的にサイトへpingを送信し、異常が発生するとSlack、メール、SMS経由で通知が送信されます。

さらに、これらのチェックをデプロイプロセスに組み込み、デプロイ後のテストが失敗した際に自動でタスクやロールバックをトリガーすることもできるため、複数サイトの同時更新や営業時間外のデプロイに特に有用です。

wPoweredは、頻発するパフォーマンス問題とサーバー環境の継続的な課題を抱えており、280以上のサイトネットワークの拡張に苦労していました。トラブルシューティングへの対応にも手を焼いていましたが、Kinstaへの移行後、内蔵のAPMツール、MyKinsta、そして24時間年中無休で利用できるサポートを活用し、ボトルネックを迅速に特定できるように。

wPoweredはKinstaのAPMツールとMyKinstaを使ってサイトパフォーマンスの改善に成功
wPoweredはKinstaのAPMツールとMyKinstaを使ってサイトパフォーマンスの改善に成功

加えて、WordPressのcronジョブ(WP-Cron)のクリーンアップやテーマリソースの最適化などの改善を行った結果、サイトの稼働率と安定性が高まり、パフォーマンスが向上しました。

バックアップとロールバックの自動化

大きな更新を行う際には、必ずバックアップを作成しましょう。一見当たり前ですが、作業が立て込んでいると忘れてしまうこともしばしば。Kinstaでは、MyKinstaかAPIを使って、デプロイ直前やステージングから本番への同期時にバックアップをトリガーできます。

問題が発生しても、ワンクリックで復元可能です。バックアップと復元の手順をスクリプトやCI/CDパイプラインに組み込めば、ロールバックがワークフローに自然に組み込まれ、クライアントからの連絡に慌てる必要がなくなります。

復元作業の自動化は、安心感の確保とクライアントとの信頼関係を構築に欠かせません。

まとめ

何十ものサイト更新や立ち上げ、クライアントとのやり取りを同時進行で進めていると、ちょっとした非効率が積み重なっていくのは良くあること。自動化を導入することで、業務効率を大幅に改善することができます。

Gitベースのデプロイからプラグイン更新、オンボーディングから監視まで、スマートなワークフローを構築すれば、混沌とした作業を一貫性のあるプロセスに変え、成果につながる業務に集中することができます。

Kinstaでは、このいった自動化の構築と管理が容易です。ローカル開発ツールのDevKinsta、サイト管理を効率化するMyKinsta、カスタムワークフロー用の強力なAPIなど、必要なツールを揃えています。5サイトであっても50サイトであっても、無理なく自動化を実現することが可能です。

チームに無駄な負荷がかかるのを避け、ビジネスをスムーズに拡張するなら、Kinstaをお試しください。KinstaのWordPress専用マネージドクラウドサーバーの詳細はこちらでご覧いただけます。

Jeremy Holcombe Kinsta

Kinstaのコンテンツ&マーケティングエディター、WordPress開発者、コンテンツライター。WordPress以外の趣味は、ビーチでのんびりすること、ゴルフ、映画。高身長が特徴。