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 Connector
  2. Open the Sync Settings tab
  3. Check that Post Types includes Pages

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

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 Connector and open the Redirections tab
  2. Click Unlock, then Generate from Synced Posts
  3. Review the generated redirects (includes pages)
  4. 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_acf namespace
  • Yoast/RankMath → wash_seo namespace
  • Custom fields → wash_custom namespace
  • Hreflangs → wash_hreflang namespace

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

FeatureBlog ArticlesPages
URL Format/blogs/{handle}/{slug}/pages/{slug}
Blog MappingUses rule-based routingA rule with Type Page can also send posts to Shopify pages
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 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.