Service 01 of 06

Shopify Theme Development

Custom themes built to a design, not bent out of a bought one — Figma to theme, sections a merchandiser can actually use, Plus-grade architecture.

See Theme Development pricing ↗

Not sure this is the one you need?

Most theme enquiries turn out to be an app problem or a performance problem.

A fixed-fee audit tells you which, in writing, before anyone quotes a rebuild.

Start with an audit

Who this is for

Who Shopify Theme Development is for

You bought a theme, then paid to fight it for two years.

Every campaign needs a developer. The section you need does not exist, so it gets faked with a rich-text block and inline styles. The theme's own update path closed the day it was first customised.

The design is finished and nobody will build it properly.

Figma-to-theme is its own discipline. We build to the file — the spacing scale, the states, the breakpoints it actually specifies — rather than approximating it in whatever the theme already had.

You are on Plus and the theme is the bottleneck.

Markets, B2B catalogues, multi-store theme sharing, and a merchandising model that survives all three. Plus buys you the platform; the theme is still yours to get right.

The argument

A theme is a merchandising tool, not a skin

The mistake that produces most of the rebuilds we are asked to quote is treating the theme as a visual layer applied to a store. It is not. It is the interface your own team uses to run the business — the thing they open on a Tuesday morning when a supplier is late and the homepage needs to say something different by lunchtime.

You can see which assumption a theme was built under within about five minutes. Open the theme editor and try to build a page the design never anticipated. If the sections are named after the pages they first appeared on — “homepage banner 2”, “collection promo new” — the theme was built as a set of screens. If they are named after what they do and can be placed anywhere, it was built as a system. The first kind sends every change back to a developer. The second is why some stores can run a campaign in an afternoon and others need three weeks and a purchase order.

That distinction is what Online Store 2.0 made possible and what a great many 2.0 themes still do not deliver. JSON templates, sections available on every template, app blocks, and metafields as a first-class part of the data model. Used properly, it moves the boundary between what marketing can do and what engineering has to do a long way in marketing’s favour, permanently.

What we build

Custom theme architecture. Tokens first — colour, type scale, spacing, motion — then components, then templates that compose them. Sections designed for the person merchandising the store, with settings that make the wrong layout hard to build. Metafields and metaobjects designed as a content model up front, because retrofitting one onto three hundred live products is an order of magnitude more expensive than getting it right before launch.

Figma to theme. How the file is built changes what it costs, and it is worth being direct about that. A file with real variables, components and stated breakpoints becomes a token layer and a component inventory almost mechanically. A file that is a stack of full-page images at 1440 needs someone to infer the system from it first — what the type scale actually is, what happens at 768, what the component does when the text is twice as long. That inference is design work. We quote it as design work rather than hiding it inside the build and discovering it in week three.

Shopify Plus builds. Multi-store and multi-market architecture, B2B catalogues and company-level price lists, and the checkout customisation that only Plus permits. Where checkout logic is involved, that part is app work — Checkout UI extensions and Shopify Functions — and it is scoped alongside the theme rather than pretended to be part of it.

Migrations and replatforming. WooCommerce, Magento, BigCommerce, or an older Shopify theme that has been extended past the point of safe updating. The product import is the easy half and the half every proposal talks about. The half that decides whether the migration went well is the URL structure, the redirect map, the structured data, the filtered collection pages, and the plugin logic with no Shopify equivalent.

Performance rebuilds. Sometimes the right recommendation is to keep the theme you have. See below.

The migration is a redirect project wearing a design project’s clothes

When a merchant tells us traffic dropped after a replatform, the cause is essentially always the same. A URL pattern changed — /product/ became /products/, or the category structure was reorganised, or the blog moved — and nothing redirected the old pattern. A few hundred indexed pages started returning 404s on cutover day. The rankings took four to eight weeks to visibly fall, by which point the launch was considered finished and nobody connected the two.

The prevention is unglamorous and it works. Build the redirect map from the live site’s actual indexed URL list rather than from a crawl of what you think exists. Keep the patterns explicit instead of writing a catch-all rule that will eventually swallow a route you add next year. Verify every line after cutover, not before. Watch Search Console’s coverage report for a month, not a day.

We treat that map as a named deliverable, verified line by line, because it is the single artefact that decides whether a migration was worth doing.

When a rebuild is the wrong answer

Most merchants who come to us saying the site is slow do not need a new theme.

When we measure, the largest share of the problem is usually not theme code. It is six apps loading on the product page, two of which nobody uses. It is hero images shipped at 3000 pixels wide to a 390-pixel phone. It is three font families, one of them loading render-blocking from a third-party host. It is a review widget that inserts itself above the fold and shifts the layout half a second after paint.

None of those are fixed by a rebuild, and all of them are fixed in a fraction of the time a rebuild takes, on whatever theme you already have. That work is days, not months, and the merchant keeps a store their team already knows how to run.

The honest case for a custom theme is different, and it is a good case when it is true: the design or the merchandising model cannot be expressed in the current theme, and every campaign is now a workaround stacked on the last one. If that is your situation, a rebuild pays for itself in what your own team stops having to route through a developer. If it is not, we will tell you, and the audit that says so costs a fraction of the project that was quoted.

Performance, concretely

The targets are Google’s Core Web Vitals thresholds — Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 milliseconds, Cumulative Layout Shift under 0.1 — measured on field data from real visitors, not on a lab score from a laptop on office wifi. Lab scores are a debugging tool. Field data is the thing that correlates with revenue.

Getting there on Shopify is not mysterious. Render on the server with Liquid and ship JavaScript only where interaction genuinely needs it. Serve responsive images at the sizes the layout actually uses, in a modern format, with width and height declared so nothing shifts. Self-host fonts, subset them, and give every face a real fallback. Keep third-party script out of the head. Place app scripts on the templates that need them and nowhere else. Reserve space for anything that loads late.

The last one is worth stating on its own, because layout shift is the vital that merchants tolerate longest and that customers hate most: a control that moves under a thumb mid-tap is not a metric problem, it is a lost order.

What you get, and who owns it

The theme lives in your Shopify admin and in a repository you own, with a staging theme and a documented release process rather than edits made live at four on a Friday. You get a section and block inventory that says what exists and where it is meant to be used, a token layer mapped to your design file, structured data on the templates that need it, and before-and-after field measurements rather than an assertion that it is faster.

And you get a guide to the theme editor written for the people who will use it — in their language, about their store. If your team cannot rebuild the homepage without calling us, we did not finish the job.

What we do

What Shopify Theme Development covers

  • 01

    Custom theme architecture

    Built on Online Store 2.0 — JSON templates, sections everywhere, app blocks, metafields — so the people who run the store can change it without opening a code editor.

  • 02

    Figma to theme

    Your design, implemented as a theme rather than approximated by one. A token layer, a component inventory, and a build that matches the file at every breakpoint you designed.

  • 03

    Replatform and migration

    WooCommerce, Magento, BigCommerce or an older Shopify theme. Products, customers, orders, content and — the part that decides whether it went well — every URL.

  • 04

    Shopify Plus builds

    Multi-store and multi-market architecture, B2B catalogues and price lists, and the checkout work that only Plus can do.

  • 05

    Theme performance rebuilds

    Keeping the store you have and fixing what it loads. Usually the cheapest real intervention available to a merchant, and rarely the one being sold.

  • 06

    Content modelling

    Metafields and metaobjects designed as a content model rather than accumulated as custom fields, so editorial and merchandising stop being a developer ticket.

What you get

Everything on this list is a thing you can open.

  • A theme in your Shopify admin, in a repository you own
  • A section and block inventory — what exists, what it does, where to use it
  • A design token layer mapped to your Figma variables
  • Core Web Vitals field measurements, before and after
  • A complete redirect map, verified against the live URL list (migrations)
  • Structured data on product, collection, article and organisation
  • A merchandiser's guide to the theme editor, written for your team, not for us
  • A staging theme and a documented release process

Technically

What a Vibhora theme is actually made of.

Liquid
Online Store 2.0 sections everywhere, JSON templates, section groups
Content
Metafields and metaobjects, typed and documented
Front end
TypeScript and web components — no framework tax on a template that does not need one
Pipeline
Shopify CLI, a preview theme per branch, Lighthouse in CI
Handover
A Git repository you own, a section inventory, and a release process written down
When we say no
If Hydrogen is the honest answer, we say so — and we build that instead

Acceptance criteria, every build

LCP
< 2.0 s p75 mobile
INP
< 200 ms
CLS
< 0.05
theme JS
< [XXX] KB gzipped
a11y
0 critical axe issues

Tighter than Google's "good" thresholds on purpose — a bar that only restates the public one is not a commitment. Anything in brackets is set per project during scoping and written into the statement of work.

How it runs

The order matters more than the estimate.

  1. Week [1]

    Audit and scope

    What the current store does, what it earns, what it loads, and which templates matter. A rebuild that starts without this is a redesign with a budget attached.

  2. Week [1–2]

    Content model

    Products, variants, collections, metafields and metaobjects, designed before any template is written. Everything downstream is cheaper when this is right and expensive when it is not.

  3. Week [2–N]

    Design implementation

    Tokens first, then components, then templates. Reviewed against the Figma file at every breakpoint that file actually specifies.

  4. Week [N–1]

    Build and merchandise

    Sections and blocks built for the people who will use them, then handed to your team to lay out real pages before launch rather than after.

  5. Week [N]

    Cutover

    Redirects, structured data, analytics and search verified against the old site before DNS moves. On a migration this step is the whole project.

  6. Ongoing

    After

    A support window, field performance monitoring, and someone who answers when a Shopify release changes something under you.

The bracketed counts are filled from the real engagement range once three projects have been measured. The order is the commitment; publishing an invented timeline is the fastest way to lose the first scoping call.

The honest part

When a rebuild is the wrong answer

If your theme is slow, the rebuild is often not what fixes it. In most stores we measure, the largest share of the problem is the app stack and the media, not the theme code — six apps loading on the product page, hero images shipped at 3000px, three font families, a review widget that blocks render. Removing those is days of work against months, and it is available to you whatever theme you are on. We will tell you when that is the answer, and the audit that says so costs a fraction of the rebuild that was quoted. The honest case for a custom theme is a design or a merchandising model the current theme cannot express — not a number on a speed test.

Image — to be added · 4:3

A real performance trace or app-stack audit from a merchant store, anonymised where necessary and marked up to show what the theme rebuild would not have fixed.

Talk to us about Theme Development

Tools and platforms

Questions

What people ask before they commission this.

Why build a custom theme instead of buying one?

Buy one if your requirements fit inside it — a good bought theme is a genuinely efficient way to launch, and we tell merchants to do exactly that several times a year. Build custom when the design or the merchandising model does not fit: when every page needs a section the theme does not have, when the brand's typography and layout are being approximated rather than implemented, or when the theme's own settings have been fought so hard that nobody can safely update it any more.

Can you build from our Figma file?

Yes, and how the file is built changes what it costs. A file with defined variables, components and stated breakpoints becomes a token layer and a component inventory almost directly. A file that is a set of full-page images at one width needs the system inferring from it first, which is design work and is scoped as design work rather than smuggled into the build estimate.

What is Online Store 2.0 and does it matter to us?

It is the theme architecture Shopify introduced in 2021 — JSON templates, sections available on every page rather than only the homepage, app blocks, and first-class metafields. It matters because it decides how much your team can change without a developer. A theme that predates it, or a 2.0 theme built as though it did not, sends every layout change back to an agency ticket queue, and that cost compounds for the life of the store.

We are migrating from WooCommerce or Magento. What actually carries over?

Products, variants, customers, historical orders and content all migrate with well-understood tooling. What needs deliberate work is everything that made the old site rank and function — URL structure, redirects, structured data, filtered collection pages, and any checkout logic that lived in plugins with no Shopify equivalent. Budget the migration around those, not around the product import, which is the easy half.

Will we lose search rankings when we replatform?

Not if the redirect map is complete and verified before DNS moves. The losses we are asked to investigate are nearly always the same cause: a URL pattern that changed with no redirect behind it, so a few hundred indexed pages started returning 404s at cutover. We build the map from the live site's actual indexed URL list, verify every line after launch, and monitor for the weeks that follow.

Will our existing apps still work?

Apps that install as theme app blocks or via the app embed system carry across cleanly. Apps that were installed by pasting code into the old theme do not, and a migration is the right moment to find out which of them anyone still uses. Auditing the app list is part of the scope step, and it routinely removes two or three subscriptions the merchant had forgotten they were paying for.

How do you keep a Shopify theme fast?

By shipping less. Server-rendered Liquid with JavaScript only where interaction genuinely requires it, responsive images at the sizes the layout actually uses, self-hosted fonts with explicit fallbacks, no render-blocking third-party script in the head, and app scripts placed on the templates that need them rather than site-wide. The targets are Google's Core Web Vitals thresholds — LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1 — measured on field data from real visitors rather than on a lab score.

Who can edit the site after launch?

Your team, without us. That is a design constraint on the build rather than a promise at the end of it — sections and blocks are built for the person merchandising the store, named the way they think about pages, and handed over with a written guide and a walkthrough. If changing a homepage layout requires a developer, the theme was built wrong.

Often scoped together

Most of this work arrives with something next to it.

Send the store URL and the theme you are on.

One business day, one real answer: whether the theme is actually your problem, what we would do first, and roughly what it costs. If the honest answer is a performance pass rather than a rebuild, that is the answer you get.

Book an auditStart a project