Connect WordPress or a WordPress-Compatible Blog
Set up WordPress auto-publishing, or expose a WordPress-compatible API endpoint so RiseMore can publish blog posts to your own blog.
RiseMore 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
RiseMore - 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 RiseMore:
- Open the RiseMore Growth dashboard
- 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 |
RiseMore tests the connection by calling:
If the response is successful, RiseMore 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 RiseMore 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 RiseMore must be public and reachable by RiseMore, for example:
RiseMore will call:
Localhost, private network URLs, and .local / .internal hosts are blocked for production publishing.
Authentication
RiseMore uses HTTP Basic Auth, matching WordPress Application Passwords.
When you connect the Blog channel, RiseMore 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:
RiseMore 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. RiseMore converts markdown to HTML before sending |
status | string | No | RiseMore sends publish for approved posts |
excerpt | string | No | Meta description or short summary |
cover_image | string URL | No | RiseMore extension for a featured image URL |
tags | string[] | No | RiseMore extension for tag names |
Successful response:
RiseMore reads:
| Response field | Used for |
|---|---|
id | External post ID saved on the RiseMore post |
link | Published URL shown in the RiseMore 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 RiseMore 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 |
RiseMore 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 |
| RiseMore 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 RiseMore.
- 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