wordpress-setup
Connect to a WordPress site via WP-CLI over SSH or the REST API. Check CLI, test SSH, set up auth, verify access, save config. Use whenever the user wants to connect to a WordPress site, set up WP-CLI access, create an Application Password, or troubleshoot WordPress connection / auth issues.
By jezweb · 1,413 installs
npx skills add jezweb/claude-skills --skill wordpress-setup
Source repository · Upstream listing
WordPress Setup
Connect to a WordPress site and verify working access via WP CLI or REST API. Produces a verified connection config ready for content management and Elementor editing.
Workflow
Step 1: Check WP CLI
If not installed, guide the user:
Also ensure the SSH extension is available (needed for remote sites):
Step 2: Connect to the Site
Option A: WP CLI over SSH (preferred)
Common patterns:
Rocket.net: wp ssh=user@hostname/www/sitename/public option get siteurl
cPanel: wp ssh=user@hostname/public html option get siteurl
Custom: Ask user for SSH user, host, and WordPress path
Test with a simple command first:
Option B: REST API with Application Password
If SSH isn't available:
1. Navigate to https://example.com/wp admin/profile.php (or use browser automation)
2. Scroll to "Application Passwords" section
3. Enter a name (e.g. "Claude Code") and click "Add New Application Password"
4. Copy the generated password (spaces are part of it but optional in auth)
Test the connection:
Step 3: Store Credentials
For WP CLI SSH — create a wp cli.yml in the project root:
Then use: wp @sitename option get siteurl
For REST API — store in .dev.vars :
Ensure .dev.vars is in .gitignore . For cross project use, store in your preferred secrets manager (environment variable, 1Password CLI, etc.).
Step 4: Verify Full Access
Run a comprehensive check:
Step 5: Save Site Config
Create wordpress.config.json for other skills to reference:
Critical Patterns
SSH Connection Issues
Symptom Fix
Permission denied (publickey) Check SSH key: ssh v user@host
wp: command not found via SSH WP CLI not in remote PATH — use full path: /usr/local/bin/wp
Error: This does not appear to be a WordPress installation Wrong path — check wp path argument
Timeout on large operations Add ssh=user@host/path allow root or increase SSH timeout
WP CLI Aliases
Define aliases in ~/.wp cli/config.yml for frequently accessed sites:
Then: wp @client1 post list
REST API Gotchas
Application passwords require HTTPS (won't work on HTTP)
Some security plugins block REST API — check for 401/403 responses
Caching plugins may serve stale REST responses — use ? =${timestamp} cache buster
Custom post types need show in rest: true to appear in API
Reference Files
references/wp cli essentials.md — SSH alias patterns, common flags, and troubleshooting