WordPress publishing creates draft posts through the WordPress REST API. PageOptimized verifies the username and application password before saving the connector.
Official WordPress references:
- Application Passwords: https://developer.wordpress.org/advanced-administration/security/application-passwords/
- REST API authentication: https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/
Before you start
- Confirm the WordPress site is reachable over HTTPS.
- Confirm the REST API is enabled.
- Confirm you have a WordPress user that can create posts.
- Open PageOptimized in another tab.
- Go to the project.
- Open Publishing > Connections.
- Find the WordPress card.
Step 1: create a WordPress publishing user
You can use your own account, but a dedicated integration user is easier to revoke later.
- Sign in to WordPress admin.
- Open Users > Add New if you want a dedicated user.
- Create a user named something clear, such as pageoptimized.
- Give the user a role that can create posts.
- Use Author, Editor, or Administrator depending on your publishing policy.
- Save the user.
Step 2: create an application password
- In WordPress admin, open Users.
- Open the user that PageOptimized will use.
- Scroll to Application Passwords.
- Enter an application name, such as PageOptimized.
- Click Add New Application Password.
- Copy the generated password immediately.
- Keep the spaces if WordPress shows spaces; PageOptimized can send it as the password value.
- Store it somewhere secure until you paste it into PageOptimized.
Step 3: confirm the REST API URL
- Open a browser tab.
- Visit your site URL followed by /wp-json/.
- Example: https://example.com/wp-json/.
- Confirm you see a JSON response instead of a blocked page, login screen, or firewall challenge.
- If you see a security challenge, allow PageOptimized or REST API requests before connecting.
Step 4: save in PageOptimized
- Return to PageOptimized.
- Enter the site URL, such as https://example.com.
- Enter the WordPress username for the publishing user.
- Paste the application password.
- Leave Require approval on if drafts should need approval before Xavier creates them.
- Click Save WordPress.
- PageOptimized checks /wp-json/wp/v2/users/me?context=edit with those credentials.
- When the save succeeds, click Create draft.
- Open WordPress Posts > All Posts.
- Confirm the test draft exists.
What PageOptimized sends when creating a draft
- Title goes to the WordPress post title.
- Slug goes to the WordPress post slug.
- Content goes to the WordPress post content.
- Meta description goes to the excerpt.
- Status is draft, not publish.
Troubleshooting
- If WordPress returns 401, check the username and application password.
- If WordPress returns 403, confirm the user role can create posts.
- If the REST API URL is blocked, check security plugins, hosting firewall rules, and CDN bot protection.
- If the site redirects between www and non-www, paste the final canonical HTTPS site URL.
- If Save WordPress works but Create draft fails, check whether a plugin restricts post creation through REST API.
- Check the Audit Logs tab in PageOptimized for the exact HTTP response.