Publishing to WordPress

Once you've connected your WordPress site, publishing an article is a single click. The article goes up as a draft (or published immediately, your choice), with the rendered HTML, images uploaded to the media library, categories assigned, and Schema.org JSON-LD injected from the provenance sidecar.

Before you start: requirements

You need:

  • A self-hosted WordPress site (or any host that exposes the WordPress REST API)
  • An admin or editor account on that site
  • An application password for that account (not your login password)
Why application passwords? They're scoped credentials WordPress generates specifically for API access. They can be revoked individually without changing your real password, and they only work over the REST API — not the wp-admin login. Much safer than handing over your real credentials.

1. Generate a WordPress application password

  1. Log in to your WordPress admin.
  2. Go to Users → Profile (or Users → All Users → click your user).
  3. Scroll to the Application Passwords section near the bottom.
  4. Enter an application name like Content Marketing Ideas and click Add New Application Password.
  5. WordPress will generate a 24-character password split into groups of four (e.g. aBcD EfGh IjKl MnOp QrSt UvWx). Copy it now — you can't see it again.

2. Connect WordPress on your account page

In Content Marketing Ideas, go to Account and find the WordPress card. Click Connect WordPress and fill in:

  • Site URL — the root URL of your WordPress site, e.g. https://your-blog.com. Don't include /wp-admin or any path.
  • Username — the WordPress username you generated the application password for.
  • Application password — the 24-character password from step 1. Spaces are fine, we strip them.

Click Test connection. We hit your WordPress REST API to verify credentials work. If the test passes, the credentials are encrypted (AES) and stored against your site.

3. Publish an article

Open any article that's reached done status. The detail page has a Publish to WordPress button. Click it and pick your options:

  • Status — draft (default, recommended) or publish immediately.
  • Categories — pick from your WordPress categories (we fetch them live).
  • Featured image — uses the article's first image by default, or you can upload a custom one.

What gets published

When you click publish, the worker:

  1. Converts the article markdown to clean WordPress-safe HTML (Gutenberg blocks where possible).
  2. Downloads each inline image, uploads it to your WordPress media library, and rewrites the URLs in the HTML.
  3. Injects the Schema.org JSON-LD from the provenance sidecar into a script block — this includes the entity graph, author, publisher, and citation chain.
  4. Creates the post via the REST API with title, slug, content, excerpt, categories, and featured image.
  5. Stores the WordPress post ID and URL on the article record so you can jump straight to it.

4. Review and publish

Because we publish as a draft by default, the post lands in your WordPress drafts queue. Review it there, make any final edits, and hit publish from WordPress when you're ready. You'll see all the images, the schema markup in the post source, and the categories already assigned.

Best practice: Always review in WordPress before going live. The article is a strong first draft but it doesn't know your CTAs, your latest pricing, or your internal linking conventions. Two minutes of editing turns a good draft into a great post.

Disconnecting

You can disconnect WordPress from the same Account card. The encrypted credentials are deleted immediately. Articles you've already published stay on your WordPress site untouched — only the connection is severed.

Troubleshooting

"Connection failed: 401"

Wrong username or application password. Generate a new application password and try again. Make sure you copied all 24 characters.

"Connection failed: 404"

The REST API isn't reachable. Common causes: a security plugin like Wordfence is blocking /wp-json/, your .htaccess has rewrite rules stripping the API, or the site URL has a typo. Try visiting https://your-site.com/wp-json/ in a browser — you should see a JSON response.

"Image upload failed"

Usually a permissions issue — your user needs upload_files capability (Editor role or above). If you're using a custom role, make sure it includes media library access.

Article publishes but images are broken

The image source URLs may have changed during publish. Open the post in WordPress, check the media library, and re-insert any missing images manually. Let us know via the contact form so we can investigate.