Over time customers, order histories, and overall data will grow. Business conditions continually shift. Marketing experiments revolve and typically require new technical implementation to support, past ones to remove.
How does one manage a growing website and keep it performing well, besides continually buying a bigger server? Following are some strategies to manage the growth of a WooCommerce powered online store.
Strategy 1: Minimization
A huge chunk of my work is pairing down plugins and reducing the footprint of themes or child themes. Minimizing the size of a site creates room for growth while improving performance at a minimal cost. Maintenance and ease of administration can improve dramatically.
While this is a no brainer strategy for most merchants, you’re still left with a monolithic website susceptible to scaling troubles, especially in cases where traffic growth remains steady or becomes volatile.
Understanding server limits
Bear in mind that all web servers have configured size limits, whether or not the application running can truly scale up to these limits. Following is a screenshot of a WP Engine private server (small size) PHP and MySQL environment settings as quoted by the Query Monitor plugin.
- PHP max_execution_time maximum time a script is allowed to run before it is terminated
- PHP memory_limit maximum amount of memory that a script is allowed to allocate
- PHP max_children limit on the number of simultaneous requests that will be served
- MySQL innodb_buffer_pool_size size of the memory buffer InnoDB uses to cache data and indexes of its tables
- MySQL max_allowed_packet maximum packet length to send to or receive from the server
- MySQL max_connections the number of simultaneous clients allowed
Strategy 2: Multi-channel
This strategy often encompasses point-of-sale technologies that provide mobile or stationary systems for retail that connect with WooCommerce inventories. Services that come to mind for this are Square and Vend.
Growing businesses have been selling over multiple channels. Modern marketing needs alone can drive this strategy for smaller shops, realizing that many consumers shop across multiple channels (Google, Amazon, Facebook, etc.) rather than deciding in one place. The technology implementation here means syncing products and selling over social channels using paid services / ads. This sync and tracking activity puts a load on your website, but it takes another load off it at the same time through offsite order processing.
Services that come to mind here are Amazon, Google Shopping, Facebook Stores, Etsy, eBay, and Pinterest Shopping. For bigger players there’s qualified marketplaces with major retailers including: Walmart, Home Depot, Best Buy, and their competitors. Those major retailers also do eCommerce in a huge way!
Strategy 3: Multi-site
Selling channels could include satellite sites where customers get routed to the main catalog website to check out. This is often the case with funnel sites that route customers through from an ad campaign to an offer, finally to a ready checkout page.
Satellite sites can perform checkouts too. The main cost here is that it must integrate with inventory and accounting systems and deal with the My Account self-service being isolated or requiring customer synchronization to the main catalog site. These full checkout salettire sites offer deeper customization in support of experimentations, funnel tools, and marketing strategies. They prevent bloat on the main catalog website, improving performance, avoiding risks, and keeping maintenance in check (each site being smaller thereby easier to maintain).
Strategy 4: Multi-system
How do larger enterprises run their websites at scale? The answer is varied, but it always involves the use of multiple systems, sometimes enterprise solutions that have already been tested at scale. Hierarchies and departments take ownership in areas like: inventory, fulfillment, marketing, financial and customer support systems. Disparate systems can then be integrated where needed, sometimes using middleware services.
Headless or decoupled architectures are the common path that WordPress powered enterprises take. With this model you separate the front-end and back-end services of the website. This can get extremely complicated, but it certainly supports this strategy of multi-system and multi-team growth.
WordPress is still used for back-end administration and WooCommerce typically for carts, checkouts, and my account portals, preserving all of their useful tools and integrations. The front end is a separate website that can be coded using any preferred technology, most notably NodeJS. The two environments communicate as needed over the WordPress REST API, web hooks, possibly even WP AJAX if login cookies are translated. Many implementations layer in GraphQL API caching and optimization.