Skip to content

WooCommerce speed optimization

I'm Hamza Ahmad Aslam, and I optimize WooCommerce performance across the steps shoppers and store staff use, not just the homepage. I profile measured delays, then test changes around sessions, payments and order handling.

From $950

A fixed-price performance diagnosis is $350, credited in full against the fix if you book it within 30 days.

The price is an estimate until the diagnosis. After that the quote is fixed: if the work takes longer, that is my cost. Anything I change that breaks within 30 days, I fix free.

Scope & Deliverables

What's included in WooCommerce speed optimization

✓

Profile slow cart, checkout and account requests

✓

Check HPOS compatibility and test migration on staging

✓

Reduce unnecessary cart-fragment and background requests

✓

Test cache rules with separate customer sessions

✓

Investigate slow catalogue and order queries

✓

Optimize product images and reserve space to limit layout shifts

Why WooCommerce slows down

A store mixes cacheable catalogue pages with customer-specific cart, checkout, account, payment, and inventory work. Performance problems often appear only with a particular extension, product type, promotion, or order volume, so the first step is to reproduce the slow path and trace it.

Common causes:

  1. Dynamic requests. Cart and checkout responses depend on session state, so they need carefully scoped caching rather than a blanket page cache.
  2. Older front-end behavior. Some themes and extensions enqueue cart fragments and other AJAX work far more broadly than the design needs.
  3. Database growth. Large postmeta, options, action-scheduler and order tables can turn an ordinary catalogue or admin query into expensive work.

HPOS readiness and database design

High-Performance Order Storage moves orders from the general posts tables into purpose-built WooCommerce tables. The benefit depends on the store and its extensions, so I treat migration as a compatibility and data-integrity project rather than a switch to flip.

My workflow is to:

  • inventory extensions, gateways, reports, and custom queries that touch orders;
  • test HPOS compatibility and synchronization on staging;
  • compare representative checkout, order-search, and reporting traces;
  • rehearse the cutover, verification, and rollback steps before production.

Reduce WooCommerce JavaScript and AJAX requests

I use a performance trace and request log to find scripts and background calls that run without contributing to the current template. Depending on the theme, that may mean narrowing cart-fragment loading, adopting supported Store API behavior, or replacing a custom polling loop. Each change is tested against add-to-cart, mini-cart, coupon, login, and checkout flows.

WooCommerce caching around carts and customer sessions

Public catalogue pages can often benefit from edge caching, while personalized routes and requests carrying WooCommerce session state must bypass it. I document the cache key, cookie exclusions, object-cache groups, and purge behavior, then test with simultaneous anonymous and signed-in sessions.

Capacity work also includes PHP worker saturation, slow payment callbacks, lock contention, and queue backlog. Load tests use a staging environment and realistic transaction mixes so the recommended limits reflect the store being measured.

WooCommerce background jobs, queries and payments

For WooCommerce speed optimization, I also trace the work that happens after the page is generated: background jobs, catalog queries, authenticated requests, and calls to payment services. If you are planning an HPOS move, I keep that work separate and point you to my WooCommerce HPOS migration guide.

Optimize WooCommerce Action Scheduler jobs

I check WooCommerce > Status > Scheduled Actions for past-due and failed actions, then group the backlog by hook so I can see which extension or task is producing it. When WP-Cron is triggered by site traffic, cron requests can consume the same PHP worker pool that is serving shoppers. I check whether a server-level cron should trigger WordPress cron on a predictable schedule instead. I also review retention for old completed actions and logs so the queue tables do not grow without a reason. My guide to clearing an Action Scheduler backlog covers the diagnosis in more detail.

Trace slow product and catalog queries

I trace real category, search, and filtered catalog pages with Query Monitor instead of judging product queries from a synthetic database test. I look for expensive meta queries, repeated joins, and layered navigation or filter requests that scan more data than expected. WooCommerce maintains lookup data for product metadata and product attributes, including a product attributes lookup table used to speed catalog filtering. I check whether those lookup structures are current before changing schema. When a query is still slow, I read its execution plan before adding an index. My guide to finding slow WordPress database queries explains that process.

Improve uncached requests with a persistent object cache

Logged-in account pages are personalized, so they are normally excluded from full-page caching. Returning customers with active WooCommerce session state can also generate requests that cannot use the same cached response as an anonymous visitor. For those requests, I check whether a persistent object cache is reducing repeated database work across page loads. WordPress can keep cached objects between requests when a persistent cache backend is installed, instead of limiting object-cache data to one request. I still trace database calls directly, because an object cache can avoid some repeated work but it does not make an inherently slow uncached query efficient.

Payment gateway and webhook performance

I trace checkout through the payment gateway, not just to the point where WooCommerce hands the order to the gateway code. If the gateway makes a synchronous remote request while processing payment, the PHP worker handling checkout remains occupied until that request returns or times out. I check timeout behavior and separate work that does not need to block the customer response. For incoming payment callbacks or webhooks, I make handlers idempotent so a repeated delivery does not repeat the business action. I keep the request handler small and move nonessential follow-up work, such as secondary notifications or integrations, to a background queue where the extension supports it.


If product pages, cart updates, or checkout are slow, I can establish a baseline and turn the trace into a prioritized remediation plan.

Open source

Related open-source work

Track record

Relevant experience

  • WordPress Developer

    STRABL

    Jul 2023 - Aug 2023

    I built a custom WordPress plugin and WooCommerce payment gateway for STRABL’s “Try Now, Buy Later” service. The integration let shoppers try a product before paying, using PHP and the WordPress and WooCommerce APIs.

    • WooCommerce
    • Payment Gateway
    • PHP
    • Custom Plugin
  • WordPress Developer

    Half Price Packaging

    Feb 2022 - Mar 2025

    I worked as a WordPress Developer at Half Price Packaging from February 2022 to March 2025, full-time for most of that period and part-time from August to November 2023 and August 2024 to March 2025, when I mainly supported Custom Packaging Lane and Custom Stickers Factory. I reworked WordPress admin and theme components, and during my time there site performance improved 10x and traffic rose 5x based on PageSpeed Insights and Google Analytics measurements. I also removed malicious code and hardened the installation.

    • WordPress
    • Performance
    • SEO
    • Theme Development
    • Security
  • Web Developer

    Remote Growth Partners (client: Gallery Media Group, New York)

    Aug 2023 - Nov 2023

    I worked full-time as a Web Developer at Remote Growth Partners from August to November 2023 on a client assignment with Gallery Media Group in New York. I resolved WordPress VIP support tickets, fixed functionality and performance issues, deployed optimized code, and worked with cross-functional teams on new features and code quality.

    • WordPress VIP
    • Performance
    • Code Quality
    • Cross-functional Teams

Technical Insights

Related engineering guides

Frequently Asked Questions

Questions about WooCommerce speed optimization

Why can't standard page caching fix WooCommerce cart and checkout?Expand

Cart, checkout, and my-account pages are unique to each customer and carry session cookies. Serving them from page cache would show one shopper another customer's personal data. Speeding up these pages can involve PHP workers, slow database queries, gateway work, and a persistent object cache when measurements show it will help.

What is High-Performance Order Storage (HPOS) and why does it matter?Expand

HPOS moves WooCommerce orders from the general posts and postmeta tables into dedicated order tables. It can improve order writes, search, and administration, especially at scale, but the measured gain and migration effort depend on the store and extension compatibility.

Will optimizing my store affect live sales during the process?Expand

I do profiling and risky changes on staging first, then plan production work around traffic, backups, monitoring, and rollback. Some infrastructure changes may require a short maintenance window; I identify that before scheduling the release.

Adjacent engagements

Next step

Optimize your WooCommerce store

Send the store URL and where the slowdown appears, such as product pages, cart or checkout. My first reply will identify what I would measure and trace before recommending changes.