生成AIにWordPressのPHPやJavaScriptを書いてもらうと、機能を短時間で形にできます。ただし、画面が期待どおり動いたことと、安全に公開して継続運用できることは同じではありません。
公開前は、コードを一行ずつ眺めるだけでなく、「入力・権限・処理・出力・運用」の5層に分けて確認すると、見落としを減らしやすくなります。この記事では、専門用語をできるだけかみ砕いて、確認の順序を整理します。
この記事が役立つ方
・AIで作ったコードをテーマやプラグインへ追加した方
・コードスニペットを貼り付けたが、安全性に不安がある方
・表示はできたものの、会員・フォーム・管理画面の処理が心配な方
・制作者へ相談する前に、確認範囲を整理したい方
結論:機能ではなく「データの流れ」で見る
AI生成コードの確認でありがちなのが、「ボタンが動く」「保存できる」という機能単位だけのチェックです。しかし、同じ機能でも、誰がどのデータを送り、どこで処理され、何が画面へ出るかによって危険箇所は変わります。
・入力:外部から受け取る値は適切か
・権限:その操作をしてよい利用者か
・処理:データベースやファイルの扱いは安全か
・出力:画面へ表示する値を適切に処理しているか
・運用:更新・障害・切り戻しまで考えられているか
1. 入力:受け取った値をそのまま信じない
フォーム、URL、REST API、外部サービス、データベースなどから来る値は、想定外の内容を含む可能性があります。管理者が入力する画面でも、入力ミスは起こるため例外ではありません。
まず「受け付けてよい値か」を検証します。選択肢が決まっている項目なら許可リストと照合し、数値なら範囲を確認します。自由入力では用途に合うWordPressの関数でサニタイズし、不要な文字や形式を整理します。
・必須項目・文字数・形式・範囲が決まっているか
・受け付ける値を必要以上に広くしていないか
・外部から来た値を、そのまま保存・実行していないか
・ファイルアップロードで種類、容量、保存先を制限しているか
2. 権限:nonceだけで安心しない
管理画面の保存や削除など、状態を変える操作では、意図したリクエストかを確認するnonceが重要です。ただし、nonceは「その人に操作権限がある」こと自体を証明するものではありません。
公開前には、nonceの確認とあわせて、現在の利用者がその操作をしてよいかを権限で判定します。
・保存・削除・設定変更にnonce確認があるか
・必要な権限を確認しているか
・ログインしていない人から実行できる経路がないか
・AjaxやREST API側にも同じ考え方が適用されているか
3. 処理:データベースとファイル操作の境界を見る
データベースへ直接SQLを送る処理や、サーバー上のファイルを作成・削除する処理は、影響範囲が大きくなります。WordPressに用意されたAPIで実現できる場合は、独自処理より公式APIを優先する方が、互換性と安全性を保ちやすくなります。
直接SQLが必要な場合は、値を文字列へ埋め込まず、プレースホルダーを使って準備します。また、文字列をコードとして実行する処理は採用しません。
・WordPress APIで代替できないか
・SQLを組み立てる際に安全な準備処理があるか
・保存・削除の対象を必要な範囲へ限定しているか
・エラー時に途中状態や不要なデータが残らないか
4. 出力:表示する直前に、場所に合う処理をする
入力時に整えた値でも、画面へ出すときは出力先に合うエスケープが必要です。本文、HTML属性、URL、テキストエリアでは、それぞれ適切な処理が異なります。
・HTML本文、属性、URLで処理を分けているか
・データベースから取得した値も無条件に信じていないか
・JavaScriptへ値を渡す方法が適切か
・管理画面だけの表示でも確認を省いていないか
5. 運用:今日動くことより、次回も安全に直せること
コードの安全性は、公開時点だけでは完結しません。WordPress本体、PHP、テーマ、プラグインが更新されると、現在動いているコードが将来も同じように動くとは限りません。
公開前にはバックアップと切り戻し方法を用意し、テスト環境で確認します。エラー記録を残せるようにし、変更したファイルや目的も記録します。機密情報やデバッグ表示を公開状態に残さないことも重要です。
保存用:公開前5層チェック
・入力:受け取る値の形式・範囲・保存方法を説明できる
・権限:誰が、どの条件で実行できるか説明できる
・処理:DB・ファイル・外部通信への影響範囲を説明できる
・出力:表示場所ごとのエスケープを確認した
・運用:バックアップ、テスト、記録、切り戻しを用意した
一つでも「分からない」がある場合、すぐ本番へ貼り付けるのではなく、ステージング環境やバックアップを用意してから確認するのが安全です。
AIを使うときの考え方
私はAIを、調査、整理、実装候補の洗い出し、確認項目の整理などに活用し、作業の速度と確認範囲を高めています。一方で、公開可否、実装判断、動作確認、最終品質の確認は人の目で行います。
AIへ「安全にして」と頼むだけでは、サイト固有の利用者、権限、プラグイン構成、サーバー環境までは判断できません。生成結果をたたき台にし、実際の環境とデータの流れに照らして確認することが重要です。
まとめ
AI生成のWordPressコードは、表示できたかだけで判断せず、入力・権限・処理・出力・運用の5層で確認しましょう。
・データの入口と出口を整理する
・権限、DB・ファイル操作、エスケープを個別に確認する
・バックアップとテストを用意してから公開する
AIで作ったWebサイトやWordPressコードの確認・修正・公開準備は、関連サービスから事前にご相談いただけます。コードだけでなく、現在の環境、目的、影響範囲を確認して進めます。
関連サービスが受付休止・非公開の場合や、どのサービスが合うか分からない場合は、この記事の著者名「たか369」からプロフィールへ移動し、「見積り相談」から現在の状況をお知らせください。