k-sync
Back to blog

Migrating an optical and eyewear store from WooCommerce to Shopify (2026)

How to migrate a glasses, sunglasses, or contact lens WooCommerce store to Shopify — lens prescription variants, frame metafields, virtual try-on integration, contact lens subscription setup, and optical retail Shopify configuration.

·By k-sync
5 min read · 947 words

Optical and eyewear retail spans two very different customer journeys: fashion-forward sunglasses buyers choosing on style, and prescription eyewear customers who need to provide complex optical data with their order. Both require careful product data structuring in Shopify, and prescription ordering in particular requires a custom order flow that goes beyond standard Shopify product variants.

Eyewear product categories

Frame specification metafields

Frame data drives both the shopping experience and fit. Customers increasingly expect to filter by face shape, frame width, and material online.

MetafieldExampleProduct type
eyewear.frame_shapeRound / Oval / Square / Cat-eye / Aviator / WayfarerAll frames
eyewear.frame_materialAcetate / Titanium / Stainless steel / TR90 / WoodAll frames
eyewear.frame_width_mm120 / 130 / 140 / 150All frames
eyewear.lens_width_mm48 / 52 / 54 / 58All frames
eyewear.bridge_mm14 / 16 / 18 / 20All frames
eyewear.temple_mm135 / 140 / 145 / 150All frames
eyewear.fitSmall / Medium / Large / Extra WideAll frames
eyewear.genderMen / Women / UnisexAll frames
eyewear.face_shape_suitableOval,Heart,RoundAll frames
eyewear.rx_compatibletrue / falseFrames
eyewear.lens_typeSingle vision / Varifocal / Bifocal / Non-prescriptionPrescription frames
eyewear.lens_material1.50 / 1.60 / 1.67 / 1.74 indexPrescription
eyewear.uv_protectionUV400 / UV380Sunglasses
eyewear.lens_category0 / 1 / 2 / 3 / 4Sunglasses (EN ISO 12312-1)
eyewear.polarisedtrue / falseSunglasses

Colour and size as variants

For sunglasses and non-prescription frames, the variant structure is typically:

Frame size is sometimes a variant but often better as a separate product (e.g., "Classic Aviator — Small" and "Classic Aviator — Medium/Large") because the frame dimensions differ significantly between sizes and the overlap in customer journeys is low.

In WooCommerce, colour is pa_colour and lens is often a custom attribute or separate variation axis. k-sync maps these to Shopify option values during migration.

Reading glasses — dioptre as a variant

Reading glasses are sold OTC with fixed dioptre strengths. Typical range: +1.00, +1.25, +1.50, +1.75, +2.00, +2.25, +2.50, +2.75, +3.00, +3.50.

In WooCommerce, dioptre is stored as pa_strength or pa_dioptre. In Shopify, this maps to Option 1 (Strength) with values like "+1.00", "+1.50" etc. Each dioptre × colour combination is a variant.

A reading glasses range with 5 frame colours × 10 dioptre strengths = 50 variants — well within Shopify's limit.

Prescription ordering flow

Prescription eyewear requires customers to provide their prescription data (sphere, cylinder, axis, near addition, pupillary distance) per eye. This is not a standard Shopify variant — it's order-specific data.

Approaches in Shopify:

During WooCommerce migration, prescription data from existing orders does not transfer to Shopify — this is order history data, not product data. k-sync handles the product migration; prescription order history needs a separate export/archive strategy.

Contact lens subscriptions

Contact lenses are a classic subscription product — monthly boxes delivered automatically. In WooCommerce, this is typically WooCommerce Subscriptions. In Shopify:

Contact lens prescription data cannot auto-migrate from WooCommerce Subscriptions to Shopify subscription apps — customers will need to re-enter their prescription when their subscription is recreated post-migration.

Virtual try-on integration

Virtual try-on (AR frame preview using a camera) is increasingly standard in online eyewear retail. After migration to Shopify, virtual try-on is available via apps (Virtually, Fittingbox, Ditto, or theme-integrated solutions).

For these apps to work, each frame product needs:

Ensure frame images and dimension metafields are fully populated before configuring a virtual try-on app post-migration.

Post-migration checklist for optical and eyewear stores

Migrate your store with k-sync

Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.

Get started free

Related reading

Browse all migration guides