Content Publisher
Content Publisher
Download the WordPress plugin, connect your SWAI account, choose blog planners, and publish articles to your WordPress site — manually or with auto-sync.
What is Content Publisher?
SWAI Content Publisher is the official WordPress plugin that connects your site to SWAI Blog Planner. After you sign in with your SWAI account, you can:
- See your brand’s Blog Planners
- Choose which planners to sync
- Map each planner to a WordPress category and author
- Publish or schedule articles as WordPress posts
- Turn on auto-sync so new ready articles appear on a schedule
Content is created and reviewed in SWAI (Blog Planner / Content Calendar). This plugin pulls finished articles into WordPress — it does not replace Blog Planner.
Main screens
| Screen | What it’s for |
|---|---|
| Connection | Connect or disconnect your SWAI account |
| Blog planners | Enable planners; set category, author, and auto-sync |
| Manual publish | Select unpublished blogs and publish or schedule them |
Note: Connect and publishing happen in WordPress Admin → SWAI Content. You sign in on https://content.app.swai.ai (username and password). The plugin does not use the SWAI Dashboard embed session.
Before you start
Checklist
WordPress admin access
You need a role that can install plugins and manage posts (typically Administrator).HTTPS site (production)
OAuth redirect back to WordPress requires HTTPS (except locallocalhosttesting).SWAI account + brand
Use the same SWAI username/password you use for SWAI. Connect uses your default brand (first brand linked to the user).Blog content in Blog Planner
Create and review blogs in Blog Planner (Apps → Blog Planner, or go to app.swai.ai/apps/blog-planner). Each article must have a title, meta description, and thumbnail (featured image) before WordPress will publish it.Categories and users ready (optional)
Create WordPress categories and author accounts first if you do not want the defaults (Uncategorized / default user).
Important warnings
Warning: Only blogs that are Ready (title + meta description + thumbnail) can be published. Incomplete articles are skipped or disabled in the list.
Warning: Auto-sync creates or updates WordPress posts for unpublished SWAI blogs on enabled planners. Review category and author mapping before you enable it.
Tip: Edit titles, SEO, images, and schedules in Apps → Blog Planner or Assets → Content Calendar first, then publish from WordPress.
Quick start
- Download swai-content.zip.
- In WordPress Admin, go to Plugins → Add New → Upload Plugin, choose the zip, then Install Now and Activate.
- Open SWAI Content in the admin menu.
- Click Connect SWAI.
- On content.app.swai.ai, enter your SWAI Username and Password, then Connect.
- After redirect, confirm Connected and your brand id.
- Under Blog planners, enable the planners you want, set Category and Author, optionally enable Auto-sync, then Save planner settings.
- Under Manual publish, select ready blogs and click Publish now or Schedule / publish by planned time.
Download
| Item | Detail |
|---|---|
| File | swai-content.zip |
| URL | https://content.app.swai.ai/swai-content.zip |
| Contents | Plugin folder swai-content-publisher/ (ready for WordPress upload) |
- Open the download URL in your browser (or save the link).
- Keep the zip as downloaded — do not unpack it if you will use Upload Plugin.
Install
Option A — Upload in WordPress Admin (recommended)
- Log in to WordPress Admin.
- Go to Plugins → Add New.
- Click Upload Plugin.
- Choose
swai-content.zip, then Install Now. - Click Activate Plugin.
Option B — Manual unzip on the server
- Unzip
swai-content.zip. - Upload the folder
swai-content-publishertowp-content/plugins/. - In Plugins, find SWAI Content Publisher and click Activate.
After activation, a SWAI Content menu item appears in the admin sidebar.
Note: If the plugin does not appear, confirm the path is
wp-content/plugins/swai-content-publisher/swai-content-publisher.php.
Connect SWAI
Connect
- Open SWAI Content.
- Click Connect SWAI.
- You are taken to https://content.app.swai.ai/oauth/wordpress/authorize.
- Enter your SWAI Username (email) and Password.
- Click Connect (or Cancel to return without linking).
- WordPress receives an authorization code, exchanges it for an access token, and shows Connected plus your Brand id.
Note: Password is hashed in the browser (MD5, same as SWAI login) before it is sent to SWAI. Credentials are verified on the server via SWAI; they are not stored in WordPress.
Disconnect
- On SWAI Content, under Connection, click Disconnect.
- The plugin revokes the token on SWAI and clears the local connection.
- Planner settings on the WordPress site are kept; reconnect to sync again.
Connection status
| Status | Meaning |
|---|---|
| Connected | Token stored; planners and blogs can load |
| Not connected | Only the Connect SWAI button is shown |
Blog planners
After connect, Blog planners lists campaigns from your SWAI brand.
For each planner you can set:
| Setting | Default | What it does |
|---|---|---|
| Enable | Off | Include this planner in manual publish lists and (if on) auto-sync eligibility |
| Category | Uncategorized / site default category | WordPress category for posts from this planner |
| Author | Default user (current admin / first user) | WordPress author for posts from this planner |
| Auto-sync | Off | Every ~15 minutes, pull unpublished ready blogs and create/schedule WP posts |
- Check Enable for planners you want to use.
- Choose Category and Author per planner.
- Optionally check Auto-sync.
- Click Save planner settings.
Empty state: No blog planners found for this brand — create planners in Apps → Blog Planner first. See Blog Planner.
Tip: You can enable a planner for manual publish only (Enable on, Auto-sync off), or for both.
Manual publish
Manual publish lists unpublished blogs from enabled planners.
Ready column
Each row shows whether the article can be published:
| Ready | Meaning |
|---|---|
| Yes | Has title, meta description, and thumbnail |
| Missing: … | One or more required fields are empty — checkbox is disabled |
Required on every post before publish:
- Title
- Meta description (
metaDescription) - Thumbnail (featured image URL)
Fix missing fields in Apps → Blog Planner or Assets → Content Calendar (blog editor / calendar), then refresh SWAI Content.
Publish actions
- Select one or more Ready blogs.
- Choose:
| Button | Behavior |
|---|---|
| Publish now | Creates/updates the WordPress post as published immediately |
| Schedule / publish by planned time | If SWAI scheduledAt is in the future, creates a scheduled (future) post; otherwise publishes |
- After success, the plugin marks the blog as published on SWAI (with the WordPress post id) so it does not appear again as unpublished.
Note: Re-publishing an already mapped blog updates the existing WordPress post when possible (matched by SWAI blog id meta).
Auto-sync
When Auto-sync is on for an enabled planner:
- WordPress runs a cron job about every 15 minutes.
- The plugin loads unpublished blogs for that planner.
- It skips blogs that are not Ready (missing title, meta description, or thumbnail).
- It skips blogs already published to this site.
- It creates or schedules WordPress posts using that planner’s category and author.
| Control | Where |
|---|---|
| Turn auto-sync on/off | Blog planners → Auto-sync → Save planner settings |
| Turn planner off entirely | Uncheck Enable and save |
Warning: Auto-sync will not publish incomplete SEO/media. Complete articles in Blog Planner first.
What gets published
| SWAI field | WordPress |
|---|---|
| Title | Post title |
| Content (HTML preferred) | Post content |
| Excerpt | Post excerpt |
| Slug | Post slug (post_name) |
| Featured image URL | Sideloaded featured image (thumbnail) |
| Meta description | Custom meta + Yoast / Rank Math meta when those plugins are present |
| SEO title / focus keyword | Stored as meta (Yoast / Rank Math keys when available) |
| Tags | Post tags |
| Planner category / author | post_category / post_author |
| Scheduled time | Post date; status future or publish |
After a successful publish, SWAI stores the WordPress post mapping so auto-sync and the unpublished list skip it.
Common warnings and troubleshooting
Connect fails or returns an error
- Confirm you used the correct SWAI username and password.
- Confirm the site is HTTPS (or
localhostfor local testing). - Try Connect SWAI again (OAuth state expires after a short time).
- If you cancelled on the login page, start Connect again from WordPress.
No blog planners
- Confirm Connected and the brand id is the brand that owns the planners.
- Create or open planners under Blog Planners in Apps → Blog Planner.
- Refresh the SWAI Content page.
Blogs show Missing title / metaDescription / thumbnail
- Open the article in Apps → Blog Planner or Assets → Content Calendar.
- Set title, meta description, and featured image.
- Save, then reload SWAI Content.
- Only Ready rows can be selected for manual publish; auto-sync skips the rest.
Publish failed or thumbnail error
- Confirm the featured image URL is a public HTTPS image.
- Confirm WordPress can download remote media (firewall /
allow_url_fopen/ HTTP requests). - Fix the image in SWAI and retry.
- Check that category and author still exist in WordPress.
Auto-sync not creating posts
- Confirm the planner is Enabled and Auto-sync is checked, then Save planner settings.
- Confirm blogs are Ready and not already published.
- Confirm WP-Cron is running (some hosts need a real system cron hitting
wp-cron.php). - Wait up to ~15 minutes or trigger a visit that runs cron.
Disconnect and reconnect
Use Disconnect, then Connect SWAI again if the token was revoked or the wrong brand was linked.
Glossary
| Term | Meaning |
|---|---|
| SWAI Content Publisher | WordPress plugin that publishes Blog Planner articles |
| Connect SWAI | OAuth-style login on content.app.swai.ai |
| Brand | SWAI brand whose planners and blogs the token can access |
| Enable | Include a planner in publish / sync |
| Category | WordPress category for that planner’s posts |
| Author | WordPress user for that planner’s posts |
| Auto-sync | Cron-based pull of unpublished ready blogs |
| Ready | Has title, meta description, and thumbnail |
| Publish now | Force immediate published status |
| Schedule / publish by planned time | Use SWAI scheduledAt when in the future |
| Meta description | SEO meta description required before publish |
| Thumbnail | Featured image required before publish |
| swai-content.zip | Public download package for the plugin |
Need more help?
If something still fails after the checklist above:
- Confirm the plugin is activated and Connected to the expected brand.
- Confirm Blog Planner articles are Ready (title, meta description, thumbnail).
- Note whether you used manual publish or auto-sync, and any error message.
- Contact your SWAI admin or support with the WordPress site URL, brand id, and planner name.
Related helpdesk docs: Blog Planner · Content Calendar · Social Planner