Marketplace wordpress-admin
Full WordPress site management - create pages/posts, configure SEO (Yoast), upload media, manage settings. Use when creating content, setting up SEO, or managing any WordPress site.
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/crazyswami/wordpress-admin" ~/.claude/skills/aiskillstore-marketplace-wordpress-admin && rm -rf "$T"
manifest:
skills/crazyswami/wordpress-admin/SKILL.mdsource content
WordPress Admin Skill
Complete WordPress site management via WP-CLI (local Docker) and REST API (production sites).
When to Use This Skill
Invoke this skill when you need to:
- Create pages or posts in WordPress
- Set up SEO (focus keyword, meta description, title)
- Upload and manage media/images
- Configure WordPress settings
- Check or recommend plugins
- Manage the local WordPress Docker environment
Available Sites
CSR Development (Production)
- Site URL: https://csrdevelopment.com
- REST API: https://csrdevelopment.com/wp-json/wp/v2
- FTP Host: ftp.csrdevelopment.com
- FTP User: alfonso@csrdevelopment.com
- Theme Path: /wp-content/themes/csr-theme
- Local Files: /root/csrdevelopment.com/csrdevelopment.com/public_html
Local WordPress (Docker)
- Site URL: https://local2.hustletogether.com
- Container: wordpress-local-wordpress-1
- WP-CLI:
docker exec wordpress-local-wordpress-1 wp <command> --allow-root - Admin: https://local2.hustletogether.com/wp-admin
- Credentials: admin / admin123
Workflows
Create a Page
Local (Docker):
docker exec wordpress-local-wordpress-1 wp post create \ --post_type=page \ --post_title="Privacy Policy" \ --post_name="privacy-policy" \ --post_status="publish" \ --allow-root
Production (REST API):
curl -X POST "https://csrdevelopment.com/wp-json/wp/v2/pages" \ -H "Authorization: Basic BASE64_CREDENTIALS" \ -H "Content-Type: application/json" \ -d '{ "title": "Privacy Policy", "slug": "privacy-policy", "status": "publish", "template": "page-privacy-policy.php" }'
Set Page Template
docker exec wordpress-local-wordpress-1 wp post meta update <POST_ID> _wp_page_template "page-privacy-policy.php" --allow-root
Configure SEO (Yoast)
Requirements: Theme must have Yoast meta fields registered (see functions.php snippet below)
# Set focus keyphrase docker exec wordpress-local-wordpress-1 wp post meta update <POST_ID> _yoast_wpseo_focuskw "privacy policy miami real estate" --allow-root # Set meta description (155 chars max, include focus keyword) docker exec wordpress-local-wordpress-1 wp post meta update <POST_ID> _yoast_wpseo_metadesc "Learn how CSR Real Estate protects your privacy and handles personal information on our Miami real estate development website." --allow-root # Set SEO title docker exec wordpress-local-wordpress-1 wp post meta update <POST_ID> _yoast_wpseo_title "Privacy Policy | CSR Real Estate" --allow-root
Upload Media
From URL:
docker exec wordpress-local-wordpress-1 wp media import "https://images.pexels.com/photos/123456/image.jpg" --title="Privacy Header" --allow-root
Set Featured Image:
docker exec wordpress-local-wordpress-1 wp post meta update <POST_ID> _thumbnail_id <MEDIA_ID> --allow-root
List Pages/Posts
docker exec wordpress-local-wordpress-1 wp post list --post_type=page --allow-root docker exec wordpress-local-wordpress-1 wp post list --post_type=post --allow-root docker exec wordpress-local-wordpress-1 wp post list --post_type=property --allow-root
Check/Install Plugins
# List installed plugins docker exec wordpress-local-wordpress-1 wp plugin list --allow-root # Install and activate a plugin docker exec wordpress-local-wordpress-1 wp plugin install wordpress-seo --activate --allow-root
SEO Best Practices
Focus Keyphrase
- 2-4 words that describe the page content
- Should appear in title, meta description, and content
- Use naturally, don't keyword stuff
Meta Description
- 150-155 characters max
- Include focus keyphrase
- Compelling call to action
- Unique for each page
Page Title (SEO Title)
- 50-60 characters max
- Focus keyphrase near the beginning
- Brand name at the end (e.g., "Title | CSR Real Estate")
Featured Image
- Every page/post should have one
- Optimized file size (< 200KB)
- Descriptive alt text with keyphrase
Required Theme Modification
Add to theme's
functions.php to enable Yoast fields via REST API:
// Enable Yoast SEO fields in REST API function enable_yoast_rest_api() { $post_types = ['post', 'page', 'property']; foreach ($post_types as $type) { register_post_meta($type, '_yoast_wpseo_focuskw', [ 'show_in_rest' => true, 'single' => true, 'type' => 'string' ]); register_post_meta($type, '_yoast_wpseo_metadesc', [ 'show_in_rest' => true, 'single' => true, 'type' => 'string' ]); register_post_meta($type, '_yoast_wpseo_title', [ 'show_in_rest' => true, 'single' => true, 'type' => 'string' ]); } } add_action('init', 'enable_yoast_rest_api');
Stock Photo Integration
Pexels API
- API Key: Store in
/root/.pexels-api-key - Search:
curl -H "Authorization: API_KEY" "https://api.pexels.com/v1/search?query=TERM&per_page=5" - Download: Use the
orsrc.large
URL from responsesrc.original
Unsplash API
- API Key: Store in
/root/.unsplash-api-key - Search:
curl "https://api.unsplash.com/search/photos?query=TERM&client_id=API_KEY"
Scripts
wp-page.py
Creates a WordPress page with optional SEO and featured image.
Usage:
python3 /root/.claude/skills/wordpress-admin/scripts/wp-page.py \ --site local \ --title "Privacy Policy" \ --slug "privacy-policy" \ --template "page-privacy-policy.php" \ --focus-kw "privacy policy" \ --meta-desc "Description here"
wp-seo.py
Sets Yoast SEO fields for existing posts/pages.
Usage:
python3 /root/.claude/skills/wordpress-admin/scripts/wp-seo.py \ --site local \ --post-id 123 \ --focus-kw "keyword" \ --meta-desc "Description" \ --seo-title "SEO Title"
wp-media.py
Downloads stock photo and uploads to WordPress.
Usage:
python3 /root/.claude/skills/wordpress-admin/scripts/wp-media.py \ --site local \ --search "miami skyline" \ --set-featured 123
Docker Management
Start Local WordPress
cd /root/csrdevelopment.com/wordpress-local && docker-compose up -d
Stop Local WordPress
cd /root/csrdevelopment.com/wordpress-local && docker-compose down
View Logs
docker logs wordpress-local-wordpress-1 -f
Reset Database
cd /root/csrdevelopment.com/wordpress-local && docker-compose down -v && docker-compose up -d
FTP Sync (Production)
Sync Theme Files
/root/csrdevelopment.com/sync-to-remote.sh
Upload Single File
lftp -u "alfonso@csrdevelopment.com",'@#s;v1#%1M$+' ftp.csrdevelopment.com << 'EOF' set ssl:verify-certificate no cd /public_html/wp-content/themes/csr-theme put /root/csrdevelopment.com/csrdevelopment.com/public_html/wp-content/themes/csr-theme/FILE.php bye EOF
Common Tasks
Create Privacy Policy Page
- Create page with slug
privacy-policy - Set template to
page-privacy-policy.php - Set focus keyphrase: "CSR privacy policy"
- Set meta description (~155 chars with keyphrase)
- Upload relevant featured image
Create Terms of Service Page
- Create page with slug
terms - Set template to
page-terms.php - Set focus keyphrase: "CSR terms of service"
- Set meta description (~155 chars with keyphrase)
- Upload relevant featured image
Reference
- WordPress REST API: https://developer.wordpress.org/rest-api/
- WP-CLI Commands: https://developer.wordpress.org/cli/commands/
- Yoast SEO API: https://developer.yoast.com/customization/apis/
- Pexels API: https://www.pexels.com/api/documentation/