{"id":288841,"date":"2026-03-15T17:59:17","date_gmt":"2026-03-15T17:59:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kitful\/"},"modified":"2026-08-21T13:46:55","modified_gmt":"2026-08-21T13:46:55","slug":"kitful","status":"publish","type":"plugin","link":"https:\/\/sr.wordpress.org\/plugins\/kitful\/","author":23463921,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1","requires":"6.4","requires_php":"8.0","requires_plugins":null,"header_name":"Kitful","header_author":"Kitful","header_description":"Connect WordPress to Kitful so you can publish SEO-ready articles from your Kitful workspace.","assets_banners_color":"ffffff","last_updated":"2026-08-21 13:46:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/kitful.ai","rating":0,"author_block_rating":0,"active_installs":0,"downloads":400,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"rashish","date":"2026-03-15 17:58:48"},"1.1.0":{"tag":"1.1.0","author":"rashish","date":"2026-08-21 13:46:55"}},"upgrade_notice":{"1.1.0":"<p>Kitful can now update an existing post in place when you approve an improvement in Kitful. Updating posts Kitful did not create is off by default and has its own setting.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3483239,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3483239,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3483239,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3483239,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3483239,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3483239,"resolution":"1","location":"assets","locale":"","width":3200,"height":2400},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3483239,"resolution":"2","location":"assets","locale":"","width":3200,"height":2400},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3483239,"resolution":"3","location":"assets","locale":"","width":3200,"height":2400},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3483239,"resolution":"4","location":"assets","locale":"","width":3200,"height":2400}},"screenshots":{"1":"Connect your WordPress site to a Kitful workspace from <code>Settings -&gt; Kitful<\/code>.","2":"Choose how incoming Kitful articles should be published in WordPress.","3":"Review synced Kitful posts and publishing defaults from the plugin settings page.","4":"Publish SEO-ready Kitful content into WordPress with images and metadata."}},"plugin_section":[],"plugin_tags":[2353,210511,410,181641,186],"plugin_category":[55],"plugin_contributors":[257803],"plugin_business_model":[],"class_list":["post-288841","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-ai-writer","plugin_tags-blogging","plugin_tags-content-automation","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-rashish","plugin_committers-rashish"],"banners":{"banner":"https:\/\/ps.w.org\/kitful\/assets\/banner-772x250.png?rev=3483239","banner_2x":"https:\/\/ps.w.org\/kitful\/assets\/banner-1544x500.png?rev=3483239","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/kitful\/assets\/icon.svg?rev=3483239","icon":"https:\/\/ps.w.org\/kitful\/assets\/icon.svg?rev=3483239","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kitful\/assets\/screenshot-1.png?rev=3483239","caption":"Connect your WordPress site to a Kitful workspace from <code>Settings -&gt; Kitful<\/code>."},{"src":"https:\/\/ps.w.org\/kitful\/assets\/screenshot-2.png?rev=3483239","caption":"Choose how incoming Kitful articles should be published in WordPress."},{"src":"https:\/\/ps.w.org\/kitful\/assets\/screenshot-3.png?rev=3483239","caption":"Review synced Kitful posts and publishing defaults from the plugin settings page."},{"src":"https:\/\/ps.w.org\/kitful\/assets\/screenshot-4.png?rev=3483239","caption":"Publish SEO-ready Kitful content into WordPress with images and metadata."}],"raw_content":"<!--section=description-->\n<p>Kitful lets you connect a WordPress site to your Kitful workspace and receive posts published from Kitful.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Connect WordPress to your Kitful workspace in a few clicks<\/li>\n<li>Publish Kitful articles to WordPress as drafts, pending posts, private posts, or published posts<\/li>\n<li>Update an existing post in place when you approve an improvement in Kitful, keeping its URL, status and categories<\/li>\n<li>Set default WordPress author and categories for incoming articles<\/li>\n<li>Map SEO title and description into popular WordPress SEO plugins<\/li>\n<li>Import featured images into the WordPress Media Library<\/li>\n<li>Review recently synced Kitful posts from the WordPress settings page<\/li>\n<\/ul>\n\n<p>This plugin:<\/p>\n\n<ul>\n<li>generates a secure secret for Kitful requests<\/li>\n<li>exposes WordPress REST endpoints used by Kitful<\/li>\n<li>lets you choose local publishing defaults like draft or publish<\/li>\n<li>maps SEO title and description into popular WordPress SEO plugins<\/li>\n<li>shows recent posts synced from Kitful<\/li>\n<\/ul>\n\n<p>This plugin requires a Kitful account.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Kitful, the service that writes and improves your content. A Kitful account is required for the plugin to do anything.<\/p>\n\n<p><strong>When the plugin contacts Kitful.<\/strong> Only when an administrator clicks <code>Connect to Kitful<\/code> on the plugin settings screen. Your browser is then redirected to Kitful carrying your site URL, the plugin REST base URL, and a short-lived connect token, so Kitful can establish the connection for this site. The plugin sends nothing on a schedule and reports no analytics, usage telemetry, or tracking data.<\/p>\n\n<p><strong>When Kitful contacts your site.<\/strong> Kitful calls the REST endpoints this plugin registers, authenticated with the site secret. Those requests can:<\/p>\n\n<ul>\n<li>Create a post from an article you published in Kitful, or update the post it created earlier if you publish that same article again. The request may include the article HTML, its title, slug and excerpt, an SEO title and description, a canonical URL, a language code, tags, and a featured image URL.<\/li>\n<li><strong>Update an existing post that is already on your site.<\/strong> When you approve an improvement in Kitful, the request can replace that post's <strong>title<\/strong>, <strong>body content<\/strong>, and <strong>SEO meta description<\/strong>. Whenever the title or body changes, the plugin saves the previous version as a WordPress revision first, so you can compare or restore it from the post editor. That relies on revisions being enabled for the post, which is the WordPress default but can be switched off. The post's URL, status, author, categories, tags, featured image, publish date, and SEO <em>title<\/em> are never changed.<\/li>\n<li>Read back a small amount of status information so Kitful can show whether the site is connected.<\/li>\n<\/ul>\n\n<p><strong>Updating posts Kitful did not create is off by default.<\/strong> Kitful may always update a post it published itself. To let it update a post you or someone else wrote, turn on <code>Allow Kitful to update posts it did not create<\/code> in <code>Settings -&gt; Kitful<\/code>. Every update is also checked against the WordPress capabilities of the account named in <code>Default author<\/code>. Choose a low-privileged account there and Kitful can never edit a post that account could not edit by hand. Left unset, that check runs against an administrator, so the setting above is what limits Kitful on a default install.<\/p>\n\n<p>If an article includes a featured image URL, WordPress makes an outbound request to that image host to download the image into the local Media Library.<\/p>\n\n<p>Service URL: https:\/\/kitful.ai<\/p>\n\n<p>Privacy Policy: https:\/\/kitful.ai\/privacy<\/p>\n\n<p>Terms of Service: https:\/\/kitful.ai\/terms<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin communicates with <code>https:\/\/kitful.ai<\/code> when an administrator clicks <code>Connect to Kitful<\/code> and when Kitful sends authenticated publish, update, or ping requests to the REST endpoints exposed by this plugin. See <code>External services<\/code> above for what each request carries.<\/p>\n\n<p>The plugin does not send analytics, usage telemetry, or background tracking data to Kitful.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/kitful<\/code> or install it through the WordPress plugin screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <code>Settings -&gt; Kitful<\/code>.<\/li>\n<li>Click <code>Connect to Kitful<\/code>.<\/li>\n<li>Sign in to Kitful if needed and choose the workspace that should publish to this site.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20generate%20articles%20inside%20wordpress%3F\"><h3>Does this plugin generate articles inside WordPress?<\/h3><\/dt>\n<dd><p>No. Content is created in Kitful and then published into WordPress through this plugin.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20need%20a%20kitful%20api%20key%3F\"><h3>Does the plugin need a Kitful API key?<\/h3><\/dt>\n<dd><p>No. The plugin generates and stores its own site secret for Kitful publishing requests.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20kitful%3F\"><h3>What data is sent to Kitful?<\/h3><\/dt>\n<dd><p>When you connect the plugin, WordPress sends your site URL, the plugin REST base URL, and a short-lived connect token to Kitful so Kitful can securely establish the connection for this site.<\/p><\/dd>\n<dt id=\"can%20kitful%20change%20a%20post%20that%20is%20already%20published%3F\"><h3>Can Kitful change a post that is already published?<\/h3><\/dt>\n<dd><p>Yes, when you approve the change in Kitful. It replaces the title, the body and the SEO description of that one post, and leaves the URL, status, author, categories, tags and featured image alone. When the title or body changes, the previous version is saved as a WordPress revision first, as long as revisions are enabled for that post.<\/p><\/dd>\n<dt id=\"can%20kitful%20change%20posts%20i%20wrote%20myself%3F\"><h3>Can Kitful change posts I wrote myself?<\/h3><\/dt>\n<dd><p>Not unless you allow it. Turn on <code>Allow Kitful to update posts it did not create<\/code> in <code>Settings -&gt; Kitful<\/code>. Posts Kitful published are always eligible.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Kitful can now improve a post that is already on your site instead of only creating new ones. Approve the change in Kitful and the post is updated in place, keeping its URL, status, author, categories, tags and featured image.<\/li>\n<li>Added the <code>Allow Kitful to update posts it did not create<\/code> setting, off by default. Posts Kitful published are always eligible.<\/li>\n<li>Every incoming update is now checked against the WordPress capabilities of the account named in <code>Default author<\/code>, not the site secret alone.<\/li>\n<li>A description-only improvement is now reported honestly when no supported SEO plugin is active, instead of being recorded as applied.<\/li>\n<li>Kitful now refuses an improvement that would replace the body of a post built with WordPress blocks, or with Elementor, Beaver Builder, Bricks, Oxygen, SiteOrigin, Divi, WPBakery, Fusion or Cornerstone. Nothing is written in that case; untick the content changes in Kitful and apply again to update the title and description.<\/li>\n<li>The previous version of a post is saved as a revision before it is replaced, including on posts that had no revisions yet.<\/li>\n<li>Content is now slashed correctly on save, so backslashes in code samples and file paths survive an update.<\/li>\n<li>Re-publishing an article from Kitful no longer re-applies the new-post defaults to a post that already exists. It previously sent a live post back to draft, reassigned its author and replaced its categories. The post's slug is still set from the article, so renaming an article in Kitful and publishing it again can still change that post's URL.<\/li>\n<li>Fixed settings notices not appearing after regenerating the secret or refreshing the connection status.<\/li>\n<li>The plugin no longer allows redirects to the Kitful host site-wide; that permission now lasts only for the single redirect that starts a connection.<\/li>\n<li>The site secret is no longer loaded into memory on every page request. Applied on upgrade on WordPress 6.6 and newer.<\/li>\n<li>Deleting the plugin now removes the \"Allow Kitful to update posts it did not create\" setting, so a reinstall starts with it off again.<\/li>\n<li>Tested with WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Connect WordPress to Kitful so you can publish SEO-ready articles from your Kitful workspace.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/288841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=288841"}],"author":[{"embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rashish"}],"wp:attachment":[{"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=288841"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=288841"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=288841"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=288841"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=288841"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=288841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}