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
- Choose a connection method
- Connect with the Kitful plugin
- How articles reach your site
- Connect manually
- Publish or use a campaign
- Improve a post
- Posts you wrote yourself
- When it stops
- The SEO description
- Troubleshoot WordPress
- This link expired
- Your site couldn't reach Kitful
- Not checking in
- Your site's security plugin is blocking Kitful's servers
- You are not authorized
- 403 with a Cloudflare page
- 403 with no Cloudflare page, or the test times out
- Kitful could not reach that site
- The connection test fails for another reason
- An improvement says the plugin is too old
- The improved description did not change
Use WordPress when you want Kitful to publish articles directly to a self-hosted WordPress site.
Choose a connection method
- WordPress uses the Kitful plugin. It is the simplest setup, keeps publishing defaults in WordPress, and keeps working when a firewall or security plugin blocks Kitful.
- WordPress (Application password) is for sites that cannot install plugins.
Connect with the Kitful plugin
You need a self-hosted site, WordPress administrator access, and the Kitful plugin.
- Install and activate Kitful from WordPress.org.
- Open Settings > Kitful in WordPress and click Connect to Kitful.
- Sign in to Kitful if asked. Only a workspace owner can connect a site.
- Choose the workspace when you own more than one, then click Connect.
- You return to WordPress, which shows Connected to your workspace.
The plugin applies its local defaults for post status, author, and categories. A site connects to one workspace at a time; connecting it to another moves it there.
How articles reach your site
Kitful sends each article to your site the moment you publish. If a firewall or security plugin turns Kitful away, your browser asks the site to collect it instead, so it still lands in seconds. You change nothing for this. With no Kitful tab open, as with campaigns, the site collects it on its next check-in, usually within a few minutes.
If an article lands after more than 10 minutes, or has not landed after a day, Kitful emails you; turn these emails off under Account > Profile. An improvement waits up to 5 hours, then returns to your draft. If the site turns Kitful away and also stops checking in, its campaign pauses and resumes on the next check-in.
Connect manually
The site must use HTTPS and its permalink setting must not be Plain.
- In WordPress, open Users and then your profile.
- Create an Application Password and keep it safe during setup.
- In Kitful, open Integrations and add WordPress (Application password).
- Enter Integration Name, WordPress Site URL, Username, and Application Password.
- 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 in place, so the URL and its rankings stay. Both connection methods can do it; the plugin needs version 1.1.0 or newer.
| Written | Kept as it is |
|---|---|
| The title, the body, the SEO meta description | URL and slug, status, author, categories, tags, featured image, publish date, and the SEO title |
The previous version stays under Revisions in the post editor. The SEO title is left alone so a title you tuned in Yoast or Rank Math is not overwritten. An improvement only edits, it never creates a post.
Kitful finds the post from the URL Search Console reported. If a post and a page share that slug, it stops rather than guess.
Posts you wrote yourself
The plugin ships with Allow Kitful to update posts it did not create off. Turn it on in
Settings > Kitful. Set a low-privileged account in Default author and Kitful can never edit a
post that account could not edit by hand.
With an application password, Kitful has the permissions of the user who created it. Create it on an account that cannot edit other people's posts.
When it stops
Nothing is ever half-written. Your draft is kept, so fix the cause and apply again.
| What happened | What to do |
|---|---|
| The plugin is older than 1.1.0 | Update Kitful on the WordPress plugins screen (no charge) |
| Kitful did not write the post | Turn the setting on in Settings > Kitful (no charge) |
| Nothing on the site matches that URL or slug | Check it is a WordPress post or page, not a theme template |
| A post and a page share the slug | Rename one of them |
| The post uses WordPress blocks or a page builder | Untick the content changes, then apply the title and description |
| The account Kitful uses cannot edit that post | Pick an account with permission in Default author |
| The site redirects, or its REST API is blocked | See Troubleshoot WordPress |
Kitful sends plain HTML, which would flatten a block or page-builder layout, so it refuses the body edit on those posts and still applies the title and description.
The SEO description
Kitful writes the description for Yoast, Rank Math, All in One SEO and SEOPress. With another SEO plugin the improvement still applies and Kitful tells you the description did not change, so set it in WordPress yourself.
Troubleshoot WordPress
This link expired
The link from Connect to Kitful works once, for a day. In WordPress, open Settings > Kitful and click Connect to Kitful again.
Your site couldn't reach Kitful
Your host blocks requests from your site to other websites. Contact support and we will sort it out with you.
Not checking in
The plugin has not checked in with Kitful for a while, so articles that could not be sent directly wait. Open Settings > Kitful in WordPress and click Sync now. If the plugin was deactivated, activate it again. When it keeps happening, contact support.
Your site's security plugin is blocking Kitful's servers
With the Kitful plugin 1.2.0 or later there is nothing to do: the plugin collects each article itself. With an application password there is no way around it, so switch to the plugin.
You are not authorized
A security plugin is blocking the REST API for anyone not logged in. The Kitful plugin works regardless. With an application password, switch to the plugin, or turn the block off: in All-In-One Security, WP Security > Firewall > WP REST API, untick Disallow unauthorized REST requests, then save and connect again.
403 with a Cloudflare page
Cloudflare Bot Fight Mode is challenging Kitful. This stops an application password connection; the Kitful plugin still delivers. On the Free plan there is no exception:
- In Cloudflare, open Security > Settings, filter by Bot traffic.
- Turn Bot Fight Mode off, then connect again.
On a paid plan, keep Super Bot Fight Mode and skip it for Kitful:
- Open Security > Security rules > Create rule > Custom rules.
- Set the expression to
(http.user_agent contains "Kitful/" and starts_with(http.request.uri.path, "/wp-json/")). - Action Skip, tick All Super Bot Fight Mode rules, deploy, then connect again.
403 with no Cloudflare page, or the test times out
Your host's firewall or a rule in .htaccess is refusing API requests to an application password
connection.
- In
.htaccess, remove any rule that denieswp-json. - If there is none, ask your host to allow requests to
/wp-json/. - Connect again.
Kitful could not reach that site
Turn off any maintenance, coming-soon, or login-wall plugin, then connect again. The site must be public, so localhost cannot work.
The connection test fails for another reason
Check the URL, username, application password, HTTPS, and that permalinks are not Plain. The account needs permission to create posts.
An improvement says the plugin is too old
Update Kitful on the WordPress plugins screen and start the improvement again. It costs nothing. If it is already up to date, see the entries above.
The improved description did not change
Kitful writes the description for Yoast, Rank Math, All in One SEO and SEOPress. With another SEO plugin, set it in WordPress yourself.