Quick Summary: To build a scalable e-commerce site with WooCommerce you need to plan your product catalog (hierarchical structure), payment methods, shipping options, and tax settings prior to starting development on the platform. A customized WooCommerce theme ($8,000-$15,000) is significantly faster than off-the-shelf page builder themes when it comes to speed, Core Web Vitals, and overall scalability. The key elements of maintaining high levels of performance for an online store include minimizing the number of plugins used; reducing the amount of data stored in the database; and utilizing a hosting provider that specializes in supporting WooCommerce sites.
Millions of businesses around the globe operate their online storefronts on WooCommerce. WooCommerce has earned its position as the leader in the free, open source e-commerce space by providing full customizability options; allowing for a seamless integration of WooCommerce and WordPress’s Content Management (CMS) capabilities; and offering zero monthly platform costs you will be paying out of pocket. The difference in performance between an ecommerce site utilizing WooCommerce that simply operates versus one that truly succeeds is staggering.
This guide will provide you with all the information needed to develop a WooCommerce ecommerce site that will perform at maximum speed, scalability, and allow it to grow along side your business.
Why WooCommerce Still Leads Open-Source E-Commerce
With over half of all e-commerce sites being run on it, WooCommerce allows you to fully control your online store. The fact that WooCommerce is free and open source (not like Shopify/BigCommerce) means you pay no monthly platform fee, no extra transaction fee in addition to your PayPal/Bank transfer etc. fees, and no restrictions on how much customization you can do.
WordPress Foundation provides you with a built-in blogging/content management system; this is a huge differentiator as the blog will drive organic traffic to your site, and since both your shop/store and blog are contained within the same platform; you don’t have to worry about connecting two different systems which would require additional coding or technical support.
The extension library contains almost every possible extension related to commerce including: subscriptions, bookings, memberships, multi-currency, multi-vendor market places, product configurators, etc. plus literally hundreds of payment gateway options. If an extension doesn’t already exist, WooCommerce’s use of hooks/filters make it very easy to develop your own extensions if you have experience programming.
Planning Your WooCommerce Store
Beginning with a blank slate, there are numerous aspects that will influence the overall development of a project prior to coding commencing.
Product catalog structure. In addition to being able to develop both simple and variable products in terms of size and color, you can also create group products and external/affiliate products using WooCommerce. The structure of your catalog impacts the way users navigate your website, how well your site is indexed by search engines for keyword searches, and the url format used for all pages on your site. Before you begin developing your catalog, plan out what type of products you wish to sell, how many characteristics each product may have, and then plan your category hierarchy based upon this information.
Category and taxonomy planning. The categories of your products function as both a means of navigation for customers and an SEO (Search Engine Optimization) framework. Categories need to make sense to customers (the way customers think about your products) and to search engines (the way customers search for your products). If you have a small number of products, it would likely be best to use a flat category structure. However, if you have multiple levels of subcategories in order to accommodate a large amount of products, a hierarchical structure is generally most effective.
Payment gateway selection. When it comes to the developers’ favorite payment gateway, Stripe takes first place. As such, we recommend Stripe as the primary payment method for all but the fewest stores. In terms of buyer trust, PayPal is still widely used and respected. Depending on your store’s geographic focus, local payment gateways may be necessary. Offering multiple payment options (different buyers use different payment options) will decrease the number of users who abandon their cart due to not having an acceptable payment option.
Shipping configuration. Using shipping zones in WooCommerce allows you to set up different shipping costs depending on where your products are being shipped from/being sold to. If you have a simple shipping setup, flat rate and/or free shipping when a customer reaches a certain dollar amount can work well. However if you have complex logistics and need to integrate shipping rates with a carrier such as DHL, FedEx, etc., using a service that provides real time shipping quotes at check out is often the best solution.
Tax compliance. The tax laws vary significantly from one country to another and also within regions of countries. Basic tax rates can be entered into WooCommerce manually; however, for stores selling products in multiple taxing jurisdictions, automated tax calculation services make it easier to comply with taxes and reduce risks associated with errors.
Custom Theme vs. Off-the-Shelf
The most impactful choice you’ll make for your store’s future success is whether to build custom or use pre-made (off-the-shelf) WooCommerce themes; especially those that were developed using page builders like Elementor. Building an off-the-shelf WooCommerce theme quickly can be done in just a few hours for about $60, but there are serious long-term implications of building an “off-the-shelf” site.
Theme builders for page builders create large amounts of css and js file code in order to provide functionality you may never need. These builders are also creating the bloat needed to slow down html generation (rendering). In addition, each element created dynamically is causing an additional database query. The most limiting factor to this type of theme is its performance limit. This limit cannot be completely eliminated by adding caching. Once your store has grown enough to contain 100’s of actual products with real traffic, this ceiling will become a brick wall.
Developing a custom Woo Commerce theme is more expensive upfront ($8000-$15000) than purchasing a theme and having it customized (theme price $500-$3000), however, if you do develop a custom theme you will get what you pay for. Custom themes will only load the code necessary for your store. Your custom theme will render quicker. Your custom theme will have a better score on core web vitals. With a custom theme, you will receive a one-of-a-kind customer experience that sets you apart from all other stores utilizing the same theme. Lastly, custom themes scale as well or even better than pre-built themes when increasing product catalogs and user traffic.
Essential WooCommerce Extensions
Extensions can add to your website’s functionality while also being efficient with speed. However, they may cause instability in the future if you install too many.
Required plugins include a good quality SEO plugin (for example Yoast SEO or Rank Math) that will be able to help you rank higher on search engines, a security plugin (for example WordFence or Sucuri) so you do not get hacked, a plugin for automated backups (for example Updraft Plus or BlogVault) so your site is backed up regularly and available if something happens, and finally a caching plugin (for example WP Rocket or LiteSpeed Cache) to improve the overall speed of your website.
Useful extensions Depending on your specific requirements, you can find useful additional functionalities such as; subscription management (e.g. WooCommerce Subscriptions), appointment / booking system (e.g. Bookly or Amelia) or membership options for your customers. Multi currency functionality or advance analytics functionalities might also be of interest to some online shop owners.
The plugin debt trap is real. Each plugin generates extra code that has to run each time a visitor opens a new page. Depending on what they do most of them generate one or several query to the database, call scripts from outside or create large css-files. An e-commerce website with 30 installed plugins will probably have lower performance than an identical shop with 12, regardless whether both shops are called optimized. More good plugins (depending on their quality) always beat many average plugins.
Performance Optimization for WooCommerce
WooCommerce stores experience unique performance challenges with regards to every interaction on every product page, category page and cart due to the fact that all interactions are associated with a database query that static pages are not.
Database optimization will become a major concern as your number of products increases. In addition to accumulating transient data, post revisions and expired sessions WooCommerce stores also have autoloaded options that contribute to slowing down queries. Performing regular cleanups and optimizations on autoloaded data can greatly reduce the time it takes to respond to requests.
Image optimization is one of the simplest ways to increase performance. All images for products should be served in WebP format (WebP format provides better compression than JPEG or PNG) and should be lazy loaded so they don’t load until you scroll down far enough to see them. Additionally, product images should be delivered from a content delivery network (CDN), at optimal sizes for each type of device. If an un-optimized product image gallery was included in a page load, it could easily include megabytes of unnecessary information.
Caching strategy of WooCommerce is a little more involved than that of other web sites. For example, page caching will cache product pages and category pages, while excluding from its cache the cart, checkout and account pages which have to be dynamically generated for each customer. An object-cache system (such as Redis or Memcached), will also reduce the number of times your web site has to query your database when retrieving similar data over and over again. Finally, a Content Delivery Network (CDN) will handle the global delivery of all static assets such as images, CSS files etc.
WooCommerce-specific hosting is different than other types of websites. Many store owners don’t fully appreciate how much a managed host such as Cloudways, Kinsta and Siteground can assist with tuning their server configuration to optimize for both WordPress AND WooCommerce specific use cases — PHP worker limits, database connections, caching levels all optimized for e-commerce.
Scaling Beyond 10,000 Products
WooCommerce is capable of handling hundreds to thousands of products when properly optimized. However, a large catalog — such as one that includes over ten thousand products with many variations/attributes — will need to have an added level of design/structure.
Replacing the product table in WooCommerce (meta based) with custom product tables which are specifically designed tables for products within your database and thus optimized for product related queries, greatly reduce the complexity of the queries associated with searching/filtering through a large amount of data.
The headless implementation of WooCommerce provides maximum flexibility to serve large traffic volumes by utilizing WooCommerce’s RESTful API to provide a scalable backend; however, it utilizes a custom front-end served from either React or Vue with an associated increase in development costs and complexities.
Additionally, for those who are truly outgrowing the design of WooCommerce (or simply require more than what WooCommerce can provide) – then custom e-commerce applications based upon Laravel will offer unlimited scalability and flexibility but at a much greater initial investment.
Need a WooCommerce store that actually performs? We build custom, fast, and scalable. Get a free consultation →
For the broader technology picture, read our Web Development Technology Stack Guide.
Frequently Asked Questions
The number of products you can sell through WooCommerce depends on how much your hosting provider allows for, how much time you spend optimizing your database and server. With the right setup, there are stores with 5,000 to 10,000 products working without problems. But beyond 10,000 items, you need to get creative with databases or use a headless architecture.
Shopify is easier to get running and easier to manage but you’ll end up paying recurring (monthly) fees in addition to your domain name registration, web hosting and payment processing fees. Additionally, you won’t have as much flexibility in terms of what themes you can use or customize. On the other hand, since WooCommerce doesn’t charge any recurring fees for using their software, you’ll save money; however, you’ll need to spend time learning about how WordPress works and possibly hire someone to help you develop your site. To see all of the pros and cons of each system side by side, visit our WooCommerce vs. Shopify comparison page
Building a simple store with fewer than 50 products typically takes anywhere from six to eight weeks. Building an advanced store with custom features, third-party integrations and hundreds of products can easily take ten to fourteen weeks. The biggest reason why timelines like these are so difficult is because the content and product data needs to be prepared before development can begin.