Skip to content

WordPress REST API 連携

このガイドでは、OpenClaw Ultra を使って WordPress サイトを管理する方法を紹介します — 記事の投稿、WooCommerce 商品の管理、カテゴリ選択、ハッシュタグの追加 — すべて WordPress REST API 経由で行います。

必要なもの

  • セルフホストの WordPress サイト(wordpress.org、wordpress.com ではない)
  • WordPress サイトにインストール済みの Basic Auth プラグイン
  • Windows デスクトップにインストール済みの OpenClaw Ultra

ステップ 1:Basic Auth プラグインのインストール

WordPress REST API は認証が必要です。最も簡単な方法は Basic Auth プラグインを使用することです。

  1. 以下からプラグインをダウンロード:https://github.com/WP-API/Basic-Auth
  2. WordPress 管理画面でプラグイン新規追加プラグインのアップロードに移動
  3. ダウンロードした Basic-Auth-master.zip をアップロード
  4. 有効化をクリック

WordPress プラグインのアップロード

他の認証方法

サーバーが OAuth またはアプリケーションパスワード(WordPress 5.6+)に対応している場合は、そちらも使用できます。このガイドでは簡潔さのために Basic Auth を使用します。

ステップ 2:認証情報用の .env ファイルを作成

パソコンの安全な場所に .env ファイルを作成し、WordPress サイトの認証情報を保存します。

以下の内容で wordpress.env ファイルを作成:

WP_SITE_URL=https://yoursite.com
WP_USERNAME=your-admin-username
WP_APPLICATION_PASSWORD=your-password

.env ファイルの管理に注意

.env ファイルをバージョン管理にコミットしたり、公開したりしないでください。.gitignore ファイルに *.env を追加してください。

ステップ 3:OpenClaw Ultra で .env ファイルを読み込む設定

OpenClaw Ultra では、File スキルを使って .env ファイルを読み込み、認証情報をロードできます。

  1. OpenClaw Ultra を開く
  2. チャットに以下を入力:
C:\path\to\wordpress.env のファイルを読み込み、各行を変数として保存してください。
  1. OpenClaw Ultra が .env ファイルを解析し、以降のリクエストで値を利用可能にします。

ステップ 4:REST API で WordPress 記事を投稿

OpenClaw Ultra を使って WordPress 記事を自動作成・投稿できます。

プロンプト例:

{WP_SITE_URL}/wp-json/wp/v2/posts の WordPress REST API を使って、
以下の内容で新しい記事を作成してください:
- Title: "初の自動化記事"
- Content: "この記事は OpenClaw Ultra が WordPress REST API 経由で作成しました。"
- Status: publish
- Categories: Technology, AI
- Hashtags: #WordPress #Automation #OpenClaw

{WP_USERNAME} のユーザー名と {WP_APPLICATION_PASSWORD} のパスワードで Basic Auth を使用してください。

OpenClaw Ultra が WordPress REST API エンドポイントに POST リクエストを送信し、記事を投稿します。

API エンドポイント一覧

操作エンドポイントメソッド
記事作成/wp-json/wp/v2/postsPOST
記事更新/wp-json/wp/v2/posts/{id}PUT
記事取得/wp-json/wp/v2/postsGET
記事削除/wp-json/wp/v2/posts/{id}DELETE

ステップ 5:WooCommerce 商品の管理

WooCommerce をインストールしている場合、WooCommerce REST API 経由で商品を管理することもできます。

プロンプト例:

{WP_SITE_URL}/wp-json/wc/v3/products の WooCommerce REST API を使って、
以下の内容で新しい商品を作成してください:
- Name: "AI 自動化コース"
- Type: simple
- Regular price: 49.99
- Description: "AI を使ってワークフローを自動化する方法を学びましょう。"
- Categories: コース, デジタル商品
- Stock: 100

{WP_USERNAME} のユーザー名と {WP_APPLICATION_PASSWORD} のパスワードで Basic Auth を使用してください。

WooCommerce API エンドポイント

操作エンドポイントメソッド
商品作成/wp-json/wc/v3/productsPOST
商品取得/wp-json/wc/v3/productsGET
商品更新/wp-json/wc/v3/products/{id}PUT
商品削除/wp-json/wc/v3/products/{id}DELETE
注文取得/wp-json/wc/v3/ordersGET
カテゴリ作成/wp-json/wc/v3/products/categoriesPOST

ステップ 6:カテゴリの選択

記事にカテゴリを割り当てる前に、既存のカテゴリ ID を確認する必要があります。

カテゴリを取得するプロンプト:

{WP_SITE_URL}/wp-json/wp/v2/categories の WordPress REST API を使って、
サイトの全カテゴリを一覧表示してください。

{WP_USERNAME} のユーザー名と {WP_APPLICATION_PASSWORD} のパスワードで Basic Auth を使用してください。

新しいカテゴリを作成するには:

以下の方法で「AI チュートリアル」という新しいカテゴリを作成してください:
POST {WP_SITE_URL}/wp-json/wp/v2/categories
name: "AI チュートリアル"、slug: "ai-tutorials" に設定。

{WP_USERNAME} のユーザー名と {WP_APPLICATION_PASSWORD} のパスワードで Basic Auth を使用してください。

ステップ 7:ハッシュタグの自動入力

OpenClaw Ultra に記事のハッシュタグを生成・追加してもらうことができます。

プロンプト例:

{WP_SITE_URL} の「初の自動化記事」というタイトルの記事について、
内容に基づいて5つの関連ハッシュタグを生成し、記事に追加してください。

WordPress REST API を使って記事のタグまたはカスタムフィールドを更新してください。
{WP_USERNAME} のユーザー名と {WP_APPLICATION_PASSWORD} のパスワードで Basic Auth を使用してください。

トラブルシューティング

401 認証エラー

  • Basic Auth プラグインが有効になっていることを確認
  • ユーザー名とパスワードが正しいことを確認
  • WordPress サイトが HTTPS を使用していることを確認

404 エンドポイントが見つからない

  • WordPress 設定 → パーマリンクでパーマリンクが有効になっていることを確認
  • REST API にアクセスできることを確認:{WP_SITE_URL}/wp-json/

403 アクセス拒否 / Cloudflare ブロック

403 エラーが発生した場合、Cloudflare が API リクエストをブロックしている可能性があります。これは、自動化ツールからの WordPress REST API リクエストが疑わしいとしてフラグが立てられるために起こります。

解決策 — カスタム User-Agent ヘッダーを設定:

OpenClaw Ultra 経由でリクエストを送信する際、Cloudflare が実際のブラウザからのリクエストとして認識するよう、一般的な User-Agent 文字列を明示的に設定します。例:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

OpenClaw Ultra のプロンプトに User-Agent ヘッダーを以下のように含めます:

POST {WP_SITE_URL}/wp-json/wp/v2/posts
Headers:
  User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
  Authorization: Basic {base64-encoded-credentials}

Body:
  title: "記事タイトル"
  content: "記事内容"
  status: publish

WooCommerce エンドポイントが利用できない

  • WooCommerce プラグインがインストールされ、有効化されていることを確認
  • WooCommerce API は WooCommerce 3.0+ が必要

次のステップ

  • 他の WordPress REST API エンドポイントを探す
  • コンテンツ公開スケジュールを自動化する
  • OpenClaw Ultra で完全なコンテンツワークフローを構築する

他の連携ガイドも参考に、自動化の幅を広げましょう。