Skip to content
Shopify tooling · Admin GraphQL

Shopify Store-to-Store Structural Migrator

A Node.js tool that copies a Shopify store's structure — metafield and metaobject definitions, pages, blogs, collections — into another store by logical key, and refuses to touch transactional data.

Production RecordedEcomLabs ProductCloud & Infrastructure
Overview

Rebuilding a store's metafield architecture by hand is the part of a replatform that quietly takes a week. This exports the structure from a source store to JSON and upserts it into a destination: if a record exists it is updated, if it does not it is created, and matching is always by logical key rather than by source ID — because source IDs mean nothing in the destination store. Metafield definitions and metafield values are handled as separate passes, which is the distinction that makes references resolvable. Products, variants, inventory, customers and orders are explicitly out of scope: a structural migrator that can also move orders is a structural migrator that can also lose them.

What EcomLabs did

  • Built export and import passes over the Shopify Admin GraphQL API.
  • Implemented upsert matching by logical key so a re-run is safe rather than duplicating.
  • Separated metafield definitions from metafield values so references resolve in the destination.
  • Kept transactional data — products, inventory, customers, orders — out of scope by design.

Capabilities

  • Metafield definitions across products, variants, collections, pages, blogs, articles, shop, locations and markets.
  • Metaobject definitions and metaobject entries.
  • Structural and content collections, pages, blogs and articles.
  • Upsert by logical key, so the same run can be repeated safely.
  • Transactional data deliberately excluded.

Stack

  • Node.js
  • Shopify Admin API
  • GraphQL
  • JavaScript
  • JSON
Related work

Related work

APIIn development

Private Document Upload API

Private document upload API built with Node.js and Express, handling multipart uploads to cloud storage with CORS and API authentication.

Private Client ImplementationAPIFile UploadNode.js
Let's build

Have a project in mind?

Tell us your goals and current setup — we'll come back with a clear, honest plan.