mcpField
W
wordpress-setup

wordpress-setup

github.com/jezwebクラウド・DevOps1.1k1.5k 回インストール3 週間前に更新
リポジトリ

wordpress-setup について

wordpress-setupは、コンテンツ管理やElementor編集に向けて、WordPressサイトへの接続を設定し、アクセスを確認するスキルです。WP-CLI over SSHまたはREST APIでの接続を案内し、再利用できるサイト設定を保存します。

主な機能

  1. 01WP-CLIの確認と設定
  2. 02SSHまたはREST APIで接続
  3. 03サイトとコンテンツへのアクセス確認
  4. 04再利用可能なサイト設定の保存

活用シーン

  1. 01リモートWordPressサイトへの接続設定
  2. 02ページやプラグインへのアクセス確認
  3. 03他のスキル向けのサイト設定準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jezweb/claude-skills --skill wordpress-setup

インストール後、Claude Code で/wordpress-setupを入力して読み込まれたか確認します。

同梱ファイルreferences/wp-cli-essentials.md

詳細

WordPress のセットアップ

WordPress サイトに接続し、WP-CLI または REST API を使って正常にアクセスできることを確認します。コンテンツ管理と Elementor の編集にすぐ使える、検証済みの接続設定を作成します。

ワークフロー

ステップ 1:WP-CLI を確認する
wp --version

インストールされていない場合は、ユーザーに次の手順を案内します。

# macOS/Linux
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

また、SSH 拡張機能が利用可能であることも確認します(リモートサイトで必要です)。

wp package install wp-cli/ssh-command
ステップ 2:サイトに接続する

オプション A:SSH 経由の WP-CLI(推奨)

wp --ssh=user@hostname/path/to/wordpress option get siteurl

一般的なパターン:

  • Rocket.net:wp --ssh=user@hostname/www/sitename/public option get siteurl
  • cPanel:wp --ssh=user@hostname/public_html option get siteurl
  • カスタム:SSH ユーザー、ホスト、WordPress のパスをユーザーに確認します

まず、簡単なコマンドでテストします。

wp --ssh=user@host/path core version

オプション B:アプリケーションパスワードを使った REST API

SSH を利用できない場合:

  1. https://example.com/wp-admin/profile.php に移動します(またはブラウザー自動化を使用します)
  2. 「アプリケーションパスワード」セクションまでスクロールします
  3. 名前(例:「Claude Code」)を入力し、「新しいアプリケーションパスワードを追加」をクリックします
  4. 生成されたパスワードをコピーします(空白もパスワードの一部ですが、認証時は省略できます)

接続をテストします。

curl -s https://example.com/wp-json/wp/v2/posts?per_page=1 \
  -u "username:xxxx xxxx xxxx xxxx xxxx xxxx" | jq '.[0].title'
ステップ 3:認証情報を保存する

WP-CLI SSH の場合 — プロジェクトのルートに wp-cli.yml を作成します。

ssh:
  sitename:
    cmd: ssh -o StrictHostKeyChecking=no %pseudotty% user@hostname %cmd%
    url: /path/to/wordpress

その後、次を使用します:wp @sitename option get siteurl

REST API の場合 — .dev.vars に保存します。

WP_SITE_URL=https://example.com
WP_USERNAME=admin
WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx

.dev.vars が .gitignore に含まれていることを確認します。複数のプロジェクトで使う場合は、お好みのシークレットマネージャー(環境変数、1Password CLI など)に保存します。

ステップ 4:すべてのアクセスを確認する

包括的なチェックを実行します。

# Site info
wp @sitename option get siteurl
wp @sitename option get blogname

# Content access
wp @sitename post list --post_type=page --posts_per_page=5 --fields=ID,post_title,post_status

# Plugin status (check for Elementor)
wp @sitename plugin status elementor

# Theme info
wp @sitename theme status
ステップ 5:サイト設定を保存する

他のスキルから参照できるように wordpress.config.json を作成します。

{
  "site": "example.com",
  "siteUrl": "https://example.com",
  "accessMethod": "ssh",
  "sshAlias": "sitename",
  "wpPath": "/path/to/wordpress",
  "hasElementor": true,
  "elementorVersion": "3.x.x"
}

重要なパターン

SSH 接続の問題
症状対処方法
Permission denied (publickey)SSH キーを確認します:ssh -v user@host
SSH 経由で wp: command not foundリモートの PATH に WP-CLI がありません — フルパスを使用します:/usr/local/bin/wp
Error: This does not appear to be a WordPress installationパスが間違っています — wp-path 引数を確認します
大規模な操作でタイムアウトする--ssh=user@host/path --allow-root を追加するか、SSH のタイムアウトを延長します
WP-CLI エイリアス

頻繁にアクセスするサイトには、~/.wp-cli/config.yml でエイリアスを定義します。

@client1:
  ssh: [email protected]/www/public
@client2:
  ssh: [email protected]/www/client2/public

その後:wp @client1 post list

REST API の注意点
  • アプリケーションパスワードには HTTPS が必要です(HTTP では動作しません)
  • セキュリティプラグインによって REST API がブロックされる場合があります — 401/403 レスポンスが返されないか確認します
  • キャッシュプラグインが古い REST レスポンスを返す場合があります — ?_=${timestamp} のキャッシュバスターを使用します
  • カスタム投稿タイプを API に表示するには、show_in_rest: true が必要です

参考ファイル

  • references/wp-cli-essentials.md — SSH エイリアスのパターン、一般的なフラグ、トラブルシューティング

コメント