Choosing Themes on Shopify and When to Build From Scratch

Choosing Themes on Shopify and When to Build From Scratch

Choosing Shopify themes and building from scratch“Should I build a theme from scratch? Or use an existing Shopify theme and modify it?"

This is the question that many designers and developers ask themselves when first starting a project. Especially when they have a new client, and their client doesn’t know what they need or want.

As the expert, it’s your job to advise the client on the best course of action for their particular situation. I’ve had my own experiences working with clients, and let me start by saying every client is different.

As the expert, it’s your job to advise the client on the best course of action for their particular situation.

Based on my experience, most clients fall into one of three categories when looking for design and development expertise and choosing a path for theming: customizing a theme using only the theme editor, taking an existing theme and modifying its codebase, or building a custom theme from scratch.

This article will cover what the benefits and limitations are of each path, and things to keep in mind along the way. The options below are suggestions, and might require some tweaking based on what deliverables your client requires.

Become a Shopify Partner

Before you start, make sure to create a free Shopify Partner account. With a Shopify Partner account, you can access free development stores to build a theme for a client, earn monthly revenue for referred clients, and gain access to resources and tools that can help you on your path to success.

Become a Shopify Partner

1. Customize a theme using only the theme editor

When a client has a very small budget or there’s a quick turn around time, using an existing Shopify theme is usually the best choice.

Your client might have just enough money for a new logo and collateral around new branding, with no money left to build the actual store or website. Sometimes, great branding and small tweaks to an existing Shopify theme is all you need. It can be as simple as using the Shopify Theme Editor to help a client match their existing branding and set up a store.

Benefits

  • 👌 for clients with limited budgets.
  • You can spend more time on branding and assets.
  • Feasible and quick to implement.
  • You don’t necessarily need a developer.

Limitations

  • Customization is limited to the theme editor and existing theme settings.
  • Functionality of the store is limited to a theme’s existing features.
  • You might need to add additional apps to get everything you want, and those apps might not match the existing theme styling.

It’s important to note that all themes are different, and depending on what your client needs, choosing a good theme should take careful consideration.

Choosing Shopify themes and building from scratch: Theme editor
The theme editor in Shopify.

Things to keep in mind

  • Is it responsive? All good themes should be, it should be a given that a theme works on all devices.
  • Does it have all the options or customizations you need? What’s available in the Theme Editor? Is there a demo or preview I can look at?
  • How popular is the theme? Will it be easy to find help if needed? Choosing a free Shopify theme means Shopify support staff will be able to help you with any questions you might have when using the theme editor and sections.
  • Does this theme support popular apps? If it’s found on the Shopify Theme Store, it should work with most apps. If you find a theme on a third-party site, make sure to read reviews and the number of downloads before you purchase it.

You might also like: An Introduction to Theme Options.

2. Take an existing theme and modify its codebase

Developers coming from WordPress or Drupal backgrounds may be familiar with the customization dependencies between 'parent' and 'child' themes. Shopify themes do not have this dependency and any customizations are directly done on the theme itself. What this means is updates tend to be manual, but you don’t need to worry about your theme breaking because of an automatic update to the base theme.

When choosing a base or starting theme, you’re often going to override the stylesheet of the theme and make style customizations, or add in additional features. For your client, this might mean custom layouts, templates, and sections. Depending on technical ability, a developer will likely be required for such customizations.

There are different types of base/starting themes to consider when choosing this option; some with a lot of customization required for it to look great, and some with very little.

Scaffold and skeleton themes

These types of themes have little to no styling, and usually contain the bare bones of what needs to exist for a theme to function properly.

Slate is a great example of a scaffold starting theme. It’ is a functioning theme out-of-the-box, with very little styling that you need to overwrite. In a lot of ways, using Slate is a bit like starting from scratch, but without having to create any functionality.

You might also like: Getting Started with Slate in 4 Simple Steps.

Clean and simple Shopify themes

There are two themes from Shopify that work really well as base/starting themes to build upon: Debut and Minimal. Both themes look and work beautifully out- of- the- box, as well as support Sections (which makes them easy to customize). They are also the most popular themes that people make modifications to, resulting in much more documentation online around customizing these themes to do specific things.

Benefits

  • 👍 for clients with a medium sized budget, and less technical modifications or customizations.
  • Using a base theme or starter theme is much faster than building from scratch.
  • You have more control over the customization of a theme, meaning you can achieve your client’s vision more precisely.
  • Much more easily extendable, meaning you can build out more functionality without having to write as much code. (For example: reusing existing snippets, and modifying them to appear in custom layouts or other places on your site.)

Limitations

  • It can be challenging to learn and understand an existing theme. This can result in sometimes having to learn new methodologies or systems to interact with the existing code in a productive and non-destructive way.
  • Depending on developer skill, there is the potential that additions and modifications to an existing theme can bloat, slow, and add additional http requests.
  • There is a possibility that the code can sometimes get a bit hacky to maneuver limitations of a base/starting theme.
  • When writing your own styles or JavaScript, make sure to test browser compatibility and multiple devices to ensure your theme functions properly.

Things to keep in mind

  • What kind of online presence and support documentation exists for the theme you’re choosing? A lot of documentation and support are great things when choosing a theme to build on.
  • What does the code look like? Can I preview the code of this theme to know whether I understand the tooling and how to use it? Will my developer understand how to work with it easily?
  • Can I build the functionality my client wants and needs with this theme? How extensible are the templates? Does it include Sections already?

3. Create a custom theme from scratch

Of the three options, this is usually the most expensive, and the most time consuming. Creating a custom built theme is usually the best choice if you’re working with a client from the beginning, and have a specific vision for the project.

Creating a custom built theme is usually the best choice if you’re working with a client from the beginning, and have a specific vision for the project.

If a client is migrating from another platform and wants to keep a similar look and feel, this might be the best option because you’ll need developers to recreate patterns, similar to a client’s old platform, within Shopify.

That’s not to say you can’t use a base theme for a custom design — rather, custom themes are built from the ground up. Sometimes, making it from scratch is easier and faster than trying to chokehold an existing theme into doing what you want.

Benefits

  • Great for clients with big budgets 💸
  • You can do whatever you want, there’s no limit!
  • It’s your own code, meaning that you control everything from build tools, to methodology, and naming. This means it’s a lot easier to know where and what the code is doing, because you built it.
  • You know exactly what is being loaded on the page and control everything from SEO to what scripts are used.
  • It’s a lot easier to fix a bug on a site you built, instead of debugging someone else’s code.
  • There’s more room for testing along the way, especially before you decide on final designs, or build out prototypes. The client feels like they have more choices and can have pretty much anything they want.

Limitations

  • The cost in time and money can be much higher than the other options; so unless your client has a budget, this becomes much more difficult to produce for less.
  • The complexity is much higher, and you might find yourself spending a lot of time developing basic functionality that you could find in an existing theme.
  • If you aren’t an expert in SEO, social sharing, and package management, it could be difficult to produce a theme that’s on par with themes found in the theme store.
  • Quality is dependent on the developer or development team, so great developers are important for the entirety of a custom theme project.

We have a lot of resources on theme development for Shopify, and you can check out the official documentation for building themes on Shopify.

You might also like: The Essential List of Resources for Shopify Theme Development.

Things to keep in mind

  • What are the time constraints around this project? Do you have the time to build from scratch?
  • How confident are you in your developer or development team? Can they build everything your client will need?

Choose the right approach

My goal with this article is to be upfront and honest about the decision making that goes into helping a client choose which option is best for their situation.

Which option you choose will depend on what you and your client are trying to do. If you want to get a client up and running as quickly as possible, consider using an existing theme and tweaking it with the theme editor.

If you want to build a theme that has a similar design and functionality to an existing theme, with some visual and template changes, use a base theme and build on it. And if your client wants something that just doesn’t exist yet, or you’re doing a migration and need something really specific, a custom theme is probably the best choice.

All clients are different, and it’s our job to advise them on a plan that takes into account their budget, time, and requirements.

All clients are different, and it’s our job to advise them on a plan that takes into account their budget, time, and requirements.

What are the options you present to your clients? Tell us in the comments below!

About the Author

Tiffany is a Front End Developer Advocate Lead at Shopify. She specializes in front end development, user experience design, accessibility, and is passionate about inspiring young designers and developers. Previously, she was an Ottawa Chapter Lead for Ladies Learning Code and worked as a Front End Developer for Partnerships at Shopify.

Grow your business with the Shopify Partner Program

Learn more