Claude CodeからWordPressに記事を下書き投稿する方法|REST APIとアプリケーションパスワード

※本記事はアフィリエイト広告(A8.net・Amazonアソシエイト・もしもアフィリエイト)を含みます。サービス内容や価格は変わることがあるため、最新の情報は公式サイト・商品ページでご確認ください。

このブログでは、Claude Codeに記事を書いてもらい、WordPressへの投稿まで任せて記事を増やしています。この記事では、Claude Code(またはPythonのスクリプト)からWordPressに記事を送る仕組みと、安全に回すためのルール、実際につまずいたポイントをまとめます。

Claude Codeの導入やサーバー選びから始めたい人は、先にClaude CodeでWordPressブログを半自動化する始め方を読んでください。

全体の流れ

  1. Claude Codeに、テーマ・読者・入れたいリンクを伝えて記事を書いてもらう
  2. WordPressの「REST API」を使って、記事を下書きで送る
  3. WordPressの管理画面で下書きを確認・修正して、自分で公開ボタンを押す

おすすめは、投稿は下書きで止めて、公開は人がすることです。AIが書いた文章には、事実と違う内容や、言い過ぎた表現がまぎれることがあります。下書きで止めておけば、公開前に必ず目を通せます。

準備:アプリケーションパスワードを作る

このブログでは、ログイン済みのブラウザを通して投稿していますが、自分の環境で再現しやすく、権限も管理しやすいのは次の方法です。外部のプログラムからWordPressに投稿するときは、ふだんのログインパスワードではなく、アプリケーションパスワードを使います。プログラムごとに作れて、いらなくなったら個別に消せるので安全です。

  1. WordPressの管理画面で「ユーザー」→「プロフィール」を開く
  2. 下の方の「アプリケーションパスワード」で、名前(例:claude-code)を入れて追加する
  3. 表示されたパスワードを控える(この画面を閉じると二度と表示されない)

注意:このパスワードは、記事を書き換えられる強い権限を持ちます。プログラムの中に直接書いたり、チャットに貼ったりせず、パソコンの環境変数などに保存してください。

投稿するスクリプト(Python)

アプリケーションパスワードを環境変数 WP_USER と WP_APP_PASSWORD に入れておけば、次のスクリプトで下書きを1本送れます。requests は pip install requests で入れます。

import os
import requests

WP_URL = "https://あなたのブログのドメイン"
USER = os.environ["WP_USER"]               # WordPressのユーザー名
APP_PASSWORD = os.environ["WP_APP_PASSWORD"]  # アプリケーションパスワード

post = {
    "title": "テスト投稿",
    "content": "<p>Claude Codeから投稿したテストです。</p>",
    "status": "draft",   # 下書きで保存する
}

r = requests.post(f"{WP_URL}/wp-json/wp/v2/posts", json=post,
                  auth=(USER, APP_PASSWORD), timeout=30)
r.raise_for_status()
data = r.json()
print(data["id"], data["link"])

実行すると、作られた下書きの番号とURLが表示されます。WordPressの「投稿」一覧に「下書き」として入っていれば成功です。

Claude Codeにルールを覚えてもらう

Claude Codeは、作業フォルダにある CLAUDE.md というファイルを読んで、毎回守るルールにしてくれます。ブログ用のフォルダに、たとえば次のように書いておくと、記事の品質がそろいます。

# ブログ記事のルール
- 記事は必ず status="draft"(下書き)で投稿する。公開は人が確認してから行う
- アフィリエイトリンクを入れる記事は、冒頭に「※本記事はアフィリエイト広告を含みます」と書く
- 「必ず儲かる」「絶対」など、結果を約束する表現を使わない
- 価格は書かずに、リンク先で最新価格を確認してもらう
- 実際に試していないことを「試した」と書かない

あとは「このテーマで記事を書いて、下書きで投稿して」と頼むだけで、記事作成から下書き投稿までを任せられます。

実際につまずいたポイント

1. 計算ツール入りの記事が403エラーで保存できない

記事に計算ツール(ブラウザで動くプログラム)を入れて送ると、サーバーのWAFに止められて「閲覧できません (Forbidden access)」になりました。原因と対処は403エラーが出る原因と対処|ConoHa WINGのWAFにまとめています。文章だけの記事なら、この問題は起きません。

2. 保存できたのにツールが動かない

プログラムの中の「&&」という記号が、WordPressに別の文字へ書き換えられて動かなくなることがありました。公開後は、実際のページでツールが動くかを必ず確認するようにしています。

3. 書いた内容が本当に正しいか

AIは、それらしい設定名や数字を書いてしまうことがあります。このブログでは、設定の名前がはっきりしないものは「表記はバージョンで違います」と書く、試していないことは「試した」と書かない、というルールで運用しています。

この仕組みでできるようになったこと

  • 記事の作成から投稿までを任せて、自分は内容の確認に集中できる
  • 記事の中で動く計算ツールの作成(例:電気代計算ツール、cronチェッカー)
  • 既存の記事の一括修正(例:全記事のAmazonリンクの横に楽天・Yahoo!のリンクを追加)

このブログの環境

サーバーはConoHa WINGを使っています。WordPressのかんたんセットアップに加えて、WAFなどのセキュリティ設定を管理画面から切り替えられるので、自動投稿でトラブルが起きたときも原因を追いやすいです。

ConoHa WINGの公式サイトを見る

Claude Codeの使い方を本で体系的に学びたい人には、次の本もあります。

『Claude Code徹底活用術』をAmazonで見る / 楽天で見る / Yahoo!で見る

関連記事

コメント

タイトルとURLをコピーしました