
How to Sync a WordPress Blog to Shopify: The Whole Setup, Start to Finish
There are two pieces to install — an app on the Shopify side and a plugin on the WordPress side — and then one API key that introduces them to each other. If your WordPress admin and your Shopify admin are both already open, the whole thing is a coffee's worth of work.
Before you start, check you have: a Shopify store on any paid plan, WordPress 6.3 or newer running PHP 8.1+, and admin access to both.
Step 1: Install the Shopify app
In your Shopify admin, go to Apps → Shopify App Store and search for Wash: Blog Manager. Click Add app, read the permission list, then Install app.
Shopify drops you into the Wash dashboard afterwards. Two things happen there:
- You pick a plan. Free is a real plan, not a trial — start there.
- The app creates the metafield definitions it needs, on its own.
On that dashboard you'll find your Store API Key. Copy it; WordPress asks for it in step 3.
Step 2: Install the WordPress plugin
The plugin isn't on the WordPress.org directory yet, so you install it from the ZIP:
- Download the plugin ZIP from your Wash dashboard
- In WordPress, go to Plugins → Add New → Upload Plugin
- Pick the ZIP, click Install Now, then Activate Plugin
If you'd rather not click through the admin, unzip it into /wp-content/plugins/ over FTP, or pull it with Composer (composer require wash/wordpress-plugin) and activate with wp plugin activate wash. All three end up in the same place.
Step 3: Introduce them to each other
In WordPress, open Settings → Wash: Blog Manager. Enter your store URL (your-store.myshopify.com) and paste the API key from step 1, then click Connect.
You'll know it worked when the page shows Connected, your store name, and a list of the Shopify blogs it can see. If the blog list is empty, the connection went through but the permissions didn't — reinstall the app and re-check the permission screen.
Step 4: Decide where posts land
Shopify can have several blogs; WordPress has categories. A blog mapping is just the rule connecting the two.
Go to Wash: Blog Manager → Blog Mappings → Add New Mapping, pick a WordPress category, pick the Shopify blog it should feed, and save. Repeat for as many as you need:
| WordPress category | Shopify blog |
|---|---|
| News | News |
| Tutorials | Guides |
| Company Updates | About Us |
This doubles as your scope control. A category with no mapping doesn't sync, which is the simplest way to keep internal or draft-ish categories off the storefront.
While you're in the settings, it's worth deciding two more things: whether synced posts arrive on Shopify published or as drafts, and which Shopify author they're attributed to.
Step 5: Sync something real
Don't test with an empty post — you won't learn anything. Take an existing article with a few images, a list, and a filled-in SEO description, and either publish it or hit update.
Then open Shopify admin → Content → Blog posts. The article normally shows up within seconds. Check the things that break in a manual copy-paste: are the images on Shopify's CDN rather than hot-linked back to WordPress, did the headings and lists survive, is the meta description populated?
Edit one line in WordPress, update, and watch the same article change on Shopify rather than a second copy appearing.
What you should expect afterwards
Publishing in WordPress is now the whole job. Later edits propagate on their own, and unpublishing in WordPress takes the Shopify article down with it.
A few honest limits worth knowing up front:
- The free plan is genuinely small — 5 new articles and 20 edits a month, one WordPress connection. It's sized to let you evaluate the thing, not to run a publishing schedule on.
- SEO field sync needs Pro. On Free, titles and meta descriptions from Yoast or Rank Math don't come across.
- Shopify's blog isn't WordPress. Some Gutenberg blocks have no Shopify equivalent and degrade to plain HTML. Sync one of your most layout-heavy posts early so you find out where the edges are on your content, not on ours.
If something doesn't line up, the sync log in the Shopify app tells you which post failed and why. Beyond that, we read email at [email protected].
Start on the free plan — no card required.