Title: Customizing WooCommerce
Author: WordPress VIP Documentation
Published: June 4, 2021
Last modified: December 22, 2023

---

 1. [Plugins](https://docs.wpvip.com/plugins/)
 2. [WooCommerce](https://docs.wpvip.com/plugins/woocommerce/)
 3. Customizing WooCommerce

#  Customizing WooCommerce

Customizing WooCommerce requires careful planning to ensure that the customizations
are secure, lightweight, and performant. Customizations can vary widely, from structural
changes to [template layouts](https://docs.woocommerce.com/document/template-structure/)
to changing functionality completely such as the [checkout flow](https://woocommerce.com/posts/optimizing-woocommerce-checkout/).

A collection of [guides](https://developer.woocommerce.com/#guides) are available
for developers building extensions and a reference for [best practices](https://docs.woocommerce.com/document/customizing-woocommerce-best-practices/)
for customizing WooCommerce.

## **General best practices**

 * When customizing WooCommerce on the VIP Platform, leverage [page caching](https://docs.wpvip.com/caching/page-cache/)
   and [object caching](https://docs.wpvip.com/caching/object-cache/) as much as
   possible. Effective use of these caching layers enables a WooCommerce store to
   serve more visitors and process more orders while remaining stable, responsive,
   and performant.
 * Ensure that product imagery is web optimized. Refer to the guidance on [image optimization](https://wordpress.com/support/media/image-optimization/)
   written by [WordPress.com](http://wordpress.com/) and useful for WordPress sites
   hosted on VIP. Optimizing images for the web includes saving the images in the
   most appropriate file type, in an appropriate size, and with the right amount
   of compression. The [VIP File System](https://docs.wpvip.com/vip-go-files-system/)
   also provides a built-in service for [image transformation](https://docs.wpvip.com/vip-file-system/image-files/transformations/),
   resizing and compression.
 * If specific content, such as stock levels, price data, etc., must be loaded dynamically,
   identify if it is possible to request and store it client-side. If the request
   for dynamically loaded content requires authentication, then the request is best
   made server-side. In this case, the page must always bypass the [page cache](https://docs.wpvip.com/caching/page-cache/).
 * If your WooCommerce customizations include making database queries, seek to optimize
   those [database queries](https://docs.wpvip.com/code-quality/database-queries/).
   Slow queries are a significant cause of performance issues and degraded user 
   experience.

Last updated: December 22, 2023