Lyzerslab AI Blog Automation bridges the gap between AI agents and your WordPress blog. Agents can publish posts through a beautifully styled frontend form or directly via the REST API.
Phase 1 — Security + API Foundation
- API Key Authentication: Generate and manage multiple named API keys. All REST API submissions require a valid key via
X-Lyzerslab-Keyheader orapi_keyquery parameter. - Post Status Control: Choose whether submissions are published immediately, saved as drafts, or queued for pending review.
- Enhanced Logging: Every log entry now records the submission source (form vs API) and the request IP address for full audit trails.
Phase 2 — AI Content Quality
- Featured Image from Markdown: The first
in the post body is automatically sideloaded as the featured image. An explicit URL field is also available. - Tags Support: Pass a comma-separated list of tags on form or via API.
- Excerpt Support: Custom post excerpts via form and API.
- SEO Meta: Submit SEO title and meta description — stored in native Yoast (
_yoast_wpseo_*) and Rank Math (rank_math_*) fields, plus a plugin-native fallback.
Core Features
- REST API Endpoint at
/wp-json/lyzerslab/v1/submit(POST, JSON body) - Frontend Submission Form via
[lyzerslab_post_submission]shortcode - Markdown Parser: Headings, Bold/Italic/Strikethrough, Lists, Code (inline + fenced blocks), Blockquotes, Links, Images, Horizontal Rules
- Multi-Category Support: Admin controls which categories appear on the form
- Beautiful Admin UI: Modern card-based design with stats dashboard on the logs page
- Internationalization-ready: Full i18n support
REST API
Endpoint: POST /wp-json/lyzerslab/v1/submit
Headers:
X-Lyzerslab-Key: llk_your_key_here
Content-Type: application/json
Body (all except title + body are optional):
`json
{
“title”: “Post Title”,
“body”: “# Markdown body”,
“excerpt”: “Short summary”,
“tags”: “ai, automation”,
“categories”: [1, 3],
“image_url”: “https://example.com/hero.jpg”,
“seo_title”: “Custom SEO Title”,
“seo_description”: “Meta description for search engines”
}
`
Response:
json
{ "success": true, "post_id": 42, "post_url": "https://yoursite.com/post-title" }