Documentation
Publish to WordPress
Connect WordPress with an Application Password and publish articles as drafts or live posts — no plugin required.
Publish to WordPress
Connect PrismSEO to WordPress and publish generated articles straight into your site as drafts or live posts — no plugin required. PrismSEO uses the built-in WordPress REST API with an Application Password, so nothing touches your real login password.
Best for marketing teams and agencies already running SEO on WordPress who want articles to land in the normal editorial queue.
Prerequisites
- WordPress 5.6 or newer (Application Passwords ship in core since 5.6).
- Your site is reachable over HTTPS (Application Passwords are disabled on plain HTTP).
- The REST API is enabled —
https://yoursite.com/wp-json/wp/v2/users/meshould return JSON, not a 404 or a security-plugin block. - The WordPress user you connect can create and publish posts (Author, Editor, or Administrator).
If a security plugin (Wordfence, iThemes, "Disable REST API", etc.) blocks the REST API or Application Passwords, allowlist /wp-json/ and re-enable Application Passwords before connecting.
Step 1 — Create an Application Password in WordPress
- In WordPress admin, open Users → Profile (your own user).
- Scroll to Application Passwords.
- Enter a name you'll recognize — for example
PrismSEO— and click Add New Application Password. - Copy the generated password immediately. WordPress shows it only once. It looks like
abcd EFGH ijkl MNOP qrst UVWX(spaces are fine — keep or remove them, both work).
This password grants API access only and can be revoked anytime from the same screen without changing your login.
Step 2 — Connect WordPress in PrismSEO
- Open Dashboard → Integrations → WordPress.
- Enter:
- Site URL — your site root, e.g. https://example.com (no trailing /wp-admin).
- Username — your WordPress username (not your email, unless that's your login).
- Application Password — the value from Step 1.
- Click Connect WordPress.
PrismSEO validates the credentials by calling GET /wp-json/wp/v2/users/me before saving. If it can read your user, the connection is stored (the password is encrypted at rest).
Step 3 — Publish an article
- Open or generate an article in Content.
- Click Publish → WordPress.
- Pick a mode:
- Draft — creates a WordPress draft for editorial review.
- Publish — publishes the post live immediately.
- Confirm. PrismSEO sends the title, HTML body, excerpt, and slug to
POST /wp-json/wp/v2/posts.
The new post appears under Posts in WordPress with your content, meta description as the excerpt, and the slug PrismSEO generated.
What PrismSEO sends
PrismSEO maps article fields to the standard WordPress REST post object:
title— the article title.content— the full article HTML (headings, images, tables, FAQ).excerpt— the meta description.slug— the URL slug (WordPress will de-duplicate if it already exists).status—draftorpublish, based on the mode you chose.
Verify your credentials with curl
WordPress Application Passwords use HTTP Basic auth (username:app_password). You can confirm access before connecting:
# Check the connected user resolves (should return your user JSON)
curl https://example.com/wp-json/wp/v2/users/me \
--user "your_username:abcd EFGH ijkl MNOP qrst UVWX"
# Create a draft post to confirm write access
curl -X POST https://example.com/wp-json/wp/v2/posts \
--user "your_username:abcd EFGH ijkl MNOP qrst UVWX" \
-H "Content-Type: application/json" \
-d '{"title":"PrismSEO test","content":"<p>Hello</p>","status":"draft"}'
A 200/201 response means PrismSEO will connect and publish successfully.
Publish history and troubleshooting
Every attempt is recorded in Publish History with its status and error message. Common issues:
401 Unauthorized— wrong username or Application Password, or Application Passwords are disabled (often because the site isn't on HTTPS). Regenerate the password and reconnect.403 rest_forbidden/rest_cannot_create— the user lacks post-creation capability. Use an Author/Editor/Admin account.404on/wp-json/...— the REST API is disabled or blocked by a security plugin. Re-enable it and allowlist/wp-json/.- Timeout / unreachable — the host is blocking outbound API requests or is behind a firewall. Confirm the
wp-jsonURL loads in a browser. - Disconnected connection — reconnect from Integrations before publishing again.
For deeper fixes, see WordPress Publishing Troubleshooting.
Next step
Apply this setup, then run your first publish cycle from your dashboard.