AIを活用すれば、午後の数時間だけでWordPressプラグインを開発することも可能です。例えば、フォームから送信された情報をクライアントのCRMに登録し、確認メールを自動送信するプラグインを開発したとします。クライアントにデモを見せたところ、好評で、金曜日までに公開できないかと相談されました。
しかし、本番公開までには、まだ確認すべきことが残っています。フォームが二重送信された場合や、CRMから応答がない場合の処理は適切か。プラグインの設定を変更できるユーザーは制限されているか。これまで管理者アカウントでしかテストしていないため、ほかの権限を持つユーザーでも動作を確認する必要があります。また、開発担当者が不在でも、ほかのメンバーが問題に対処できるよう、必要な情報を共有しておくことも欠かせません。
AIのおかげで開発時間は大幅に短縮できたものの、完成したプラグインの運用と保守は、制作会社が責任を持って行わなければなりません。AIによって開発が容易になるほど、動作確認や保守に想定以上の時間がかかることもあります。
今回は、AIを活用した開発で新たに発生する作業と、それが工数の見積もりに与える影響を取り上げます。また、AIによって削減できた時間を有効に活かすための業務プロセスやサーバー環境の整え方についても見ていきます。
開発が効率化されても、作業量が減るとは限らない
最近では、AIの活用によって、開発の初期段階から作業を効率化できます。大まかな要件をもとに関数のコードを生成したり、デザイナーが一つひとつ手作業で作成することなく複数のレイアウトを試したり、ライターが記事の下書きを作成したりできます。
こうした作業をAIに任せることで、かなりの時間を節約できます。例えば、開発者が定型的な文章や手順の作成に費やす時間が減れば、その分、複雑な互換性の問題を調査する時間を確保できます。ただし、それにはスケジュールに余裕を持たせることが前提です。
Googleが2025年に実施したDORA調査では、回答者の80%以上がAIによって生産性が向上したと感じており、AIの導入とソフトウェアのリリース頻度にも正の相関が見られました。その一方で、AIの導入とリリースの安定性には負の相関も確認されています。これらはあくまで相関関係であり、因果関係を示すものではありませんが、開発スピードだけでは成果を十分に評価できないことがわかります。
冒頭のCRM連携プラグインを例に挙げると、フォームの送信内容をクライアントのCRMに反映させる機能自体は、比較的短時間で実装できます。しかし、すでにCRMに登録されているメールアドレスでフォームが送信された場合、既存の連絡先情報を更新するのか、そのままにするのか、それとも新規レコードを作成するのかを決めておく必要があります。フォームが二重送信された場合の処理も含め、営業チームの実際の業務に合わせた設計が求められます。
そのためには、クライアントへの確認や追加のテストが欠かせません。こうした作業も、あらかじめ工数に含めておくことが重要です。AIによってコーディング時間が短縮されたからといって、その分だけ納期を前倒しすると、機能が本番公開に耐えられるかを確認する時間が不足してしまいます。
開発後のレビューと連携確認が重要
今度は、営業担当者の立場でフォーム送信後の流れを確認してみましょう。CRMには新しい連絡先が登録されていますが、フォローアップメールの受信に同意したかどうかは記録されていません。プラグインはエラーなくデータを送信できているものの、営業チームがその情報を活用するために必要な項目が抜け落ちています。
まずは、WordPressとCRMのそれぞれで、どのような動作や結果が求められるのかを明確にし、実際のサイトで正しく機能するかを確認します。制作会社によっては、設定項目の配置場所、認証情報の保存方法、使用するフック、エラーの記録方法などについて、独自の開発ルールを設けている場合もあります。こうしたルールに従って実装することで、後から担当する開発者もコードの仕組みを理解しやすくなります。
また、WordPressの管理画面でプラグインの設定ページが表示されないユーザーでも、不正なリクエストを送信して設定を変更できてしまう可能性があります。WordPressのユーザー権限を確認する際は、管理画面に表示される項目だけでなく、コード側でも情報の取得や変更時に適切な権限チェックが行われているかを確認する必要があります。あわせて、サイトから外部に送信されるデータの内容や、ログに個人情報などの機密情報が記録されていないかも確認しましょう。
フォームとCRMの連携では、プラグイン単体の動作だけでなく、関連する処理全体を確認することが重要です。
- フォームの各入力項目が、CRMの正しいフィールドに反映されるか
- 別のプラグインから同じデータが重複して送信されていないか
- 必須項目が入力されていない場合に、適切に処理されるか
- 個人情報を漏らすことなく、送信に失敗したデータを確認できるか
AIは、こうした確認作業にも役立ちます。要件を伝えて、見落としている可能性のある問題を洗い出したり、テストコードを作成したりできます。ただし、最終的な動作確認は別途行う必要があります。実装時と同じ前提に基づいたテストだけでは、潜在的な問題を見逃してしまうおそれがあるためです。
機能を引き渡す前には、別の開発者に仕組みを説明してもらい、問題が発生した場合にどこを調査するかを確認するのも効果的です。説明が難しい部分や不明点があれば、コードやドキュメントを改善する手がかりになります。
大切なのは、開発チームが仕組みを十分に理解し、責任を持って運用・保守できる状態にしておくことです。
開発が容易になるほど、保守の負担が増える
例えば、クライアントから、別の拠点のサイトにも同じ問い合わせフォームを設置したいと依頼されたとします。既存のフォームをコピーするだけで済みそうに思えますが、新しいフォームからの問い合わせは別の営業担当者に割り当てる必要があります。そこで、プラグインを複製し、担当者の設定を変更します。どちらのフォームも問題なく動作していますが、その後、元のプラグインで連絡先が重複登録される不具合を修正した場合、もう一方のサイトにも同じ修正を適用しなければなりません。
社内向けに作成した簡単なスクリプトが、いつの間にか継続的な保守を必要とすることもあります。例えば、アカウントマネージャーからの依頼で、CRMから未対応の問い合わせを毎週金曜日にCSV形式で出力するスクリプトを作成したとします。翌週の金曜日にも同じスクリプトが使われ、その後も定期的に利用されるようになりました。スクリプトは自分のパソコンに保存され、自分の認証情報で実行する仕組みですが、今ではアカウントマネージャーがクライアントとの打ち合わせに備えるために欠かせないツールになっています。
開発担当者が不在の間にCRMの認証トークンが期限切れになっても、他のメンバーが対応できるようにしておく必要があります。そのためには、スクリプトの保存場所やトークンの更新方法を共有し、CSVにデータが出力されなかった場合にも、エラーの原因を調査できる仕組みを整えておくことが重要です。
複数のWordPressサイトを管理する場合は、各サイトで使用しているプラグインのバージョン、コードの保存先、保守担当者を記録しておきましょう。CSV出力用のスクリプトなども管理対象に含めます。
先ほどの2つの問い合わせフォームについては、営業担当者のIDを設定で変更できるようにすれば、プラグインを複製せずに済むかもしれません。これなら、連絡先の重複登録に関する不具合を一度修正し、各サイトに反映するだけで済みます。複製したプラグイン同士の変更内容を比較する手間もなくなります。
試験的に作成したツールについても、定期的な見直しが必要です。CSV出力やレポート作成用のスクリプトが今も使われているか、確認する日をあらかじめカレンダーに登録しておきましょう。不要になったものは、更新や保守を続けるのではなく、運用を終了することも大切です。
AIを活用すれば、これまで以上に多くのツールや機能を開発できます。その一方で、開発したものを継続的に保守するための時間も確保しておく必要があります。
デモが成功しても、本番公開前の確認は必須
CRM連携プラグインのデモで、フォームから送信した情報がCRMに正しく登録されることを確認し、クライアントから承認を得られたとします。しかし、それだけで本番公開の準備が整ったわけではありません。既存の顧客がフォームを送信した場合や、複数のリクエストが同時に届いた場合、CRMで認証エラーが発生した場合など、さまざまな状況を想定したテストが必要です。
こうした問題を本番公開前に発見するには、以下のような一定の手順に沿ってテストとリリースを行うことが重要です。
- 本番環境に近いテスト環境を用意する:WordPressのステージングサイトを使用し、関連するプラグインや設定、ユーザー権限を本番環境に合わせる。テストには架空のデータや適切に匿名化したデータ、CRMのテストアカウントを使用し、実際の見込み顧客に連絡が送信されないようにする。
- 一連の動作を確認する:サイト訪問者としてフォームを送信し、CRMに正しくデータが登録されるか、確認メールが届くかをチェック。新規の連絡先だけでなく、既存の連絡先でもテストを行い、他のフォームや定期実行される処理に影響がないかも確認。
- ステージング環境で異常なケースをテストする:フォームの二重送信、必須項目の未入力、無効な認証情報の使用など、意図的にエラーが発生する状況を再現する。CRMの応答を遅延させたり、複数のフォームを同時に送信したりするテストも有効。エラーが発生したらログを確認し、コードを詳しく知らない担当者でも原因を特定できる情報が記録されているかを確かめる。
- 変更を元に戻す手順を決めておく:コードはバージョン管理を行い、関連する設定やデータベースの変更内容も記録。問題が発生した場合に機能を無効化する方法も確認しておく。バックアップからの復元が必要になる場合は、復元対象のデータと、復元によって上書きされる可能性のある新しいデータを把握しておくことが重要。
- 本番公開後の確認時間を確保する:公開後にもテスト送信を行い、CRMに正しく反映されるかを確認。その後もエラーが発生していないか監視する必要がある。公開前に、これらの確認を誰が担当するのか、どのような問題が発生したら公開作業を中断するのかを決めておく。連絡先がCRMに登録されなかった場合も、担当者が対応を迷わず判断できる状態にしておくことが大切。
このような外部サービスとの連携では、バックアップからの復元にも注意が必要です。WordPressをバックアップから復元しても、すでに送信された確認メールを取り消したり、CRMに登録された連絡先を自動的に削除したりすることはできません。そのため、復旧手順には、外部サービス側で発生した変更を確認し、必要に応じて修正する方法も含めておきましょう。
リリース手順は変更内容の規模や影響に応じて調整できます。ただし、AIを使えば数分でコードを生成できるからといって、テストや確認作業まで省略してはいけません。コードの生成にかかった時間と、その機能が及ぼす影響の大きさは別の問題です。
公開後も継続的な運用・監視が必要
例えば、クライアントの営業担当者がCRMの設定を変更し、会社名の入力を必須にしたとします。しかし、WordPressの問い合わせフォームには、名前とメールアドレスの入力欄しかありません。この状態で見込み顧客がフォームを送信すると、WordPress側では正常に処理され、送信完了のメッセージが表示されます。一方、CRM側では会社名が不足しているため、データの登録が拒否されてしまいます。その結果、営業チームに問い合わせが届かないという問題が発生します。
こうした問題は、通常の稼働監視では検出できない場合があります。ページが正常に表示され、サイト訪問者から見てフォームが問題なく動作していても、CRMへのデータ送信は失敗している可能性があります。そのため、プラグインには「送信ID 1842:会社名は必須項目です」のように、問題の特定に役立つエラー情報を保守担当者に通知する仕組みが必要です。
これにより、開発者はエラーの記録を確認し、フォームへの会社名フィールドの追加やCRMとのフィールドの対応付けを修正できます。また、会社名が入力されていない問い合わせをどのように処理するか、クライアントに確認することもできます。
問題がいつ発生したのかを把握できるよう、変更履歴やエラーの記録を残しておくことも重要です。例えば、通常は1秒以内に応答するフォームが、アップデート後に6秒かかるようになったとします。アプリケーションパフォーマンス監視(APM)を利用すれば、リクエストの処理内容を詳しく調べられます。CRMへの通信に5秒かかっていることがわかれば、調査すべき箇所を絞り込めます。ただし、実際にCRMを開き、テスト送信した連絡先が正しく登録されているかも確認する必要があります。
ここで区別しておきたいのが、AIを使って機能を開発することと、公開後の機能自体にAIを組み込むことの違いです。AIを使ってCRM連携プラグインを開発したとしても、完成したプラグインはAIモデルを使用せず、通常のPHPコードだけで動作する場合があります。
プラグインにAIモデルを組み込み、問い合わせ内容を自動分類する機能も追加する場合は、管理すべき項目が増えます。適切な分類結果の具体例を用意し、誤った分類を検出する仕組みや、APIの利用コストを監視する方法を整える必要があります。また、APIから正常な応答が返ってきたからといって、分類結果まで正しいとは限らないため、AIプロバイダーやモデルの変更に伴う影響を確認する手順も欠かせません。
AIによる開発の効率化が制作会社の見積もりや料金設定に与える影響
AIの活用によって開発時間が短縮されれば、クライアントがその恩恵を期待するのは当然です。実装に必要な作業が減ったのであれば、その分を見積もりに反映するべきでしょう。実際には発生しなくなった作業時間まで従来どおりに請求する必要はありません。
問題は、「短時間で開発できるのだから、ほかの作業もすぐに終わるはず」と考えられてしまうこと。完成した機能のデモだけを見ているクライアントには、その裏で必要になるテストや保守の工数が見えにくいものです。
こうした認識のずれを防ぐには、提案書や見積書で作業範囲を明確に分けておくことが重要です。今回のCRM連携機能であれば、例えば以下のように整理できます。
- 機能の実装: 合意したフォームの入力項目、連絡先の登録・更新処理、確認メールの送信機能など
- テストと本番公開: 互換性の確認、エラー発生時の動作テスト、本番環境への反映、公開後の動作確認など
- 引き継ぎ: 仕様や操作方法のドキュメント作成、保守担当者の決定、問題発生時の復旧手順の共有など
- 継続的な保守・サポート: 稼働監視、アップデート、トラブルシューティング、対応時間などの取り決め
また、プラグインにAIモデルを組み込み、問い合わせ内容を自動分類する場合は、AIサービスの利用料金も見積もりに含める必要があります。クライアント自身のアカウントで支払うのか、それとも制作会社が月額料金に含めて請求するのかを決めておきましょう。月額料金に一定の利用枠を含める場合は、利用量が増えて上限を超えた際の追加料金についても明確にしておくことが大切です。
公開後の仕様変更についても、同様に対応範囲を明確にしておく必要があります。例えば、問い合わせデータの送信先を別のCRMに変更する場合、新しいAPIの仕様を調べ、データが正しく連携されるかをテストしなければなりません。こうした作業は別途見積もりを行い、「フォームのちょっとした変更」という依頼が、際限なく作業範囲を広げることのないようにしましょう。
保守契約では、独自開発したプラグインがサポート対象に含まれるかどうかも明記しておきます。CRM側のAPIが変更され、フォームからの問い合わせが届かなくなった場合、その修正が月額の保守料金に含まれるのか。クライアントだけでなく、実際に対応する開発者も事前に把握しておく必要があります。
また、プラグインの公開後も、プロジェクトのタスクに作業時間を記録し続けましょう。例えば、AIを使ったコーディングに2時間、テストに4時間、翌週に発生した連絡先の重複登録の修正に2時間かかったとします。合計8時間という実績は、今後、類似するプラグインの開発費用を見積もる際の参考になります。
AIによって実際にどれだけ時間を節約できたかは、この8時間を従来の同様の作業にかかっていた時間と比較することで判断できます。
チーム全体で使い慣れた管理環境を整える
クライアントから「問い合わせがCRMに届いていない」と報告があった場合、対応する開発者がすぐに調査を始められる環境が必要です。サイトごとにサーバーの管理画面やバックアップの手順、ログの確認方法が異なると、その都度操作方法を調べなければならず、対応に余計な時間がかかってしまいます。
Kinstaでは、独自のコントロールパネル「MyKinsta」を通じて複数のクライアントサイトを一元管理し、チーム全体で共通の管理環境を利用できます。そのメリットは、日々の運用業務で特に実感できます。
例えば、CRM連携プラグインを修正する際は、ステージング環境を利用することで、本番サイトのフォームに影響を与えずに動作を確認できます。ただし、機能の動作確認と実際のアクセス負荷を想定したテストでは、必要なサーバーリソースが異なるため、テスト内容に適した環境を選ぶことが重要です。
本番公開前には、利用可能なバックアップと復元のオプションを確認し、問題が発生した場合にどの時点の状態へ戻すかを決めておきます。その際、データベースの復元によって新しい問い合わせデータが上書きされる可能性や、すでにCRMへ送信されたデータは復元の対象外であることも考慮する必要があります。
問題の調査には、MyKinstaに組み込まれているKinsta APMツールが便利です。処理に時間がかかっているPHPの実行、データベースクエリ、外部サービスへのリクエストなどを特定できます。さらに、ログや分析データを確認することで、エラーの発生状況やアクセス数、リソース使用量の変化も把握できます。

また、MyKinstaのマルチユーザー機能を使えば、ログイン情報を共有することなく、チームメンバーごとに適切なアクセス権限を付与できます。複数のクライアントサイトを一元管理することで、サイト間の移動もスムーズになり、共通の手順に沿ってサポート業務を進められます。

もちろん、変更を承認する基準や、どのような問題に対応すべきか、誰が対応を担当するかは自社で決める必要があります。管理環境が統一されていれば、こうした判断に基づく作業もスムーズに進められます。
AIの活用によって開発や変更の機会が増えるほど、チーム全体が使い慣れた環境でテストや本番公開、トラブルシューティングを行えることが、日々の業務効率化につながります。
AIを活用した開発を始める前に確認したいこと
AIを使えば短時間で実装できる機能でも、クライアントに納期を約束する前に、完成後の運用について考えておきましょう。以下のような項目をチーム内で確認し、プロジェクトのタスクに記録しておくのがおすすめです。
- 今回の開発では、AIによってどの作業を効率化できるか
- 人間による確認や判断が必要な作業は何か
- 新たに導入する外部サービスやコードの依存関係はあるか
- 正常に動作するケースだけでなく、エラーや想定外の状況をどのようにテストするか
- 公開後の保守は誰が担当し、開発担当者が不在の場合は誰が対応するか
- 機能が正常に動作しなくなったことを、どのように検知するか
- 問題が発生した場合、機能の無効化や変更の取り消しをどのように行うか
- 見積もりには、本番公開に必要な作業や合意済みのサポートが含まれているか
- 試験的な機能として期限を設けるのか、継続的に保守するのか
確認した内容は、コードの保存場所、設定に関する情報、リリース履歴とともに、チームの誰もが参照できる場所に記録しておきましょう。
小規模な機能であれば、詳細なマニュアルを作成する必要はありません。ただし、開発時にAIとどのようなやり取りをしたのかを一から調べ直さなくても、別の担当者が問題の原因を調査できるだけの情報は残しておくことが大切です。
AIで開発を効率化し、その後の運用まで見据える
午後の数時間でCRM連携機能を開発できれば、その後の作業に余裕が生まれます。クライアントは早い段階で実際の機能を確認でき、開発チームも金曜日の公開に向けて、細かな仕様の確認や調整により多くの時間を充てられます。
こうした確認や保守の作業が必要だからといって、AIによる時間短縮のメリットが失われるわけではありません。重要なのは、開発後に必要となる作業を最初から計画に組み込むことです。そうすることで、対応しきれない保守業務を抱え込むことなく、新たな案件にも取り組めます。
AIによって生まれた時間は、成果物の品質を高めるために活用しましょう。担当者と責任範囲を明確にし、チーム全体で共通のリリース手順を整え、問題を早期に発見できる仕組みを用意することが大切です。KinstaのWordPress専用マネージドクラウドサーバーは、複数のサイトを共通の環境でテスト、監視、管理でき、制作会社の継続的な運用業務をサポートしています。