Claude CodeとWP-CLIを使えば、WordPress問い合わせフォームの設置からメール通知設定まで管理画面不要で完結できます。
- 要点1: Contact Form 7のインストール・フォーム定義・メール設定をWP-CLIコマンドだけで操作可能
- 要点2: メールが届かない原因の大半は送信元アドレスのSPF不一致またはMXレコードの向き先の問題
- 要点3: Google WorkspaceとConoHaを併用している場合、
wordpress@ドメインを送信元にするだけで解決するケースが多い
対象: Claude CodeでWordPress操作を自動化したい開発者・DX推進担当者
今日やること: ssh [サーバー] 'php ~/wp-cli.phar post list --post_type=wpcf7_contact_form' でCF7の設定を確認する
この記事の目次
Claude CodeとWP-CLIを組み合わせることで、WordPressの問い合わせフォーム設置からメール通知設定まで、WordPress管理画面を一切開かずにコマンドラインだけで完結できます。
「フォームは設置できたのにメールが届かない」——この問題で詰まる方は多いのですが、原因の多くはSMTPの設定ではなく、送信元アドレスの指定方法やDNSのMXレコードの向き先にあります。
この記事では、あるメディアサイトの構築時に実際に起きたトラブルとその解決策をベースに、Claude Code × WP-CLIでの問い合わせフォーム自動化の手順を解説します。
Claude CodeでWordPressを操作する基本の仕組み
Claude CodeからWordPressを操作する際の中心的なツールがWP-CLI(WordPress Command Line Interface)です。
WP-CLIとは、WordPressの投稿・プラグイン・設定・データベースをコマンドラインから操作できるCLIツールです。通常はWordPressの管理画面(GUI)で行う作業を、すべてコマンド1行で実行できます。ConoHaなどのレンタルサーバーにSSH接続し、Claude CodeがそのSSHコマンドを発行することで、AIがWordPressを直接操作できる状態になります。
WP-CLIとは?Claude Codeとの連携の仕組み
WP-CLIをClaude Codeから使う構成は以下のとおりです。
Claude Code(ローカルPC) ↓ SSHコマンドを発行レンタルサーバー(ConoHaなど) ↓ WP-CLIコマンドを実行WordPressのデータベース・ファイル
Claude CodeはBashツールでSSHコマンドを実行し、その結果を読み取って次のアクションを判断します。これにより、「フォームのレイアウトを修正して」「メール通知先を変更して」といった指示を自然な日本語で出すだけで、Claude CodeがWP-CLIコマンドに変換して実行します。
SSH経由でWP-CLIを実行するコマンドの基本形
WP-CLIコマンドの基本形は以下の通りです(~/.ssh/configでホスト名conohaを設定済みの前提)。
# 基本形ssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp [コマンド]'# プラグイン一覧を確認するssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp plugin list'# 特定の固定ページを確認するssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp post list --post_type=page'
php ~/wp-cli.pharという接頭辞はConoHaサーバー特有の書き方です。他のサーバーではwpコマンドが直接使える場合もあります。
詳しいWP-CLI操作の全体像については、Claude Code × WordPressで記事公開を完全自動化でも解説しています。
Contact Form 7でフォームを設置する手順
WordPressで問い合わせフォームを作成する際に最もよく使われるプラグインがContact Form 7(CF7)です。2026年時点でWordPress.orgのインストール数は5,000万を超える事実上の標準プラグインで、フォームタグと呼ばれる独自記法でフォームの各要素を定義します。
Contact Form 7プラグインをWP-CLIでインストールする
CF7をWP-CLIでインストールして有効化する手順は以下の通りです。
# Contact Form 7をインストールssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp plugin install contact-form-7 --activate'# インストールと有効化が完了したか確認ssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp plugin status contact-form-7'
インストール後、CF7は自動的にデフォルトフォームを1つ作成します。このフォームのIDを確認しておきましょう。
# CF7のフォーム一覧とIDを確認ssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp post list --post_type=wpcf7_contact_form --fields=ID,post_title'
フォームの構造と各フィールドのタグ体系
CF7のフォームは、WordPressのカスタム投稿タイプ(wpcf7_contact_form)としてDBに保存されています。フォームの本体(HTML構造)はpost_contentフィールド、メール設定などはpost_metaに格納されています。
# フォームのHTML構造(post_content)を取得ssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp post get [フォームID] --field=post_content'# メール設定(_mail メタデータ)を取得ssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp post meta get [フォームID] _mail'
CF7のフォームタグの代表的な構文は以下の通りです。
| タグ | 説明 | 例 |
|---|---|---|
[text フィールド名] |
テキスト入力(任意) | [text your-name] |
[text* フィールド名] |
テキスト入力(必須) | [text* your-name] |
[email フィールド名] |
メールアドレス(任意) | [email your-email] |
[email* フィールド名] |
メールアドレス(必須) | [email* your-email] |
[textarea フィールド名] |
テキストエリア | [textarea your-message] |
[submit "ラベル"] |
送信ボタン | [submit "送信する"] |
*(アスタリスク)付きのタグが必須フィールドです。
必須フィールドの追加と横並び→縦並びのレイアウト変更
ある企業のWordPressサイト構築時、役職・電話番号が横並び(nexa-form-row + nexa-form-halfクラスで2カラム配置)になっていた問題が発生しました。また、役職フィールドが任意入力のままになっていたため、Claude CodeにWP-CLIで修正を指示しました。
修正前のフォームHTML(一部):
<div class="nexa-form-row"> <div class="nexa-form-half"> <label>役職 [text your-position]</label> </div> <div class="nexa-form-half"> <label>電話番号 [text your-phone]</label> </div></div>
修正後のフォームHTML(縦並び + 役職を必須に):
<div class="nexa-form-group"> <label>役職 <span class="required">*</span> [text* your-position]</label></div><div class="nexa-form-group"> <label>電話番号 [text your-phone]</label></div>
WP-CLIでこの変更を加えるコマンドは以下の通りです。
# フォームHTMLを更新(ヒアドキュメントで新しい内容を渡す)ssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp post update [フォームID] --post_content="[新しいフォームHTML]"'
Claude Codeに「役職と電話番号を縦並びにして、役職を必須にして」と指示するだけで、現在のフォームHTMLを取得→修正→更新という一連の作業を自動で実行してくれます。
\ Claude Codeの導入、何から始めればいいかわかります /
法人向けClaude Code個別指導の無料相談はこちらメール通知の設定と確認方法
CF7では、フォーム送信時に2種類のメールを送信できます。メール(管理者宛通知)とメール2(送信者への自動返信)です。
CF7のメール設定をWP-CLIで確認・変更する
メール設定はCF7フォームのカスタムフィールド(_mail)として保存されています。
# メール設定の確認(JSON形式で出力される)ssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp post meta get [フォームID] _mail --format=json'
出力されるJSONには以下のフィールドが含まれます。
| フィールド | 説明 | 例 |
|---|---|---|
subject |
メールの件名 | 【Nexa】お問い合わせ: [company] [your-name]様 |
sender |
送信元アドレス | wordpress@nexa-corp.jp |
recipient |
通知先アドレス | admin@example.com |
body |
メール本文 | フォームタグでフィールドを参照 |
WP-CLIで通知先アドレスを変更する場合はpost meta updateを使います。
# 通知先アドレスを変更(_mailのrecipientフィールドを更新)ssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp post meta update [フォームID] _mail [更新後のJSON文字列]'
送信元アドレスの設定ポイント
CF7でメールが届かない問題の多くは、送信元アドレス(sender)の設定ミスが原因です。特に重要なルールは以下の通りです。
ポイント送信元アドレスには、メールを送信するサーバーが管理しているドメインのアドレスを使用すること。ConoHaサーバーからメールを送る場合、Google Workspaceで管理しているアドレスを送信元にしてはいけない。
この理由は後述の「メールが届かない3大原因」で詳しく解説します。
テストメール送信でWP-CLIから動作確認する
フォームを実際に送信せずに、WP-CLIからメール送信をテストできます。
# WP-CLIのwp evalでテストメールを送信ssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp eval " \$result = wp_mail( \"test@example.com\", \"【テスト】メール送信テスト\", \"これはClaude Codeからのテストメールです。\" ); echo \$result ? \"成功\" : \"失敗\";"'
成功と表示されれば、WP Mail関数はメールを送信しています。もし届いていない場合は、送信自体は成功しているが配送先の問題(MXレコードやスパムフィルタ)がある可能性が高いです。
Claude Codeを活用したWordPress自動化について、もっと詳しく知りたい方や実際に自社サイトへの適用を検討されている方は、まずは無料相談からお気軽にどうぞ。
メールが届かない3大原因と対処法
「テスト送信は成功しているのにメールが届かない」——このパターンで最もよく見られる3つの原因と対処法を解説します。
原因1:送信元アドレスがGoogle WorkspaceのものになっていてSPF不一致
症状: テスト送信でサーバーは成功を返すが、GmailやGoogle Workspaceのメールボックスに届かない。
原因: CF7の送信元(sender)にinfo@example.comのようなGoogle Workspace管理のアドレスを設定している場合、ConoHaサーバーから送信されたメールはSPF認証に失敗します。
SPF(Sender Policy Framework)とは、「このドメインのメールはどのサーバーから送信されるか」をDNSに登録する仕組みです。Google WorkspaceのSPFレコードには「Googleのサーバーからのみ送信可」と記載されているため、ConoHaサーバーから同じアドレスで送信すると「なりすまし」と判定されます。
対処法: 送信元を、ConoHaサーバーが管理しているドメインのアドレスに変更します。
変更前: sender = info@example.com(Google Workspace管理)変更後: sender = wordpress@example.com(ConoHaサーバー上のアドレス)
原因2:MXレコードとメールボックスの不一致(ConoHa特有の落とし穴)
症状: Gmailには届くが、独自ドメインのアドレス(kawashimar@example.comなど)には届かない。
原因: これは特にGoogle WorkspaceとConoHaを併用しているサイトで発生しやすい問題です。
あるメディアサイトのケースでは、以下の状況が発生していました。
| 項目 | 実際の設定 | 問題 |
|---|---|---|
| MXレコード | mail82.conoha.ne.jp(ConoHaを向いている) |
ConoHaのメールボックスに配送される |
| 使いたいアドレス | kawashimar@example.com(Google Workspace) |
ConoHa上にメールボックスが存在しない |
| 結果 | メールが消える | 配送先のボックスがないため消失 |
WordPressサイトの構築時にConoHaにドメインを追加すると、MXレコードがConoHaの設定に自動的に上書きされることがあります。Google WorkspaceのGmailを使いたい場合、MXレコードをGoogleのサーバー(aspmx.l.google.comなど)に戻す必要があります。
対処法(シンプル版): MXレコードを修正するのが本筋ですが、最短の解決策は通知先をGmailのアドレスに変更することです。
# CF7の通知先アドレスをGmailに変更ssh conoha 'php ~/wp-cli.phar --path=$HOME/public_html/nexa-corp.jp post meta update [フォームID] _mail ...'
ConoHaサーバーからGmailへの配送ルートでは、MXレコードの問題が発生しません。
原因3:SMTPプラグインを入れたが設定が未完了で送信エラー
症状: WP Mail SMTPなどのSMTPプラグインを有効化した後から、テスト送信も失敗するようになった。
原因: SMTPプラグインはSMTPサーバーの認証情報を設定して初めて機能します。プラグインを有効化しただけでSMTPサーバーの設定が未完了の場合、WordPress標準のwp_mail()が上書きされてしまい、設定不完全なSMTPクライアント経由で送信しようとして失敗します。
あるサイトでは「メールが届かない→WP Mail SMTPを入れてみた→余計に届かなくなった」というパターンになっていました。WP Mail SMTPを無効化したところ、PHP mail関数での送信が復活し、正常にテストメールが届くようになりました。
対処法: SMTPプラグインを設定する場合は、SMTP認証情報(ホスト名・ポート・ユーザー名・パスワード)を必ずセットで設定してください。認証情報が用意できない段階では、プラグインを有効化しないことをおすすめします。
| 状況 | 推奨アクション |
|---|---|
| ConoHaのPHP mailが正常に動作している | SMTPプラグインは不要。送信元アドレスの設定だけ修正 |
| 別のサーバーやSaaSのSMTPを使いたい | SendGrid・SES等の認証情報を揃えてからSMTPプラグインを設定 |
| ConoHa自体のSMTPを使いたい | ConoHa管理画面でメールアカウントのパスワードを確認してから設定 |
\ 業務自動化のお悩み、プロが30分で整理します /
法人向けClaude Code個別指導の無料相談はこちらトラブルを防ぐための送信元アドレス設計
メール送信のトラブルを予防するには、サーバーの役割分担を理解した上で送信元アドレスを設計することが重要です。
ConoHaサーバーからのメール送信に適したアドレス形式
ConoHaサーバーからWordPressのメール通知を送信する場合、送信元アドレスは以下のルールに従って設定します。
推奨: wordpress@[ドメイン]例: wordpress@example.com
wordpress@というプレフィックスは、「WordPressシステムからの自動送信」であることを示す慣習的な命名です。このアドレスのドメインがConoHaのSPFレコードに含まれていれば、メールはスパムとして判定されません。
SPFレコードの確認方法:
# ConoHaのSPFレコードを確認(DNSのTXTレコードを参照)dig TXT example.com
出力の中にv=spf1 include:conoha.ne.jp ~allのような記述があれば、ConoHaサーバーからの送信が認可されています。
通知先をGmailに設定するシンプルな回避策
Google WorkspaceのアドレスをWordPressからの通知先にしたい場合、最もシンプルな解決策は通知先にGmailアドレスを使用することです。
通知先: your-account@gmail.com送信元: wordpress@example.com(ConoHa管理)
この構成であれば、MXレコードの向き先に関わらず、ConoHaからGmailへの直接配送で確実にメールが届きます。Google Workspaceのアドレスに届けたい場合は、Gmail側でフィルタ・転送設定を組むのが現実的です。
よくある質問
Q. Contact Form 7でメールが届かないのはなぜですか?
最も多い原因は2つです。①送信元アドレスのSPF不一致(Google WorkspaceのアドレスをConoHaサーバーから送信しようとしている)、②MXレコードが意図しないメールサーバーを向いていてメールが消えている。まずwp eval "wp_mail(\"test@gmail.com\", \"テスト\", \"テスト\")"でGmail宛てに送信テストを行い、Gmailに届けばサーバーは正常です。届かない場合はサーバー側の問題を疑います。
Q. SMTPプラグインは必ず入れる必要がありますか?
ConoHaを含む多くのレンタルサーバーは、PHP mail関数が標準で使えます。送信元アドレスを正しく設定すれば、SMTPプラグインなしでメールを送れるケースが多いです。SMTPプラグインが必要になるのは、外部SMTPサービス(SendGrid, SES等)を使いたい場合や、サーバーのPHP mailが制限されている場合です。
Q. Google WorkspaceとConoHaを併用しているサイトでの注意点は?
MXレコードの向き先を確認してください。Google Workspaceのメールを使いたいなら、MXレコードはGoogleのサーバー(aspmx.l.google.com等)を向いている必要があります。ConoHaにドメインを追加した際にMXレコードが上書きされていないか確認し、Google WorkspaceのMXレコード(Google管理コンソールで確認可能)に戻してください。
Q. WP-CLIでContact Form 7の設定を変更できますか?
はい、変更できます。CF7のフォーム定義(HTML)はpost_content、メール設定はpost meta(_mailフィールド)として保存されているため、WP-CLIのpost updateおよびpost meta updateコマンドで変更可能です。ただし、_mailの値はシリアライズされたPHPオブジェクトまたはJSONなので、更新時はフォーマットに注意が必要です。
\ AI活用の「次の一手」を一緒に考えませんか /
法人向けClaude Code個別指導の無料相談はこちらまとめ
Claude Code × WP-CLIを活用することで、WordPressの問い合わせフォーム設置からメール通知設定まで、管理画面を使わずにコマンドラインで完結できます。
今回解説した手順を振り返ります。
- WP-CLIの基本:
ssh conoha 'php ~/wp-cli.phar --path=...'の形式でSSH経由でWordPressを操作する - Contact Form 7のインストール:
plugin install contact-form-7 --activateで一発インストール - フォーム定義の変更:
post get [ID] --field=post_contentでHTMLを取得→修正→post updateで反映 - メール通知の設定:
post meta get [ID] _mailでメール設定を確認→通知先・送信元を更新 - テスト送信:
eval "wp_mail(...);"で管理画面不要のメール動作確認
メールが届かない場合は、SMTPプラグインを入れる前に送信元アドレスのSPF確認とMXレコードの向き先確認を先に行うことが重要です。これだけで解決するケースが多数あります。
Claude Codeの導入・活用をサポートします
株式会社Nexaでは、Claude Codeを活用した業務自動化の個別指導・企業研修を提供しています。WordPressの自動化だけでなく、SEO記事の自動生産・Google Workspace連携・業務フロー全体のAI化まで、非エンジニアの方でも実践できるプログラムです。「何から始めればいいかわからない」という段階からご支援いたします。





