最近、WordPress 7.0のサイトにMCPで接続し、Claude Codeから記事を更新する仕組みを試しました。
実際に試してみると、想像していた以上に自然に動きました。
既存記事の足りない部分の強化、内部リンクの追加、別記事のカニバリ解消。対象ページへの改善計画を考えてプロジェクト管理ツールの Linear にissueとして追加。Claude Code に「このissueを実行して」と言えば改善してくれる。
これまで人が画面上で行っていた一連の作業を、生成AIに任せられます。
便利になった一方で、Webプログラマとしては少し危機感も覚えました。
この記事では実際に行った Claude Code で WordPress を更新した手順と使いどころ。それに伴う私なりの未来への危機感と対策、をまとめていきます。
Claude Code で WordPress MCP を使った更新をする方法
まず最初に MCPとは、生成AIが外部のサービスやツールを操作するための共通規格です。WordPress側にMCP Adapterを導入し、記事投稿やリダイレクトなどの操作を「Ability」として登録すると、Claude Codeとの対話からWordPressを更新できます。
wordpress.com では標準機能として実装済みです。
https://wordpress.com/ja/blog/2025/11/01/mcp/
しかし、セルフホスト型の wordpress.org ではまだ開発段階。
以前は Automatic でのリポジトリで開発が進められていましたが以下のリポジトリが現行版
https://github.com/WordPress/mcp-adapter/
WordPress の公式としては「WordPress Abilities API」の機能をサポートして、この Ability として登録した機能を好きな adapter (今回の記事ではMCP) として公開することができる、という理解でいます。
実際に試すために 上記リポジトリでのリリースページで公開されている mcp-adapter.zip をダウンロード、セルフホストしたwordpressにプラグインインストールからzipをアップして有効化。
過去には管理画面からのAbility有効化があったみたいだけど無くなった?みたいなので専用のプラグインを作成。
今回作ったのは以下の2ファイル
# wordpress.com での公開されている機能を参考に作った abilityを登録
wpcom-like-mcp-abilities.php
# リダイレクト用のプラグイン `Redirection` の登録をMCPで実行できる
redirection-mcp-abilities.php
これを wp-content/mu-plugins にアップロード。コード内容は割愛。Codex とか Claude Code に言えば作ってくれます。
今回は Claude Code で実行するのでサイト専用のプロジェクトとしてディレクトリを作成、VScodeで開いて以下の .mcp.json を作成
{
"mcpServers": {
"wordpress-http-default": {
"command": "npx",
"args": [
"-y",
"@automattic/mcp-wordpress-remote@latest"
],
"env": {
"WP_API_URL": "http://your-site.test/wp-json/mcp/mcp-adapter-default-server",
"WP_API_USERNAME": "your-username",
"WP_API_PASSWORD": "your-application-password"
}
}
}
}
WordPress のドメインに変更したり、ログインできるユーザー名を設定。パスワードについては ユーザー -> プロフィール -> アプリケーションパスワード で作成したパスワードを設定。
@automattic/mcp-wordpress-remote の設定を見ると OAuth認証 や Custom Header での認証も出来るみたいですが未確認。これが出来れば claude.ai でも操作できるかもです。
https://www.npmjs.com/package/@automattic/mcp-wordpress-remote
VScode を再起動して Claude Code に WordPress MCP が使えるかを確認して以下のような ability が見えていれば操作できます。
| ability | 主な用途 |
|---|---|
| `wpcom-like-mcp/posts` | 投稿のCRUD(list/get/create/update/delete) |
| `wpcom-like-mcp/pages` | 固定ページのCRUD |
| `wpcom-like-mcp/comments` | コメント管理 |
| `wpcom-like-mcp/media` | メディア管理 |
| `wpcom-like-mcp/taxonomy` | カテゴリー・タグ管理 |
| `wpcom-like-mcp/patterns` | ブロックパターン閲覧 |
| `wpcom-like-mcp/content-search` | 全投稿タイプ横断検索 |
| `wpcom-like-mcp/site-editor-context` | テーマ・ブロック情報 |
| `wpcom-like-mcp/site` | サイト設定・統計・プラグイン管理 |
| `yoast-seo/get-seo-scores` | SEOスコア取得 |
| `yoast-seo/get-readability-scores` | 読みやすさスコア取得 |
| `redirection/redirects` | 301リダイレクトのCRUD(list/create/update/delete) |
設定してみて思いましたが WordPress 7.0 だから、というよりも 6.9 の時点で MCP は使えましたね。
割と「7.0の目玉機能だ!!」「7.0の公開がずれ込んで悲しい…」と考えていたのですが全く違いました。
まだまだ開発段階ですし、がっつり使うためにも専用のプラグインも必要なので、使い心地などはこれから変わりそうです。
実際に使ってみると「MCPじゃなくていいな」という件がちらほらありました。
MCPじゃないと出来ない、ということもなく、うちの Claude Code 君は WordPressの認証情報を使ってAPIで実行することが多かったです。勝手に。まあ別に良いんですが。
「MCPを使ってください」とお願いしても速度が出なかったり、やけに実行時間がかかったり。効率的に使いこなすためのルールを決めれば良くなるのかもですが、それをするぐらいなら wp-json を使って取得や更新する node スクリプトを作って実行してもらうのが成功率も高かったです。
最初の何回かは直接対話しながらルールを決めていき、ある程度作業がこなれてきたら
繰り返し実行がしやすいようにタスク管理として Linear を使って改善計画を作成。
計画についてはアナリティクスやサーチコンソールのcsvデータから現状のアクセス傾向やIMP数、他にも ahrefs MCP も繋げているので、検索ワードの幅やボリューム、関連度からやったほうが良いことを導き出してページ毎に Linear に issue を作成。ここまでが下準備。
Linear の API を叩く nodeスクリプトを作成してステータスTodoのものを取得、Claude Code CLI での issue実行を指示して終わったら次のissueを回して繰り返して完了させる仕組みを作りました。
これでクレジットが使える限り何百回でも更新してくれる仕組みが出来上がりました。
WordPress の記事を更新出来たら何が嬉しいか
そもそも更新することで何が嬉しいのか。新規記事を作成するわけではありません。
過去記事の価値を上げることが目的です。
今運用中の WordPress サイトが 7個、放置中は 12個 あるので、やっと手を入れることが出来るなと。
かなり数が多いですが、ここまで多い理由としては過去記事の
辺りで取り扱ってるものと、
過去記事を使うことで価値を出す構想についてはこの記事でも関連して取り扱っています。
WordPress のサイトを運用していると、毎回思うのは「SNSとは違う価値を出そう」ということをいつも考えています。
それは文字数の長さや質であったりもするのですが、一番の違いとしては「WordPressは過去記事を変えることができる」ということです。
SNSでは情報を変えることが基本的には出来ないので、新しい情報を常に発信し続ける必要があります。ですが、WordPressでは記事を変えることが出来るので新しさよりも1ページを常に更新して価値を積み上げることができます。
更新する手間や時間を考えるとなかなか出来ないことなのですが、更新が自動で出来ればWebサイトならではの価値を出せる良い仕組みになるのではと考えています。
Webサイトの価値は、公開後に変えられること
私が考えるWebサイトの大きな特徴は、公開したあとも情報を更新できることです。
紙に印刷した情報は、基本的にはそのまま残ります。一方、Webサイトは公開後の反応をアクセスログなどで確認し、内容や見せ方を変えられます。
公開する。反応を見る。改善する。
この循環を回せることが、Webサイトの基本的な価値だと考えています。あとは一瞬で遠くの人に届くことも大きなメリットですが、本記事では対象外です。
SNSや動画なんかはむしろ「更新」が出来ないことで多くの情報を発信することができて発展しましたが、SNSでの投稿や動画を探す場所はプログラムによって投稿データが入れ替わって「更新」されるようになっています。
Webサイトとしての必要な機能を大きく捉えれば、エクセルやWordPressで実現できることに収まるのでは、と私は考えています。
その中でも私はWebプログラマーであるので、「エクセルで良いじゃないですか」「WordPressで解決することを何でわざわざ作るんですか?」という疑問をぶつけて要件の洗い出しをして、それでも専用のWebアプリケーションを作るのは、見た目や細かな使い勝手を整えたり、手作業による更新をなくしたりするためでした。
これまで作ってきたものの価値
私がこれまで作ってきたWebシステムも、突き詰めると「人が更新しなくても情報が変わる仕組み」に価値がありました。
データを集め、条件に応じて処理し、Webサイトへ反映する。人が管理画面を開いて入力しなくても、毎日1億回のコピペをすれば作れる情報がプログラミングによって自動で更新される。そのために専用のアプリケーションを作ってきました。(1億回は言いすぎかも?)
ところが、生成AIがWordPressを直接操作できるようになると、この前提が変わります。
WordPressにあるコンテンツを読み、アクセスログを確認し、改善案を出し、そのまま文章を書き換える。一連の作業を生成AIだけで進められます。
これまでは「自動化するにはコードが必要」と考えていました。しかし今後は、WordPressと生成AIをつなぐだけで済む場面が増えていきそうです。
コードを書く仕事ではなく、コードが必要な領域が減る
「生成AIによって、コードを書く仕事が減る」という話は以前から聞いていました。
今回の検証で感じたのは、それよりもう一段先の変化です。生成AIがコードを書くようになるだけではなく、そもそも専用のコードを書かなくてよい領域が広がっています。
これまでは、手動更新の手間をなくすためにWebアプリケーションを作っていました。これからは、その手間を生成AIが引き受けます。そうなると、単に更新作業を自動化するだけのシステムは、WordPressと生成AIの組み合わせに置き換わるかもしれません。
もちろん、すべてがWordPressで解決するわけではありません。複雑な業務ロジックや大量データの処理、高いリアルタイム性が必要な機能など、専用の開発が必要な領域は残ります。
ただ、「人が更新しなくてよい」というだけでは、専用システムを作る理由として弱くなっていく。そのことは意識しておく必要がありそうです。
今回の件とは話がそれますが、「WordPressはオワコン」と盲目的に言っている人ほどWordPressの機能を知らずにWordPress以下の物しか作れていないなと感じています。WordPressを立ち上げれば1時間でサーバー代込みで千円で出来る価値を、3ヶ月で200万円で開発したNext.jsのアプリケーションを月20万かけて保守してデザイン変更や追加開発やセキュリティアップデートでも追加コストを払わせるのが平気でいます。
お金を稼ぐとは無料の水を必要な所に届けること、というのは解るのですが、どうしても私には出来ないというか、最終的に届ける相手の事を考えてより良い物にするために考えてしまって、WordPressを正しく使って巨人の肩に乗ることで今まで無かった素晴らしい物を作る時間とお金を上乗せして届けれたのに。そう思ってしまいます。
WordPressでできないことを考える
今後Webエンジニアとして価値を出すには、WordPressと生成AIの組み合わせでは解決しにくいことへ、より意識的に取り組む必要があると考えました。
たとえばWebsocketを使ったリアルタイム通信を使う機能は、その候補のひとつです。
ただし、WordPressでも複数人によるリアルタイム共同編集が本来は7.0に入る予定でしたが7.1にずれ込みました。今は存在しない機能も、やがて標準機能として取り込まれる可能性があります。
「WordPressにできない機能」を目的にしてしまうと、いずれ追いつかれます。
大切なのは、コードを書くこと自体を価値にするのではなく、何を改善するのか、どの仕組みならWebサイトならではの特徴を活かした成果につながるのかを考えることなのでしょう。
今回のMCP接続は、記事更新が便利になったというだけの検証ではありませんでした。自分がこれまで提供してきた価値と、これから開発すべきものを考え直すきっかけになりました。
便利さに感心しつつ、少し焦る。
今は、そのくらいの距離感でこの変化を見ています。
コメントを残す