Page Sync
Overview
Wash automatically syncs WordPress pages (About, Contact, FAQ, etc.) to Shopify Pages. This is separate from blog articles and uses a dedicated sync mechanism.
How it works
WordPress Page (e.g., /about-us/)
↓
Wash Plugin detects post_type = 'page'
↓
API: POST /api/page-sync
↓
Shopify Page created at /pages/about-us
URL mapping
| WordPress URL | Shopify URL |
|---|---|
/about-us/ | /pages/about-us |
/contact/ | /pages/contact |
/faq/ | /pages/faq |
Note: Shopify Pages always have the /pages/ prefix. This cannot be changed.
Enabling page sync
Page sync is enabled by default. To verify:
- Go to WordPress Admin → Settings → Wash Connector
- Open the Sync Settings tab
- Check that Post Types includes Pages
Default value: post,page
What gets synced
| WordPress Field | Shopify Page Field |
|---|---|
| Page Title | Page Title |
| Page Content | Page Body (HTML) |
| Page Slug | Page Handle |
| Featured Image | Prepended to body as <img> |
| Yoast/RankMath SEO | Page SEO (title, description) |
| ACF Fields | Page Metafields |
| Custom Fields | Page Metafields |
Featured images
Shopify Pages don't have a native featured image field like Blog Articles. Wash handles this by prepending the featured image as an HTML element at the beginning of the page body:
<img src="https://cdn.shopify.com/.../image.jpg"
alt="Page Title"
style="width:100%;max-width:800px;margin-bottom:20px;" />
<!-- Rest of page content -->
Multilingual pages
For multilingual sites (WPML, Polylang, etc.), use language-prefixed slugs:
| Language | WordPress Slug | Shopify URL |
|---|---|---|
| English | en-about-us | /pages/en-about-us |
| German | de-ueber-uns | /pages/de-ueber-uns |
| French | fr-a-propos | /pages/fr-a-propos |
Redirections
When migrating pages, create redirects from WordPress URLs to Shopify URLs to preserve SEO:
- Go to WordPress Admin → Settings → Wash Connector and open the Redirections tab
- Click Unlock, then Generate from Synced Posts
- Review the generated redirects (includes pages)
- Click Sync Redirections to Shopify
With Enable Smart Redirections ticked, each page gets its redirect automatically when it syncs. See Smart Redirections.
Example redirect:
/about-us/ -> /pages/about-us
Metafields
Page metafields are synced automatically after page creation:
- ACF fields →
wash_acfnamespace - Yoast/RankMath →
wash_seonamespace - Custom fields →
wash_customnamespace - Hreflangs →
wash_hreflangnamespace
Hreflangs for pages
If you have multilingual pages with WPML/Polylang, hreflang tags are synced as metafields:
wash_hreflang.hreflang_en_us = "/pages/en-about-us"
wash_hreflang.hreflang_de_de = "/pages/de-ueber-uns"
wash_hreflang.hreflang_x_default = "/pages/en-about-us"
Add them to your Shopify theme's <head> section. Hreflang Tags has the Liquid code; for pages, loop over page.metafields instead of article.metafields.
Differences from blog articles
| Feature | Blog Articles | Pages |
|---|---|---|
| URL Format | /blogs/{handle}/{slug} | /pages/{slug} |
| Blog Mapping | Uses rule-based routing | A rule with Type Page can also send posts to Shopify pages |
| Featured Image | Native article.image | Prepended to body |
| Author | Supported | Not supported natively |
| Tags | Supported | Not supported |
| Categories | Flattened to tags | Not supported |
Troubleshooting
Page not syncing?
- Check that
pageis in the Post Types setting - Verify the page is published (not draft)
- Check the Shopify column in the Pages list
Page content not updating?
Wash uses fallback logic: if the page was deleted on Shopify, it will create a new one on the next sync. Check the page handle hasn't changed.
Images not showing?
Check Upload Images is on in the Files & Media tab. Images must be uploaded to Shopify CDN before they appear.