{"id":353996,"date":"2026-08-15T18:45:47","date_gmt":"2026-08-15T18:45:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/simbe-ai-website-editor\/"},"modified":"2026-08-15T18:45:22","modified_gmt":"2026-08-15T18:45:22","slug":"draftpilot-ai-site-editor","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/draftpilot-ai-site-editor\/","author":15852711,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"7.0.4","requires":"7.0","requires_php":"7.4","requires_plugins":null,"header_name":"DraftPilot AI Site Editor","header_author":"Simbe1","header_description":"Generate and edit WordPress pages with AI. Uses the WordPress core AI Client with any provider you connect under Settings \u2192 Connectors.","assets_banners_color":"32315a","last_updated":"2026-08-15 18:45:22","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/paypal.me\/HBesim","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/simbe1\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":45,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"simbe1","date":"2026-08-15 18:45:22"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3649956,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3648954,"resolution":"772x250","location":"assets","locale":"","width":1909,"height":824}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3648954,"resolution":"1","location":"assets","locale":"","width":1581,"height":722},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3648954,"resolution":"2","location":"assets","locale":"","width":1581,"height":724},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3648954,"resolution":"3","location":"assets","locale":"","width":1579,"height":725},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3648954,"resolution":"4","location":"assets","locale":"","width":1587,"height":723},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3648954,"resolution":"5","location":"assets","locale":"","width":1584,"height":723},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3648954,"resolution":"6","location":"assets","locale":"","width":1570,"height":716},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3648954,"resolution":"7","location":"assets","locale":"","width":1600,"height":741}},"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,4121,243,275884,10452],"plugin_category":[],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-353996","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-blocks","plugin_tags-pages","plugin_tags-site-generator","plugin_tags-website-builder","plugin_committers-simbe1"],"banners":{"banner":"https:\/\/ps.w.org\/draftpilot-ai-site-editor\/assets\/banner-772x250.png?rev=3648954","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/draftpilot-ai-site-editor\/assets\/icon-256x256.png?rev=3649956","icon_2x":"https:\/\/ps.w.org\/draftpilot-ai-site-editor\/assets\/icon-256x256.png?rev=3649956","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/draftpilot-ai-site-editor\/assets\/screenshot-1.png?rev=3648954","caption":""},{"src":"https:\/\/ps.w.org\/draftpilot-ai-site-editor\/assets\/screenshot-2.png?rev=3648954","caption":""},{"src":"https:\/\/ps.w.org\/draftpilot-ai-site-editor\/assets\/screenshot-3.png?rev=3648954","caption":""},{"src":"https:\/\/ps.w.org\/draftpilot-ai-site-editor\/assets\/screenshot-4.png?rev=3648954","caption":""},{"src":"https:\/\/ps.w.org\/draftpilot-ai-site-editor\/assets\/screenshot-5.png?rev=3648954","caption":""},{"src":"https:\/\/ps.w.org\/draftpilot-ai-site-editor\/assets\/screenshot-6.png?rev=3648954","caption":""},{"src":"https:\/\/ps.w.org\/draftpilot-ai-site-editor\/assets\/screenshot-7.png?rev=3648954","caption":""}],"raw_content":"<!--section=description-->\n<p>DraftPilot AI Site Editor turns one sentence about your business into a complete, editable website.<\/p>\n\n<p>Write a short brief (\"A family-run plumbing company in Austin offering repairs, installation and 24\/7 emergency service\") and the plugin will:<\/p>\n\n<ul>\n<li>Plan 3\u20136 pages (Home, Services, About, Contact, and more) that make sense for the business.<\/li>\n<li>Write specific, believable copy for every section.<\/li>\n<li>Apply a cohesive color palette and font pairing.<\/li>\n<li>Create every page as a draft, then wire up a navigation menu and set the front page.<\/li>\n<li>Let you refine any page in the block editor, or add a whole new section with one sentence.<\/li>\n<\/ul>\n\n<p><strong>Built on the WordPress core AI Client.<\/strong> DraftPilot AI Site Editor uses the core AI Client introduced in WordPress 7.0, so the plugin never stores API keys or provider credentials. Install an AI provider plugin of your choice and connect it under <strong>Settings \u2192 Connectors<\/strong> \u2014 the core AI Client handles models, keys, and billing.<\/p>\n\n<p><strong>Safe by design.<\/strong><\/p>\n\n<ul>\n<li><strong>Block registry<\/strong> \u2014 the AI may only emit a whitelist of block types (core blocks + 8 DraftPilot designer blocks). Everything is validated before it is saved; nothing raw from the LLM reaches the database.<\/li>\n<li><strong>No prompt injection<\/strong> \u2014 page content generated by the AI is stored as data (JSON block attributes), never executed as code.<\/li>\n<li><strong>Sanitized output<\/strong> \u2014 design tokens are validated against an allowlist before they are output as inline CSS, and all admin\/editor scripts are properly enqueued.<\/li>\n<\/ul>\n\n<h3>REST API<\/h3>\n\n<p>All endpoints live under <code>\/wp-json\/draftpilot-ai\/v1<\/code> and require <code>manage_options<\/code>:<\/p>\n\n<ul>\n<li><code>POST \/generate-site<\/code> <code>{ \"brief\": \"...\" }<\/code> \u2192 create a generation job<\/li>\n<li><code>GET \/job\/{id}<\/code> \u2192 poll job status<\/li>\n<li><code>POST \/add-section<\/code> <code>{ \"page_id\": 4, \"prompt\": \"...\" }<\/code> \u2192 append AI blocks to a page<\/li>\n<li><code>GET \/pages<\/code> \u2192 list generated pages<\/li>\n<li><code>POST \/pages\/delete-all<\/code> \u2192 permanently delete generated pages<\/li>\n<li><code>POST \/pages\/trash<\/code> <code>{ \"page_id\": 4 }<\/code> \u2192 trash one page<\/li>\n<li><code>GET \/nav-menu<\/code> \u2192 list menus<\/li>\n<li><code>POST \/nav-menu<\/code> <code>{ \"page_ids\": [4,5], \"name\": \"DraftPilot Site\", \"location\": \"primary\" }<\/code> \u2192 create or update a menu<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>DraftPilot AI transmits data to the AI provider you connect. Review how your provider handles your data before generating.<\/p>\n\n<ul>\n<li><strong>Data you send.<\/strong> The business brief you type, your site name and description, and the content generated from them are sent to the AI provider connected under <strong>Settings \u2192 Connectors<\/strong> using the WordPress core AI Client. The plugin does not transmit anything to the plugin author.<\/li>\n<li><strong>What is stored.<\/strong> Plugin settings (creativity level, site slug) and your generated pages. No API keys or provider credentials are stored by the plugin.<\/li>\n<li><strong>Full text.<\/strong> See the <strong>Privacy<\/strong> tab in the DraftPilot AI admin for the complete Terms of Service, Privacy Policy, and data provider list.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Requires WordPress 7.0 or newer.<\/li>\n<li>Upload and activate the plugin.<\/li>\n<li>Install an AI provider plugin and connect it under <strong>Settings \u2192 Connectors<\/strong> (e.g. a provider for OpenAI, Google, or Anthropic).<\/li>\n<li>Open <strong>DraftPilot AI<\/strong> in the admin menu, describe your business, and click <strong>Generate site<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20my%20own%20api%20key%3F\"><h3>Do I need my own API key?<\/h3><\/dt>\n<dd><p>The plugin does not store API keys. Connect an AI provider under <strong>Settings \u2192 Connectors<\/strong>; the provider plugin manages credentials and any associated costs.<\/p><\/dd>\n<dt id=\"which%20ai%20models%20does%20it%20use%3F\"><h3>Which AI models does it use?<\/h3><\/dt>\n<dd><p>The model is chosen by whichever provider you connect through the WordPress core AI Client. The plugin is provider-agnostic.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20wordpress%206.x%3F\"><h3>Does it work on WordPress 6.x?<\/h3><\/dt>\n<dd><p>No \u2014 this version requires WordPress 7.0 or newer, because it uses the core AI Client (<code>wp_ai_client_prompt()<\/code>).<\/p><\/dd>\n<dt id=\"where%20are%20generated%20pages%20stored%3F\"><h3>Where are generated pages stored?<\/h3><\/dt>\n<dd><p>Generated pages are normal WordPress pages, created as drafts. They are tagged with a <code>_simbe_ai_generated<\/code> meta flag so the plugin can list, trash, or delete them. Nothing is sent to any third-party server except the AI provider you connected.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Renamed the plugin to <strong>DraftPilot AI Site Editor<\/strong>.<\/li>\n<li>Migrated all AI calls to the WordPress core AI Client (<code>wp_ai_client_prompt()<\/code>); provider credentials are now managed by core <strong>Settings \u2192 Connectors<\/strong>.<\/li>\n<li>Replaced inline <code>&lt;script&gt;<\/code> in the admin with enqueued JavaScript.<\/li>\n<li>Sanitized and escaped all inline design CSS (colors, fonts, radii are allowlisted).<\/li>\n<li>Added a changelog and privacy documentation.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added a Privacy tab (Terms of Service, Privacy Policy, Data Providers) and readme privacy section.<\/li>\n<li>Added <code>uninstall.php<\/code> so all plugin data is removed on uninstall.<\/li>\n<li>Added a version badge and this changelog.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added an \"Add section\" sidebar panel for the block editor.<\/li>\n<li>Added block registry validation and JSON-safe generation.<\/li>\n<\/ul>","raw_excerpt":"Describe your business in a sentence and DraftPilot AI plans the pages, writes the copy, and builds them as editable drafts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/353996","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=353996"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/simbe1"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=353996"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=353996"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=353996"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=353996"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=353996"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=353996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}