Building Shopify Themes
Types of theme development
The most common theme-related task for developers is theme customization, where an existing theme is altered to meet a merchant’s needs. Customization jobs range from minor tweaks to major overhauls, and you can learn more at the Shopify Experts Marketplace.
Building bespoke themes
Developers can build themes from scratch. This can be a major undertaking, and the work is usually commissioned by a single merchant with very specific requirements.
Building for the Shopify Theme Store
Developers can build public themes to sell through the Shopify Theme Store. The technical, maintenance, and support requirements for public themes are very rigorous, and Shopify approves all themes offered through the Theme Store. Review the requirements and approvals process before starting development.
Anatomy of a Shopify theme
Shopify themes are created as a directory of template files. Files are written in Liquid, Shopify’s open-sourced templating language based on Ruby. Liquid allows you to mix static HTML and dynamic Liquid tags to create the pages required by a Shopify online store.
Shopify themes are organized with a standard directory structure of template files and other assets, such as images, stylesheets, and scripts. Themes should always include the basic set of required templates, such as the files controlling the home page, product page, and others.
While apps are run on the developer’s infrastructure, themes are run on Shopify’s servers. A theme is distributed by bundling the theme directory as a zip file, which can then be uploaded by the merchant in Shopify admin.
Many developers sell their themes outside of the Shopify Theme Store. But, regardless of distribution method, developers are responsible for providing merchant technical support.
Shopify provides theme code customization tutorials for certain free themes from Shopify. Code customization tutorials for paid themes are unsupported by Shopify, and you might consider reaching out to your theme's developer for support. To learn more about support for paid themes, see Paid themes.
A supported theme code customization tutorial is any tutorial that includes the following note at the top of the page:
An unsupported theme code customization tutorial is any tutorial that includes the following caution at the top of the page: