Import from Shopify

Import from Shopify works in the opposite direction to the rest of Wash. It pulls a Shopify blog's articles into WordPress as posts, or the shop's Pages in as WordPress pages. Use it when the content already lives in Shopify and you want to manage it from WordPress from now on.

It's available on the Pro plan and above, and only WordPress administrators can run it.

What comes across

ShopifyWordPress
Article or page contentPost or page content
Featured imageFeatured image, in the Media Library
Inline imagesMedia Library attachments, with the content pointing at the local copies
Files linked from the content (PDFs, documents)Media Library attachments
TagsTags
Blog nameA category with the same name (optional)
AuthorThe WordPress user with the same display name, if there is one
Publish datePublish date
MetafieldsCustom fields (optional)
TranslationsLinked translated posts in Polylang or WPML (optional)

Each image or file is downloaded once. Importing again reuses the copy already in the Media Library. Wash never creates WordPress users: an author with no matching user gets the person running the import.

Running an import

  1. In WordPress, go to Settings > Wash Connector and open the Import from Shopify tab
  2. Under Import, choose Blog articles or Pages
  3. For articles, pick the Source blog
  4. Under Import as, choose the status the new posts get:
    • Draft (review before publishing), the default
    • Match Shopify status
    • Published
  5. Tick the options you want (see below)
  6. Click Start import

A progress bar counts the items as they come in, and any item that fails is listed underneath with the reason. The import runs in small batches, so a large blog won't time out. Keep the tab open until it finishes.

If the site is connected to more than one store, the import runs for the store whose settings page you're on.

Options

OptionDefaultWhat it does
Import images (featured + inline) and file attachmentsOnCopies images and linked files into the Media Library
Import metafields (as custom fields)OffWrites the article's metafields as custom fields
Assign a category named after the Shopify blogOnPuts each imported post in a category with the blog's name. Articles only
Import translations (requires Polylang or WPML)OffImports each Shopify translation as a linked translated post
Skip content already importedOffLeaves items imported earlier untouched instead of updating them

After the import

Every imported post stays linked to its Shopify article or page.

  • Importing again updates the same posts in place. Nothing is duplicated.
  • Editing and saving an imported post in WordPress updates the same Shopify article. It doesn't need a blog-mapping rule, because Wash already knows where it lives.
  • Nothing is pushed back during the import itself. Bringing content in never sends it straight back to Shopify.

Metafields

Metafields that Wash wrote in the first place (the wash namespaces) come back under their original custom field names. Metafields from any other namespace get the namespace added to the front, so custom.subtitle becomes the custom field custom_subtitle. This stops an imported metafield from overwriting a field another plugin owns. Fields whose names start with an underscore are skipped, and JSON metafields are stored as arrays.

Translations

With Import translations ticked and Polylang or WPML active, each language of a Shopify article (from Shopify's Translate & Adapt) becomes its own WordPress post, linked to the original as a translation. Without Polylang or WPML only the primary language is imported, and the tab tells you so.

Troubleshooting

The tab is locked

Import from Shopify needs the Pro plan or above. The tab shows an upgrade link on the Free plan.

"A batch for this import is still running"

The previous batch hasn't finished on the server yet. You don't need to do anything: the importer sets that batch aside and retries it at the end of the run. Re-processing is safe because items are updated in place.

Images still point at cdn.shopify.com

Check Import images (featured + inline) and file attachments was ticked, then import again. Already imported posts are updated in place.

The author is wrong

Wash matches authors by display name. Create a WordPress user with the same display name as the Shopify author, or set the author by hand, then import again.