
Publish AI-generated blogs from DraftSEO.AI directly to WordPress with automatic image import and SEO optimization.
Publish complete, AI-generated blog posts from DraftSEO.AI to your WordPress site in one click. Images are automatically transferred to your Media Library, meta descriptions and keywords are preserved, and categories and tags are applied — no copy-pasting, no manual uploads.
Key Features
- One-Click Publishing – Publish AI-generated blogs from DraftSEO.AI to WordPress instantly
- Automatic Image Import – Images are automatically transferred from DraftSEO.AI to your WordPress Media Library
- SEO Optimization – All SEO metadata, meta descriptions, and keywords are transferred and applied
- Category & Tag Management – Sync WordPress categories and automatically create tags from blog keywords
- Multiple Publishing Options – Save as draft, publish immediately, or schedule for later
- Clean HTML Output – Published posts use proper heading tags, responsive table markup, and
rel="noopener noreferrer" on all external links
- Secure Connection – Account credentials are encrypted at rest using AES-256-CBC and are never sent in plain text
- Signed Disconnect Notifications – When you deactivate or remove the plugin, your DraftSEO.AI account is notified via an HMAC-SHA256 signed request — no ghost connections left behind
How It Works
- Install and activate the plugin on your WordPress site
- Click “Connect with DraftSEO.ai” in plugin settings while you are logged in to your DraftSEO.ai account
- Connection completes automatically via OAuth — no API key needed
- Toggle WordPress Auto-publish ON when generating blogs, or click “Publish to WordPress” on any previously generated blog
Image Import
All images are downloaded directly from DraftSEO.AI to your WordPress Media Library — giving you full ownership with no ongoing external dependencies.
- 1–5 images: All images are downloaded in parallel and transfer immediately (typically 5–15 seconds)
- 6+ images: The featured image is set right away; remaining images are downloaded in parallel and transferred in the background via Action Scheduler — no page visit required to start the background job
Requires an active DraftSEO.AI account. Visit draftseo.ai to sign up.
External Services
This plugin connects to the DraftSEO.AI service to generate and publish AI-written blog content.
Data sent:
– Website URL
– OAuth authentication token
– Content publishing requests
– HMAC-SHA256 signed webhook notifications (API key is used as signing secret, never transmitted)
Data received:
– Generated blog content
– Images and metadata
Service provider:
DraftSEO.AI
https://draftseo.ai
Terms of Service: https://draftseo.ai/terms
Privacy Policy: https://draftseo.ai/privacy
Screenshots

Plugin settings page
FAQ
How do I connect my WordPress site?
Simply click the “Connect with DraftSEO.AI” button and the connection completes automatically. You must be signed in DraftSEO.ai in another tab.
What happens to the images?
Images are downloaded from DraftSEO.ai directly to your WordPress Media Library. You have full ownership and they’re stored locally on your server.
Can I publish to multiple WordPress sites?
Yes! You can connect multiple WordPress sites to your DraftSEO.AI account. Each site needs the plugin installed.
Does this work with custom post types?
The plugin currently supports only standard WordPress posts and pages.
How many images can be imported per blog?
The plugin can handle unlimited images per blog. For blogs with 1-5 images, import is instant. For 6+ images, the featured image is imported immediately and remaining images are processed in the background.
Is there a limit on blog length?
No, there’s no limit on blog length or word count. The plugin handles content of any size.
Does this require a DraftSEO.AI subscription?
Yes, you need an active DraftSEO.AI account to use this plugin.
Where can I get help?
For support and questions:
* Visit https://draftseo.ai/contact for any questions
ChangeLog
1.1.3
Reliability improvements, faster image loading, and cleaner background processing.
- Fixed: Images on published posts were sometimes not appearing on low-traffic websites — they were queued to download in the background but the background job wasn’t starting until the next page visit. They now start immediately regardless of site traffic.
- Fixed: Switching the plugin off while a publish was in progress could leave background tasks running after deactivation. The plugin now cleanly stops all background jobs when it is deactivated.
- Fixed: Removing the plugin (uninstall) now properly disconnects your site from DraftSEO.AI — the connection is closed on the DraftSEO side before all plugin data is removed.
- Fixed: Plugin text was not translating correctly on WordPress sites running in a language other than English. Translation files now load properly.
- Improved: Background image jobs now use Action Scheduler instead of WP Cron. Action Scheduler runs as a true background process without requiring a page visit, retries failed jobs automatically, and shows pending and completed jobs in the WordPress admin at Tools > Scheduled Actions.
- Improved: Images in background jobs are now downloaded in parallel before being imported. For a blog with 20 images this reduces total download time from roughly 60–100 seconds (sequential) to 5–15 seconds (parallel).
- Fixed: Republishing a post was creating duplicate images in the Media Library for any image that had not changed. Only new or replaced images are now downloaded and imported — unchanged images are reused from the existing Media Library entry.
1.1.2
Security update: fixes API token authentication on WordPress sites where the Application Passwords feature or a security plugin was blocking server-to-server requests from DraftSEO.AI before they could be validated.
1.1.0
Automatic cleanup when republishing with a new image.
- When you republish a post with a new AI-generated image, the new image is swapped in automatically and the previous image is removed from your WordPress Media Library — keeps your media folder clean and saves storage space.
1.0.5
YouTube video embeds now work on WordPress.
- Fixed YouTube videos not appearing on published WordPress posts — videos are now properly converted to native WordPress embed blocks before publishing, so they show up as responsive YouTube players on your site
1.0.4
Content formatting and image fixes.
- Fixed headings appearing as raw text after images instead of being properly formatted
- Removed unwanted image captions — image descriptions were showing as visible text below every image. They are now used for accessibility only and no longer display on the page
1.0.3
Content formatting fixes.
- Fixed headings sometimes appearing as plain text instead of proper headings
- Fixed citation links being malformed in published posts
1.0.2
Citation links, external link handling, and FAQ structured data for rich results.
- In-text citations —
[1], [2] markers now render as clickable superscript links that jump to the matching reference in the References section
- References section — Converted to a numbered list with anchor IDs (
#ref-1, #ref-2) for smooth in-page navigation
- External links — All external links now open in a new tab with
rel="noopener noreferrer"
- FAQ structured data — FAQ question-answer pairs from blog content are injected as JSON-LD into the post
<head> for Google FAQ rich results
- Theme-consistent styling — CSS is injected for citations, references, and tables so they display correctly across all WordPress themes
- Active sites filter — The WordPress site dropdown now shows only connected, active sites
1.0.1
Hotfix for content rendering in published posts.
- Fixed: YouTube embeds were being stripped during publishing — they now render as embedded players on your site
- Fixed: Data tables were displaying as raw Markdown text instead of formatted HTML tables
1.0.0
Major release — security hardening, reliability improvements, and full tag management.
Security
- Webhook signatures — Disconnect and deactivation notifications are signed with HMAC-SHA256 (
X-DraftSEO-Signature, X-DraftSEO-Timestamp headers); the API key is the signing secret and is never transmitted in plain text
- Replay protection — Signed requests include a Unix timestamp; requests older than 5 minutes are rejected
- API keys encrypted at rest — AES-256-CBC with a unique IV per key, derived from the WordPress site’s auth salt
Publishing & REST API
- Tags endpoint —
GET /wp-json/draftseo/v1/tags added for tag sync, matching the existing /users and /categories endpoints
- Server-side input validation —
/publish and /update routes validate and sanitise all params before the handler runs
- Structured error responses — All errors return specific codes (
rest_forbidden, rest_missing_param, rest_publish_error, etc.) for better debugging
- Bidirectional disconnect — Disconnecting from DraftSEO.AI calls
/remote-disconnect to clear connection settings on the plugin side automatically
Reliability
- Handles security plugin blocks and maintenance pages gracefully — no silent failures when a WAF or caching layer intercepts requests
- Sync requests now have a timeout so connections never hang indefinitely
- Multi-site view: individual site connection errors are isolated so one broken connection does not affect others
Performance
- Users, categories, and tags are now fetched in parallel instead of sequentially
- Retries only fire on server errors (5xx) — client errors (4xx) fail immediately without wasting retry attempts
Tag Management
- Auto-create WordPress tags from AI-generated keywords at publish time (configurable, 1–10 tags)
- Select from existing WordPress tags, or create new ones on the fly during publishing
Image Handling
- All images downloaded directly to your WordPress Media Library
- Alt text from DraftSEO.AI preserved as WordPress image alt text
- Featured image set automatically; all image URLs in post content updated from DraftSEO.AI CDN to your local Media Library URLs
Usability
- “Settings” quick-link added to the Plugins page for faster access to plugin configuration
0.2.0
Initial beta release.
- One-click blog publishing from DraftSEO.AI
- Automatic image import from DraftSEO.ai
- SEO metadata transfer
- WordPress category sync
- Auto-create tags from keywords
- Multiple post status options (draft, publish, schedule)
- Content cleanup and formatting
- Secure API key encryption
- Background image processing for large blogs
- Remote disconnect synchronization
- OAuth-based connection flow