Connect WordPress or a WordPress-Compatible Blog
Set up WordPress auto-publishing, or expose a WordPress-compatible API endpoint so VibeCom can publish blog posts to your own blog.
VibeCom publishes blog posts through the WordPress REST API shape. You can connect a normal WordPress site, or you can implement the same small API surface on your own blog and use it as a custom publishing endpoint.
Option A: Connect a WordPress Site
Use this if your blog runs on WordPress 5.6 or later.
1. Create an Application Password
In WordPress:
- Open Users β Profile
- Scroll to Application Passwords
- Enter a name like
VibeCom - Click Add New Application Password
- Copy the generated password immediately
If the Application Passwords section is missing, check that your site uses HTTPS and is running WordPress 5.6+.
2. Create a Blog Channel
In VibeCom:
- Open Growth Autopilot
- Go to Channels
- Create a channel with platform Blog
- Open the Blog channel settings
- Click Connect WordPress
Enter:
| Field | Value |
|---|---|
| WordPress Site URL | Your blog root URL, for example https://myblog.com |
| Username | Your WordPress username or login email |
| Application Password | The password generated in WordPress |
VibeCom tests the connection by calling:
If the response is successful, VibeCom stores the site URL and encrypted credentials for that Blog channel.
Option B: Build Your Own Blog Endpoint
Use this if your blog is not WordPress, but you want VibeCom to publish to it.
Your server only needs to expose two WordPress-compatible endpoints:
| Method | Path | Purpose |
|---|---|---|
GET | /wp-json/wp/v2/users/me | Validate credentials when connecting the channel |
POST | /wp-json/wp/v2/posts | Receive and publish an approved blog post |
The base URL you enter in VibeCom must be public and reachable by VibeCom, for example:
VibeCom will call:
Localhost, private network URLs, and .local / .internal hosts are blocked for production publishing.
Authentication
VibeCom uses HTTP Basic Auth, matching WordPress Application Passwords.
When you connect the Blog channel, VibeCom stores:
Every validation and publish request includes:
For a custom blog endpoint, treat the username as an account identifier and the application password as an API key. Return 401 if the credentials are invalid.
Validate Endpoint
Implement:
Successful response:
Optional avatar response:
VibeCom uses this endpoint only to confirm that the channel can publish.
Publish Endpoint
Implement:
Request body:
Fields:
| Field | Type | Required | Notes |
|---|---|---|---|
title | string | No | Defaults to Untitled if missing |
content | string | No | HTML body. VibeCom converts markdown to HTML before sending |
status | string | No | VibeCom sends publish for approved posts |
excerpt | string | No | Meta description or short summary |
cover_image | string URL | No | VibeCom extension for a featured image URL |
tags | string[] | No | VibeCom extension for tag names |
Successful response:
VibeCom reads:
| Response field | Used for |
|---|---|
id | External post ID saved on the VibeCom post |
link | Published URL shown in the VibeCom dashboard |
Return 201 Created for a successful publish.
Example cURL Test
Replace the username, API key, and domain:
Publish a test post:
Minimal Next.js Route Example
This mirrors the API shape VibeCom expects:
For POST /wp-json/wp/v2/posts, save title, content, excerpt, cover_image, and tags into your blog database, then return the published URL in link.
Error Responses
Use WordPress-style JSON errors where possible:
Recommended status codes:
| Status | When to return |
|---|---|
400 | Request body is invalid |
401 | Missing or invalid Basic Auth |
403 | Credentials are valid but cannot publish |
404 | Endpoint path does not exist |
500 | Unexpected server error |
VibeCom displays non-2xx responses in the publish error message, so keep the response body short and actionable.
Troubleshooting
| Problem | Fix |
|---|---|
Connection test returns 401 | Check username and application password / API key |
Connection test returns 404 | Make sure /wp-json/wp/v2/users/me exists under the exact site URL |
Publish returns 400 | Verify your endpoint accepts title, content, status, excerpt, cover_image, and tags |
| Publish succeeds but no URL appears | Make sure the response includes link |
| VibeCom rejects the site URL | Use a public https:// URL, not localhost or a private network host |
Security Notes
- Use HTTPS.
- Store the application password or API key hashed if you control the receiving blog.
- Create a dedicated publishing user or API key for VibeCom.
- Revoke the key from your blog if you disconnect the channel.
- Do not expose this endpoint without authentication.
Next Steps
- β Understand Blog channels
- β How approved posts are published
- β Generate your first blog post