Back to list
aiskillstore

wordpress-admin

by aiskillstore

Security-audited skills for Claude, Codex & Claude Code. One-click install, quality verified.

102🍴 3📅 Jan 23, 2026

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)

Local WordPress (Docker)

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")
  • 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.large or src.original URL 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

  1. Create page with slug privacy-policy
  2. Set template to page-privacy-policy.php
  3. Set focus keyphrase: "CSR privacy policy"
  4. Set meta description (~155 chars with keyphrase)
  5. Upload relevant featured image

Create Terms of Service Page

  1. Create page with slug terms
  2. Set template to page-terms.php
  3. Set focus keyphrase: "CSR terms of service"
  4. Set meta description (~155 chars with keyphrase)
  5. Upload relevant featured image

Reference

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

+5
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon