
wordpress-admin
by aiskillstore
Security-audited skills for Claude, Codex & Claude Code. One-click install, quality verified.
SKILL.md
name: wordpress-admin description: 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. allowed-tools: Read, Write, Edit, Bash(docker *), Bash(curl *), Bash(python3 *), Bash(lftp *)
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
src.largeorsrc.originalURL from response
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/
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
