Skip to main content

Stackless for WooCommerce 1.1.0: WooCommerce Optimizer, and a free theme

Stackless for WooCommerce 1.1.0 is out, and the biggest change is one you won't see: a WooCommerce store with something in the cart no longer prefetches about 50 Cart and Checkout block scripts on every single page.

I found it on our own demo store. With one item in the cart, the homepage source had 52 prefetch links for checkout scripts the shopper might never load. After 1.1.0, that number is zero.

WooCommerce Optimizer (new module)

Turn it on under WooCommerce > Stackless. The defaults are safe for every store:

  • Stops the cart and checkout prefetching
  • Defers WooCommerce scripts outside cart and checkout
  • Removes the WooCommerce version tag from page source

The rest is opt-in, because each one has a tradeoff:

  • Load WooCommerce scripts and styles only on store pages
  • Cart fragments: remove them outside store pages, while the cart is empty or everywhere
  • Drop the password strength meter (about 400 KB of JavaScript)
  • Turn off order attribution tracking
  • Hide marketplace suggestions, remote inbox notes, dashboard widgets and WooCommerce.com connect notices
  • Keep scheduled-action logs and guest cart sessions for fewer days

Stackless itself now serves minified CSS and JavaScript and loads its storefront scripts with defer. Payment and Checkout block scripts keep their exact timing, so nothing about checkout changes.

Also new in 1.1.0

  • Short text and Long text add-ons take a character limit, checked in the browser and on the server
  • Order bump headlines and descriptions accept {price}, {regular_price} and {discount}, shown in the shopper's currency. "Add support for $29" no longer reads $29 to a shopper paying in pounds.

Fixes worth knowing about

  • Order bumps with Multi-Currency Checkout: a 40% off bump now takes 40% off the price-book price in that currency. Before, an INR shopper saw ₹959 on the offer and paid ₹915 in the cart.
  • Currencies without decimals (INR, JPY): add-on charges, checkout field fees and bump prices were rounded to whole base-currency units before conversion. $11.40 became $11. Fixed.
  • Hide Price Until Login: the sign-in link no longer sits inside product card links in shop grids and related products. Some themes broke the card layout because of it. The link stays on the product's own page.
  • Add-on text from the classic product form is cleaned of HTML before it's stored.

What changed since 1.0.0

If you're still on 1.0.0, these landed along the way:

  • 1.0.1 and 1.0.2: block theme styling for buttons, the add-ons dropdown, order bumps and the trust block. Checkout Builder settings load their styles again.
  • 1.0.3: the license client you ship inside your own products now updates themes too, not only plugins
  • 1.0.4: every module links to its lesson in the training course, and the license client keeps license keys out of URLs and access logs (copy the new client file)
  • 1.0.6: price-book prices hold for products with add-ons, duplicate badges on block themes are gone and recurring invoices give a clear error for past start dates
  • 1.0.7: one "Save to wishlist" button per product card on block themes

The free Stackless theme

There's now a free theme built for the plugin. It's a classic theme with full Block Editor support, and its styles cover the Stackless screens out of the box, so subscriptions, wishlists, invoices and the currency switcher look like they belong.

  • Version 1.2.1, with a blog sidebar and a currency switcher in the header and footer
  • Free lifetime license for updates, unlimited sites
  • Get the Stackless theme

You can see both running together on the demo store.

Updating

Go to Dashboard > Updates with your license active, or download 1.1.0 again from gauravtiwari.org. If you turn on the "store pages only" option, clear your page cache and click through one page that uses a page builder for product widgets. That's the one setup where it can hide something it shouldn't, and the "Always treat as store pages" box is there for it.

If anything breaks, post it here with your theme and checkout type (blocks or classic) and I'll look at it.