kitful.aiDocs

Integrations

Connect WordPress

Connect a self-hosted WordPress site with the Kitful plugin or a WordPress application password, then publish and improve posts from Kitful.

On this page

Use WordPress when you want Kitful to publish articles directly to a self-hosted WordPress site.

Choose a connection method

  • WordPress Plugin provides the simplest setup and keeps publishing defaults in WordPress.
  • WordPress Manual connects through WordPress REST access and an application password.

Connect with the Kitful plugin

You need a self-hosted site, WordPress administrator access, and the Kitful plugin.

  1. Install and activate Kitful from WordPress.org.
  2. Open Settings > Kitful in WordPress.
  3. Review the generated secret and click Connect to Kitful.
  4. Sign in to Kitful if asked.
  5. Choose the Kitful site when more than one is available.
  6. Return to WordPress after confirmation.

The plugin applies its local defaults for post status, author, and categories.

Version 1.1.0 adds one more setting on that screen, Allow Kitful to update posts it did not create. It is off, and it only matters for improving a post.

Connect manually

The site must use HTTPS and its permalink setting must not be Plain. WordPress refuses to issue an application password over plain HTTP, so Kitful will not accept an http:// address.

  1. In WordPress, open Users and then your profile.
  2. Create an Application Password and keep it safe during setup.
  3. In Kitful, open Integrations and add WordPress Manual.
  4. Enter Integration Name, WordPress Site URL, Username, and Application Password.
  5. Click Test, then Connect.

Publish or use a campaign

Open an article, click Publish, choose the WordPress connection, and confirm. For recurring publishing, select the connection in the campaign's Settings tab.

Improve a post

Improve a published post rewrites a WordPress post where it already lives. The URL does not change, so the page keeps its rankings and links.

Both connection methods can do this. The Kitful plugin needs version 1.1.0 or newer.

What gets written

WrittenKept as it is
The title, the body, the SEO meta descriptionThe URL and slug, post status, author, categories, tags, featured image, publish date, and the SEO title

When an improvement changes the title or the body, the previous version is kept in the post editor under Revisions. Sites that have turned WordPress revisions off do not get one.

The SEO title is left alone on purpose. Kitful does not write one, and deriving it from the new post title would overwrite a title you tuned in Yoast or Rank Math.

An improvement only ever edits. It never creates a post.

Finding the post

Kitful works from the URL Search Console reported, and it tries the strongest identity first.

With the plugin, WordPress resolves the URL through its own permalink rules, so pages work as well as posts. Permalinks still cannot be set to Plain, which turns the REST API off at the address Kitful uses.

  1. The Kitful article ID, on posts Kitful published. It is written at publish time and never changes, so renaming the slug does not lose the post.
  2. The URL itself.
  3. The slug, when the URL resolves to nothing.

With the application password, Kitful asks the page which post it is, using the REST link WordPress puts in every page's <head>.

  1. That REST link.
  2. A post ID Kitful recorded earlier, used only if it still answers at exactly this URL.
  3. The slug, searched across posts and then pages.

Either way, if two entries share the slug and nothing else settles it, Kitful stops rather than guessing which one to edit.

Posts you wrote yourself

This is usually where the value is, so both connections allow it, with a check first.

The plugin ships with Allow Kitful to update posts it did not create turned off. Turn it on in Settings > Kitful. Posts Kitful published are always eligible.

Every update is also checked against the WordPress permissions of the account named in Default author on that screen. Choose a low-privileged account there and Kitful can never touch a post that account could not edit by hand. Left unset, that check runs as an administrator, so on a default install the setting above is what limits Kitful.

The application password carries the permissions of the WordPress user who created it. To keep Kitful away from other people's posts, create the application password on an account that cannot edit them.

When it stops

Nothing is ever half-written. Two of these are caught before Kitful starts, so they cost nothing at all; the rest happen at the moment you apply, where the draft you already paid for is kept and you can fix the cause and apply again.

Checked before you are charged

What happenedWhat to do
The plugin is older than 1.1.0Update Kitful on the WordPress plugins screen
Kitful did not write the post, and the site has not allowed itTurn the setting on in Settings > Kitful

Checked when you apply, with the draft kept

What happenedWhat to do
Nothing on the site matches that URL or slugCheck the page is a WordPress post or page, not a theme template
A post and a page share the slugRename one of them
The post is built with WordPress blocksUntick the content changes, then apply the title and description
The post was built with a page builderUntick the content changes, then apply the title and description
The account Kitful uses cannot edit that postPick an account with permission in Default author
The site redirects, or its REST API is blockedReconnect using the exact address WordPress serves

The two checks above the line only run when one site is connected. Connect several and Kitful cannot know which one you will pick, so those are caught at apply time like the rest.

Kitful sends normal HTML. A post built with WordPress blocks would lose its block layout if that HTML replaced its body, and a page builder keeps its real content somewhere Kitful cannot write at all, so Kitful refuses rather than flatten the post or silently change nothing. It refuses the whole improvement, not just the body: untick the content changes and apply again to land the title and description.

The SEO description

Through the plugin, Kitful writes the description for Yoast, Rank Math, All in One SEO and SEOPress. If none of those is active, the improvement still applies and Kitful tells you the description was not saved.

Through the application password, Kitful writes the description for Yoast, Rank Math and SEOPress, then reads it back. If the site runs a different SEO plugin, or one that does not expose the field to the WordPress API, the improvement still applies and Kitful says the description did not change so you can set it yourself.

Troubleshoot WordPress

The connection test fails

Confirm the URL, username, application password, post permissions, HTTPS, and permalink setting. Security plugins or firewalls can also block publishing requests.

A hosted Kitful connection cannot reach WordPress

The WordPress site must be publicly reachable. A site available only on localhost cannot receive a production publish request.

An improvement says the plugin is too old

The Improve this post endpoint arrived in plugin version 1.1.0. Update Kitful on the WordPress plugins screen, then start the improvement again. It costs nothing, because Kitful checks the version before it charges.

If the plugin is already 1.1.0 or newer and you still see this, something in front of WordPress is answering for /wp-json/ before the plugin can: usually a security plugin or a host firewall.

The improved description did not change

Kitful writes the description used by Yoast, Rank Math, All in One SEO and SEOPress. Another SEO plugin stores it under its own name, which Kitful cannot write, so set that one in WordPress. Kitful says so rather than reporting a change that did not happen.