Two weeks out from a major WooCommerce release, I do not read marketing copy. I read the developer preview and I make a spreadsheet of the things I have to audit before the store owner finds out. WooCommerce 11.0 arrives on Tuesday, July 28, 2026, and the July 13 developer preview from Brian Coords is that spreadsheet, delivered by the release manager himself.

The headline is boring in the best way — twenty-eight PRs tagged for performance, a handful of quiet compatibility changes, no dramatic new UI. The problems are underneath: one taxonomy flips from public to private, one queried object shifts from post type to post, one editor package disappears entirely, and one caching layer is on by default for every new store. None of that shows up in a screenshot.

If you run a WooCommerce agency, this is the two-week window to catch it while it is still cheap. Let me walk through what actually changes and where I would spend the audit budget.

What is actually new

The WooCommerce 11.0 developer preview, published July 13 on the WooCommerce Developer Blog, groups the release into performance, email and customer accounts, reporting, experimental features, and a compatibility section that is the real reason to read it. Beta 1 is out via the WooCommerce Beta Tester plugin, general availability lands July 28.

On performance, product object caching becomes the default for new stores. Variable products load 9–12 percent faster on product pages, bundle products checkout is 6–12 percent faster, the HPOS orders screen gets an optimised multi-status query, and the Store API de-duplicates product collection count requests. The POS catalog generator moves to chunked processing with configurable size and timeouts. Twenty-eight PRs total under the performance tag.

On the compatibility side, four items matter for anyone shipping code on top of WooCommerce:

First, the block-based product editor beta is being removed entirely. The @woocommerce/product-editor package, the feature flag, editor-specific routes, extension points, slots, fills, and related experimental APIs all go away in 11.0. If your extension registered a block, a fill, or a route against the beta editor, none of it will resolve after upgrade. Stores that opted into the beta go back to the classic product editor.

Second, get_queried_object() on the Shop page changes shape. Today it returns WP_Post_Type for the products archive; in 11.0 it returns WP_Post, matching every other page. The separate advisory by Albert Juhé Lluveras documents this in detail — the change ships as PR #65996, made specifically to fix the “current-menu-item” class on the Page List block for the Shop page. If you have theme code, a plugin, or a snippet that reads $query->queried_object on the Shop page and calls something like ->name or ->labels on it, that code will now be reading a WP_Post and returning either the wrong value or a warning. Use get_post_type_object( 'product' ) if you actually need the post type object.

Third, the product_shipping_class taxonomy becomes private, as we covered last week. The 11.0 preview confirms this ships in the same release. No more shipping class URLs in /wp-sitemap.xml, no more front-end /product-shipping-class/{term}/ archives, and SEO plugin sitemaps that trust the core viewability signal need their shipping-class output turned off before this lands.

Fourth, smaller items with real bite: the Product Image block loses its resolution attribute in favour of standardised responsive images (PR #66191), the ReserveStock duration defaults to 60 minutes when omitted (PR #66048), and the @woocommerce/eslint-plugin replaces @woocommerce/dependency-group with import/order (PR #66086) — which will break your build if your .eslintrc still disables the old rule by name.

Two useful additions on the phone side: new woocommerce_validate_phone and woocommerce_format_phone_number filters, plus a country-agnostic WC_Validation::is_phone_format() helper. Non-English numerals and local formats finally have a proper hook.

On the account side, a new email-verification path for logged-in customers to confirm address ownership replaces the previous OTP-specific endpoints, and a new woocommerce_email_preview_show_shipping_details filter lets extensions control what the block email editor preview shows.

On analytics, historical imports now surface failed jobs with a retry path via two new endpoints, GET /wc-analytics/imports/status and POST /wc-analytics/imports/retry-failed. The v3 sales report adds a per-bucket refunds value. Analytics events now require a stable visitor ID.

Two experimental additions worth mentioning but not shipping to production: Checkout Recovery (beta), which lets merchants send manual recovery emails from eligible orders with an extensible status list via woocommerce_checkout_recovery_eligible_statuses, and the block email editor picking up Vimeo, TikTok, and Dailymotion embeds rendered as clickable thumbnails.

Why it matters for WordPress and WooCommerce people

A major WooCommerce release lands every eight to ten weeks. What makes 11.0 different is the concentration of quiet compatibility changes: product editor beta gone, queried-object shape changed, taxonomy visibility flipped, ESLint rule renamed. Any one of them will look like a mysterious warning in a log file a week after upgrade if you did not read the preview.

Add the release cadence context. WordPress 7.1 Beta 1 is July 15, RC 1 is August 5, general release August 19. WooCommerce 11.0 lands July 28 — right between them. That is by design: WooCommerce ships against the previous stable WordPress and gets a full RC cycle to catch any core-side surprise. It also means your window to test the 11.0 beta against your production plugin stack is now, not the week of July 28.

Product object caching becoming the default for new stores is the item I want to praise separately. Object caching has been a lever agencies pull manually for years — persistent object cache backend, careful priming, cache stampede protection. Making it default on new installs shifts a chunk of that work from “expert setting” to “boring baseline”, and the 9–12 percent product page number is measurable, not marketing.

What I would do (or not do) about it

Install the WooCommerce Beta Tester plugin on staging today, switch to the Beta channel, and pull 11.0.0-beta.1. On that staging site, do five things:

One, grep your theme, mu-plugins, and custom plugins for queried_object. Anywhere that runs on the Shop page and expects a WP_Post_Type, add an instanceof WP_Post_Type check or switch to get_post_type_object( 'product' ). This is a five-minute audit that saves a warning-flood incident.

Two, grep for @woocommerce/product-editor, experimentalProductEditor, or the beta editor’s route and slot names. If your extension registered anything there, decide now whether you fall back to the classic editor or ship a proper block. Do not carry a compat shim; the code is being removed, not deprecated with a shim.

Three, disable shipping-class URLs in your SEO plugin sitemap output and audit your Google Search Console for indexed /product-shipping-class/ URLs. Redirect the meaningful ones now, before 11.0 makes them 404 and Google notices.

Four, run your JS build. If it fails with an unknown-rule error on @woocommerce/dependency-group, update the ESLint config to import/order. This is a one-line fix but it will block a CI run on July 28 if you did not do it in July.

Five, if you have any code that calls ReserveStock without specifying duration, decide whether the new 60-minute default matches your business. It is a sensible default for most stores; it is wrong for flash sales.

What I would not do: I would not enable product object caching on an existing production store the day 11.0 lands. The default flips for new stores; existing stores stay on their current setting. Do the migration on staging first, make sure your persistent cache backend is healthy, and roll it out on your own schedule. I also would not adopt Checkout Recovery on a production store this month — beta means beta.

Two weeks is a lot of time if you spend it on the audit. It is no time at all if you spend it reading LinkedIn takes about WooCommerce 11.0. Pick the first one.

Leave a Reply

Your email address will not be published. Required fields are marked *

Close Search Window