wordpress-publishing-skill-for-claudePublish content directly to WordPress sites via REST API with full Gutenberg block support. Create and publish posts/pages, auto-load and select categories from website, generate SEO-optimized tags, preview articles before publishing, and generate Gutenberg blocks for tables, images, lists, and rich formatting. Use when user wants to publish to WordPress, post to blog, create WordPress article, update WordPress post, or convert markdown to Gutenberg blocks.
Install via ClawdBot CLI:
clawdbot install Asif2BD/wordpress-publishing-skill-for-claudePublish content directly to WordPress sites using the REST API with full Gutenberg block formatting, automatic category selection, SEO tag generation, and preview capabilities.
1. CONNECT โ Authenticate with WordPress site
2. ANALYZE โ Load categories from site, analyze content for best match
3. GENERATE โ Create SEO-optimized tags based on content
4. CONVERT โ Transform markdown/HTML to Gutenberg blocks
5. PREVIEW โ Create draft and verify rendering
6. PUBLISH โ Publish or schedule the post
7. VERIFY โ Confirm live post renders correctly
Ask user for:
https://example.com)Guide user:
Claude Publisherfrom scripts.wp_publisher import WordPressPublisher
wp = WordPressPublisher(
site_url="https://example.com",
username="admin",
password="xxxx xxxx xxxx xxxx xxxx xxxx" # Application password
)
# Test connection
user_info = wp.test_connection()
print(f"Connected as: {user_info['name']}")
# Get all categories from the WordPress site
categories = wp.get_categories_with_details()
# Returns list like:
# [
# {'id': 1, 'name': 'Uncategorized', 'slug': 'uncategorized', 'count': 5},
# {'id': 2, 'name': 'Tutorials', 'slug': 'tutorials', 'count': 12},
# {'id': 3, 'name': 'Cloud Hosting', 'slug': 'cloud-hosting', 'count': 8},
# ]
The system analyzes content and selects the most appropriate category:
# Analyze content and suggest best category
suggested_category = wp.suggest_category(
content=article_content,
title=article_title,
available_categories=categories
)
# Or let user choose from available options
print("Available categories:")
for cat in categories:
print(f" [{cat['id']}] {cat['name']} ({cat['count']} posts)")
Generate tags that improve Google search visibility:
# Generate tags based on content analysis
tags = wp.generate_seo_tags(
content=article_content,
title=article_title,
max_tags=10
)
# Returns list like:
# ['n8n hosting', 'workflow automation', 'self-hosted n8n',
# 'affordable hosting', 'docker deployment', 'node.js hosting']
# Get or create all tags, returns list of tag IDs
tag_ids = wp.get_or_create_tags(tags)
from scripts.content_to_gutenberg import convert_to_gutenberg
# Convert markdown content
gutenberg_content = convert_to_gutenberg(markdown_content)
| Markdown | Gutenberg Block |
|----------|-----------------|
| # Heading | wp:heading |
| bold | in paragraph |
| - list item | wp:list |
| 1. ordered | wp:list {"ordered":true} |
| \\\code\\\` | wp:code` |
| > quote | wp:quote |
| !alt | wp:image |
| \| table \| | wp:table |
Tables are converted with proper Gutenberg structure:
# Input markdown:
| Feature | Plan A | Plan B |
|---------|--------|--------|
| Price | $10 | $20 |
# Output Gutenberg:
<!-- wp:table -->
<figure class="wp-block-table"><table>
<thead><tr><th>Feature</th><th>Plan A</th><th>Plan B</th></tr></thead>
<tbody><tr><td>Price</td><td>$10</td><td>$20</td></tr></tbody>
</table></figure>
<!-- /wp:table -->
# Create as draft first
result = wp.create_draft(
title="Article Title",
content=gutenberg_content,
categories=[category_id],
tags=tag_ids,
excerpt="Auto-generated or custom excerpt"
)
post_id = result['post_id']
preview_url = result['preview_url']
edit_url = result['edit_url']
# Fetch preview page to verify rendering
preview_content = wp.fetch_preview(post_id)
# Check for issues
issues = wp.validate_rendered_content(preview_content)
if issues:
print("Issues found:")
for issue in issues:
print(f" - {issue}")
# After preview approval, publish
result = wp.publish_post(post_id)
live_url = result['live_url']
# Full publish workflow in one call
result = wp.publish_content(
title="Article Title",
content=gutenberg_content,
category_names=["Cloud Hosting"], # By name, auto-resolves to ID
tag_names=["n8n", "hosting", "automation"],
status="publish", # or "draft", "pending", "private", "future"
excerpt="Custom excerpt for SEO",
slug="custom-url-slug"
)
# Schedule for future publication
from datetime import datetime, timedelta
publish_date = datetime.now() + timedelta(days=1)
result = wp.publish_content(
title="Scheduled Post",
content=content,
status="future",
date=publish_date.isoformat()
)
# Verify the published post
verification = wp.verify_published_post(post_id)
print(f"Live URL: {verification['url']}")
print(f"Status: {verification['status']}")
print(f"Categories: {verification['categories']}")
print(f"Tags: {verification['tags']}")
| Issue | Cause | Solution |
|-------|-------|----------|
| Tables not rendering | Missing figure wrapper | Use proper wp:table block structure |
| Code not highlighted | Missing language attribute | Add {"language":"python"} to code block |
| Images broken | Wrong URL or missing media | Upload to WordPress first, use media ID |
| Tags not showing | Theme doesn't display tags | Check theme settings or use different theme |
from scripts.wp_publisher import WordPressPublisher
from scripts.content_to_gutenberg import convert_to_gutenberg
# 1. Connect
wp = WordPressPublisher(
site_url="https://xcloud.host",
username="admin",
password="xxxx xxxx xxxx xxxx"
)
# 2. Load categories and select best match
categories = wp.get_categories_with_details()
best_category = wp.suggest_category(content, title, categories)
# 3. Generate SEO tags
tags = wp.generate_seo_tags(content, title, max_tags=10)
# 4. Convert to Gutenberg
gutenberg_content = convert_to_gutenberg(markdown_content)
# 5. Create draft and preview
draft = wp.create_draft(
title="7 Best n8n Hosting Providers in 2026",
content=gutenberg_content,
categories=[best_category['id']],
tags=wp.get_or_create_tags(tags)
)
print(f"Preview: {draft['preview_url']}")
# 6. After verification, publish
result = wp.publish_post(draft['post_id'])
print(f"Published: {result['live_url']}")
| Resource | Endpoint |
|----------|----------|
| Posts | /wp-json/wp/v2/posts |
| Pages | /wp-json/wp/v2/pages |
| Categories | /wp-json/wp/v2/categories |
| Tags | /wp-json/wp/v2/tags |
| Media | /wp-json/wp/v2/media |
| Status | Description |
|--------|-------------|
| publish | Live and visible |
| draft | Saved but not visible |
| pending | Awaiting review |
| private | Only visible to admins |
| future | Scheduled for later |
scripts/wp_publisher.py - Main publisher classscripts/content_to_gutenberg.py - Markdown/HTML converterreferences/gutenberg-blocks.md - Block format reference| Error Code | Meaning | Solution |
|------------|---------|----------|
| 401 | Invalid credentials | Check username and application password |
| 403 | Insufficient permissions | User needs Editor or Admin role |
| 404 | Endpoint not found | Verify REST API is enabled |
| 400 | Invalid data | Check category/tag IDs exist |
| 500 | Server error | Retry or check WordPress error logs |
Generated Mar 1, 2026
Agency teams use this skill to publish client blog posts directly from content creation tools, automating category selection and SEO tag generation. It streamlines workflows for multiple WordPress sites, ensuring consistent formatting with Gutenberg blocks and reducing manual upload time.
Independent bloggers or small teams publish technical tutorials with code snippets and tables, converting markdown to Gutenberg blocks for proper rendering. The skill auto-loads categories from the site and generates SEO tags to improve search visibility for niche topics.
Online stores use the skill to create and publish product announcement posts or guides, integrating with WordPress to auto-select relevant categories like 'New Arrivals'. It ensures rich formatting with images and lists, and previews drafts before going live to avoid errors.
Educational institutions or e-learning platforms publish course materials or articles, leveraging the skill to convert structured content like tables and lists into Gutenberg blocks. It helps maintain consistency across posts and uses SEO tag generation to attract learners.
Offer the skill as part of a subscription service for content creators, charging monthly fees for access to advanced features like auto-category selection and SEO optimization. Revenue comes from tiered plans based on usage limits or number of WordPress sites.
Freelancers use the skill to streamline client work, billing per project or hour saved by automating WordPress publishing. They can upsell services like SEO tag generation and Gutenberg conversion, increasing project value and efficiency.
Marketing agencies integrate the skill into their service packages, using it to handle content publishing for multiple clients. Revenue is generated through bundled service fees, with the skill reducing operational costs and improving turnaround times.
๐ฌ Integration Tip
Ensure users generate application passwords in WordPress, not regular passwords, and test connections before full deployment to avoid authentication issues.
OpenClaw skill that provides a WordPress REST API CLI for posts, pages, categories, tags, users, and custom requests using plain HTTP.
Use when developing WordPress themes, plugins, customizing Gutenberg blocks, implementing WooCommerce features, or optimizing WordPress performance and security.
ๅๆ็ซ ๅนถๅๅธๅฐ CSDNใไฝฟ็จๆต่งๅจ่ชๅจๅ + ๆซ็ ็ปๅฝใๆฏๆ้่ฟ Telegram ๅ้ไบ็ปด็ ๏ผๆ ้ VNCใ้ๆ blog-writer ๅไฝๆนๆณ่ฎบ๏ผไบงๅบ้ซ่ดจ้ใๆไธชไบบ้ฃๆ ผ็ๆๆฏๆ็ซ ใ
Manage WordPress sites via MCP (Model Context Protocol) through AI Engine. Use for creating/editing posts, SEO analysis, analytics, media management, taxonomy operations, social media scheduling, multilingual content (Polylang), and any WordPress admin task. Requires AI Engine plugin (free) with MCP Server enabled. Also use when asked about WordPress site management, content workflows, or WP-related tasks.
WordPress.com API integration with managed OAuth. Manage posts, pages, sites, and content. Use this skill when users want to create, read, update, or delete WordPress.com posts, pages, or manage site content. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key.
Convert a WordPress website to a static site and deploy to Cloudflare Pages. Mirrors the rendered HTML via SSH, extracts only referenced assets (shrinks 1.5GB+ to ~25MB), fixes URLs, self-hosts fonts, strips WordPress cruft, and deploys. Use when migrating a WordPress site to static hosting.