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 URLShopify 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:

  1. Go to WordPress Admin → Settings → Wash
  2. Click the Sync tab
  3. Check that Post Types includes page

Default value: post,page

What Gets Synced

WordPress FieldShopify Page Field
Page TitlePage Title
Page ContentPage Body (HTML)
Page SlugPage Handle
Featured ImagePrepended to body as <img>
Yoast/RankMath SEOPage SEO (title, description)
ACF FieldsPage Metafields
Custom FieldsPage 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:

LanguageWordPress SlugShopify URL
Englishen-about-us/pages/en-about-us
Germande-ueber-uns/pages/de-ueber-uns
Frenchfr-a-propos/pages/fr-a-propos

Redirections

When migrating pages, create redirects from WordPress URLs to Shopify URLs to preserve SEO:

  1. Go to WordPress Admin → Settings → Wash → Redirections
  2. Click Generate from Synced Posts
  3. Review the generated redirects (includes pages)
  4. Click Sync to Shopify

Example redirect:

/about-us/ -> /pages/about-us

Metafields

Page metafields are synced automatically after page creation:

  • ACF fieldswash_acf namespace
  • Yoast/RankMathwash_seo namespace
  • Custom fieldswash_custom namespace
  • Hreflangswash_seo.hreflang_*

Hreflangs for Pages

If you have multilingual pages with WPML/Polylang, hreflang tags are synced as metafields:

wash_seo.hreflang_en_us = "/pages/en-about-us"
wash_seo.hreflang_de_de = "/pages/de-ueber-uns"
wash_seo.hreflang_x_default = "/pages/en-about-us"

Add these to your Shopify theme's <head> section. See Shopify Limitations for theme code examples.

Differences from Blog Articles

FeatureBlog ArticlesPages
URL Format/blogs/{handle}/{slug}/pages/{slug}
Blog MappingUses rule-based routingNot applicable
Featured ImageNative article.imagePrepended to body
AuthorSupportedNot supported natively
TagsSupportedNot supported
CategoriesFlattened to tagsNot supported

Troubleshooting

Page not syncing?

  1. Check that page is in the Post Types setting
  2. Verify the page is published (not draft)
  3. Check the Wash sync status column in 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?

Ensure Files & Media sync is enabled in Wash settings. Images must be uploaded to Shopify CDN before they appear.


Related Documentation