WooCommerce performance on shared hosting

WooCommerce is heavier than vanilla WordPress — more database queries per page, more dynamic content, less cacheable. Stores running on shared hosting often feel sluggish at checkout or in admin even with low traffic. The good news: a few targeted optimizations can make a WooCommerce store feel as snappy as a static blog. This article covers what works on your ipxcore cPanel hosting account.

Why WooCommerce is heavier

  • Cart sessions are dynamic. Every visitor with anything in their cart sees a personalized header (cart count, totals). Standard page caching can't cache these uniformly.
  • Stock checks are real-time. Every product page query hits the database to check availability.
  • Checkout is uncacheable. By design — payment, address, shipping calculation all happen on the server.
  • Admin uses many AJAX endpoints. Loading the orders dashboard fires dozens of database queries.

Step 1: Use LiteSpeed Cache with WooCommerce-aware settings

LSCache (covered in our LSCache article) has WooCommerce-specific support:

  1. Install and activate LiteSpeed Cache.
  2. Settings → Cache → Cache Cart: OFF (correct — carts shouldn't be cached).
  3. Settings → Cache → Cache Logged-in Users: OFF (admin and logged-in customers always see fresh content).
  4. Settings → Excludes → add WooCommerce paths to "Do Not Cache URIs":
    • /cart/
    • /checkout/
    • /my-account/
  5. Settings → ESI → Enable ESI: ON (allows caching the static parts of pages while keeping cart fragments dynamic).

Result: product browsing pages cache fully (millisecond response times); cart/checkout pages are dynamic (correct behavior).

Step 2: Disable WooCommerce features you don't use

WooCommerce loads its full feature set on every request, including features you may not use:

Disable carts on non-shop pages

By default, WooCommerce loads cart-tracking JavaScript on every page of your site (in case the visitor adds something). Disable on non-shop pages with this snippet in your theme's functions.php or via the Code Snippets plugin:

add_action('wp_enqueue_scripts', function() {
    if (function_exists('is_woocommerce')) {
        if (!is_woocommerce() && !is_cart() && !is_checkout()) {
            wp_dequeue_style('woocommerce_frontend_styles');
            wp_dequeue_script('wc-cart-fragments');
            wp_dequeue_script('woocommerce');
            wp_dequeue_script('wc-add-to-cart');
            wp_dequeue_script('wc-cart');
            wp_dequeue_script('wc-checkout');
        }
    }
}, 99);

Turn off cart fragments AJAX

Cart fragments AJAX is what causes the "1 item" badge to update without a page reload. It fires AJAX on every page view and is one of the biggest WooCommerce performance issues.

Disable with the Disable Cart Fragments plugin (one click, free). The cart count updates on the next page load instead of instantly — minor UX trade-off, major speed gain.

Step 3: Database optimization

WooCommerce databases grow rapidly:

Enable High-Performance Order Storage (HPOS)

WooCommerce 8.0+ has HPOS — a new order storage backend that's significantly faster than the legacy WordPress posts table. Enable:

  1. WooCommerce → Settings → Advanced → Features.
  2. Enable High-Performance Order Storage (HPOS).
  3. Enable Custom Order Tables.

WooCommerce migrates your existing orders to the new tables in the background. After migration, order list and order detail pages are 5-10x faster.

Clean up old data

WooCommerce stores expired carts, abandoned sessions, and old logs indefinitely:

  1. WooCommerce → Status → Tools.
  2. Run Clear customer sessions (cleans up wp_woocommerce_sessions).
  3. Run Clear transients.

Schedule the WooCommerceStatusLogs deletion of logs older than 30 days.

Step 4: Image optimization

Product images are typically 60-80% of a WooCommerce store's page weight. Optimize aggressively:

  • Use LSCache image optimization to convert all product images to WebP.
  • Or use ShortPixel/Smush for non-LSCache setups.
  • Set product image dimensions appropriately: WooCommerce → Settings → Products → Display → Product Images. Most stores oversize and let CSS scale down.

Step 5: PHP version and limits

WooCommerce on PHP 8.x is significantly faster than PHP 7.x. Bump the PHP version per our PHP settings article.

WooCommerce admin specifically benefits from higher memory limits:

  • memory_limit = 512M minimum (1024M for stores with 1000+ products)
  • max_execution_time = 300 (admin reports can run long)

Step 6: Plugin audit

Most WooCommerce stores accumulate plugins: shipping calculators, payment add-ons, tax plugins, marketing automation, abandoned cart recovery. Each adds queries and PHP overhead.

  • Use Query Monitor to identify slowest plugins on the front-end and admin.
  • Replace heavy plugins with lighter alternatives or live without them.
  • Check WooCommerce → Status → System Status for any plugins flagged as outdated or causing issues.

Step 7: Object caching with Redis or Memcached

Object caching stores the results of expensive database queries in memory, dramatically speeding up dynamic pages (admin dashboard, complex catalog filters). On ipxcore reseller and dedicated infrastructure, we can enable Redis — open a ticket if interested.

For shared hosting, Redis isn't typically available, but the Object Cache Pro plugin can use disk-based caching as a fallback — not as fast as Redis but still helpful.

Measure your improvements

Two key WooCommerce-specific metrics:

  • Time To First Byte on a product page: aim for under 200ms (from a fast cache hit), under 500ms uncached.
  • Add-to-cart action time: from clicking "Add to cart" to cart updated. Aim for under 1 second total.

Use GTmetrix to baseline before changes, then re-test after each change.

When to upgrade hosting

If you've done all of the above and the site still feels slow, you may have outgrown shared. Signs:

  • Server-side response time (TTFB) above 500ms on cached pages
  • Frequent timeouts in admin during reports/exports
  • Stock checks taking visible seconds at peak hours

WooCommerce stores with 1000+ products, 10+ orders/day, or significant traffic typically run smoother on a reseller plan or a dedicated server — mostly because you stop sharing CPU and memory with neighbors. Open a ticket for a sizing review.

  • WooCommerce, WordPress, e-commerce, performance, caching
  • 0 användare blev hjälpta av detta svar
Hjälpte svaret dig?

Relaterade artiklar

Nameservers

The nameservers to use for our webhosting services are below: all1.dnsroundrobin.net...

Setting up Dynamic DNS in cPanel

cPanel includes a built-in Dynamic DNS feature that automatically keeps an A record pointed at a...

Setting up Cloudflare with cPanel: the right way

Cloudflare is a free CDN and DDoS-protection service that sits in front of your ipxcore cPanel...

Speeding up WordPress on cPanel hosting

A slow WordPress site costs you visitors, conversions, and search rankings — Google has...

How to migrate your website to ipxcore from another host

Migrating an existing website to ipxcore is a process we've helped thousands of customers...