SHOPIFY CATALOG MIGRATION QA
47 checks before a catalog reaches production.
A practical public checklist for migration teams, agencies and store operators. Bookmark it, send it to a client, or use it to review a supplier file before import.
File integrity
- File opens without corruption
- Delimiter/encoding is known
- Headers are unique
- No hidden merged-header rows
- Identifiers were not converted to scientific notation
- Leading zeros are preserved
Products & identifiers
- Every product has a stable grouping key
- SKU uniqueness is checked
- Blank required identifiers are surfaced
- Handles/slugs are deterministic
- Duplicate product rows are explained
- Vendor/brand values are consistent
Variants
- Option names are stable per product
- Option values are non-empty where required
- Variant combinations are unique
- Variant rows resolve to one parent product
- SKU is stable per sellable variant
- Variant-level price/inventory fields are intentionally mapped
Text & taxonomy
- Title source is explicit
- Description source is explicit
- HTML/plain-text handling is known
- Product type/category mapping is documented
- Tags are not used as a hidden catch-all
- Unsupported taxonomy values become exceptions
Prices & inventory
- Currency assumption is explicit
- Decimal separator is normalized
- Price is numeric where required
- Compare-at price logic is explicit
- Inventory quantity meaning is known
- Zero stock is not confused with unknown stock
Images & URLs
- Image URLs are reachable or intentionally omitted
- Image-to-variant association is known
- Duplicate images are detected
- Alt text source is explicit
Mapping & provenance
- Every output field has a source/rule
- Constants are declared, not hidden
- Transforms are documented
- Ambiguous fields become questions
- No unsupported values are invented
- Corrections have an evidence trail
Pre-import QA
- Output headers match intended target format
- Required fields are present
- Row counts reconcile
- Exception rows are preserved outside clean output
- Encoding/line endings are stable
- Replay is deterministic
- A human reviews unresolved questions before production