Super Speedy Filters changelog
Fast product filters and pretty, indexable permalinks on every archive
Latest version6.44.0
Released6 August 2026
Tested up toWordPress 7.0
Product page
What Super Speedy Filters does, what it costs and who it is for.
Knowledge base
Setup guides, how-tos and troubleshooting for Super Speedy Filters.
Discord support
Ask a question in the Super Speedy Filters channel and get an answer from Dave.
Downloads & licence
Grab the latest build or check your licence and renewal status.
6.44.06 August 2026
- Fixed filtered pages on a Polylang or TranslatePress site in any language other than the default building their SEO title, breadcrumbs and SEO override match from an incomplete filter set, so a French page titled Buy in Red Online now reads Buy Chairs in Red Online
- Fixed an Exact SEO override written for a translated URL losing to a Contains override on Polylang and TranslatePress sites
- Filtered pages you allow to be indexed now carry correct
hreflangtags on Polylang sites, listing the equivalent filtered URL in each language with a self-reference andx-default, the same as WPML - Fixed every brand facet on a non-default-language archive being a dead link on Polylang sites, e.g.
/fr/product-category/chaises/fr/brand/ikea-fr/ - Polylang Pro's translated slugs are now understood, so a French page at
/fr/categorie-produit/chaises/builds its title, breadcrumbs and filter links from the right terms - SSF's SEO wording now appears in Polylang under Languages then Translations, in the Super Speedy Filters group, including the title prefix and suffix, the connectors, the meta description wording, the browser title suffix, the paginated title text and the on sale prefix
- Every text field on a filter widget can now be translated per language in WPML String Translation or Polylang Translations: the search box placeholder, the clear filters and clear search labels, the group heading, the dropdown text, the required filters tooltip and the stock, on sale and postmeta toggle labels. One widget with translated strings, not one widget per language
- The Show products on sale and Show in stock wording on the Show Existing Filters widget is translatable too, defaults included
- Swatch colours and term thumbnails fall back to the default language's term, so a palette set once in English shows on every language
- All of SSF's text now uses one
super-speedy-filterstext domain, so a single.mofile or Loco Translate covers the plugin - TranslatePress keeps its own hreflang tags on filtered pages, which are already correct
- Removed the
SSF_POLYLANGconstant and its wp-config setting, replaced by the language handling above, which needs no switch - Tested up to WordPress 7.0
- The plugin header declares GPLv3 and WordPress 7.0, matching
readme.txt - Auto Configure now picks layout and placement on one step before Review, defaulting to a filter bar placed above your products; the one-button layout places itself the same way, and only the sidebar layout asks which sidebar or shortcode area to use
- The layout sets each filter's container, a filter bar makes every filter a popout button, a sidebar removes the containers, and the review previews show exactly what will be created
- Auto Configure defaults changed: hierarchical taxonomies get a list with large images one click away, taxonomies with term images get large image tiles, and taxonomies with colours get colour labels
- Auto Configure shows product counts only on the main hierarchy filter, every other filter it creates hides them
- Brand taxonomies are treated as flat even though WooCommerce registers them hierarchical, so brands with logos get the large image tiles
- On the review step, changing a setting keeps your scroll position, popout containers in the previews open on click, and the step circles at the top navigate back
- The scan summary now reads in groups, posts then taxonomies then terms, and counts the terms carrying colours and images rather than the taxonomies
- Auto Configure's admin script and stylesheet reload automatically after an update, no hard refresh needed
6.43.35 August 2026
- New Contains Match for SEO overrides: set an override on the terms a page is filtered by, rather than on one exact URL, and it applies to every page carrying those terms. Use Analyze URL to detect a URL's terms, then mark each one Require, Exclude or Ignore
- A Contains override works in every language from a single rule, because its terms are matched per language automatically
- Contains overrides take an optional term count condition, an Exclude if these terms present list, a Run even if Exact Match exists option, and a choice of adding to or replacing the default archive content
- An Exact override still wins the fields it fills in; a Contains override fills the ones it leaves empty
- New hreflang on filtered URLs setting on the SEO & Indexing tab. WPML and Polylang work out a page's alternate-language versions from the archive WordPress resolved and ignore your filters, so a filtered page listed the unfiltered category as its translation and never listed itself. Filtered pages that you allow to be indexed now list the equivalent filtered URL in each language
- A language in which one of a page's terms has no translation is left out of the hreflang tags rather than guessed at
- The Browser Title Suffix, Paginated Titles and On Sale title text can now be translated in WPML String Translation or Polylang Strings, under the Super Speedy Filters domain
- The title separator is translated wherever it appears, including before the site name
- The Shop breadcrumb now shows your shop page's own name in the language being viewed, so a French site reads Boutique
- Indexable Pages now counts every language and shows the split, instead of reporting one language's figure as the site total
- The
X-SSF-Robotsheader now matches the page's own robots tag on pages below the Minimum products required to index setting - Indexable Pages no longer reports a fractional total when a taxonomy has fewer terms than its maximum indexable terms setting
- SEO override lookups are cached per page load, which removes around eight database queries from every archive request
- Fixed an empty heading appearing on the shop page when Shop titles is set to skip the top-level shop
- Rebuilding the performance tables no longer resets the recorded database version
6.43.23 August 2026
- Pretty URLs can no longer be switched on when Permalinks are set to Plain, with a tooltip explaining why. The add-on works by adding rewrite rules, which Plain permalinks do not run, so it had no effect on those sites. If it is already on you can still switch it off.
- WPML and Polylang: filter widgets now list only the terms belonging to the language being viewed, so each language shows its own facets and its own counts
- WPML and Polylang: SEO overrides can now be set per language, using the new Language selector on the override and the language shown against each one in the list
- An SEO override set to a language matches the page in either WPML URL format, whether the language is a directory such as
/fr/or a separate domain - The SEO title and meta description wording - prefix, suffix, separator and the per-taxonomy connectors - can now be translated in WPML String Translation or Polylang Strings, under the Super Speedy Filters domain
- Filter links resolve to the correct term where two languages share a term slug, which happens most often when you use a different domain per language
- Widget caching now varies by language under Polylang as well as WPML
- Taxonomy archives return their products while the performance table is still being built, rather than only after
wp ssf rebuildhas run - Filters created by Auto Configure now respect the other filters on the page, so clicking one keeps the category you are already in
- Filter widgets no longer log
Undefined array key "resetcategory"notices - Tested up to WordPress 7.0
- Auto-configure no longer removes your existing filters before it knows the new ones can be written - if anything goes wrong, your filters are put back exactly as they were
- Undoing an auto-configure now keeps anything you added inside the filters layout yourself, instead of replacing the whole block with just the product grid
- Undo only removes the filters that auto-configure created: a filter widget or filter block you added by hand is left alone, even if it sits in a slot a removed widget used to occupy
- Auto-configure and undo no longer strip a level of escaping from the rest of the template, which could leave other blocks (notably ones carrying a font family) rendering with their default settings
- Auto-configure survives a corrupted internal record instead of stopping half way, which previously left filters on the site with no way to undo them and added a second full set on the next run
- Re-running auto-configure keeps the choices you made yourself rather than resetting them to the automatic ones
- Setting a swatch colour by term now matches the term slug first, so a term whose slug is a number gets the colour instead of an unrelated term with that ID
- Auto-configure is now flagged to AI assistants as a replacing operation, so they ask before running it
6.43.13 August 2026
- If your site runs AI Engine, the Super Speedy licence and install tools now also appear on AI Engine's MCP endpoint, so one AI connector reaches them
- Groundwork for AI-agent configuration of the other Super Speedy plugins via the shared settings module
- New Check frequency setting - cap licence, update and changelog checks to once a day or once a week, and see when the licence was last checked
- Licence and changelog checks fail fast when superspeedyplugins.com cannot be reached, instead of hanging the settings page
- The newest installed copy of the shared Super Speedy settings code now runs site-wide, whichever plugin loads first - previously the alphabetically-first plugin's often-older copy won
- The plugin's MCP abilities also appear on AI Engine's MCP endpoint as ssf_ tools when AI Engine is active, so one AI connector reaches them
6.4330 July 2026
- Security release. Updating is recommended for every store.
- Filter,
narrow_andmeta_URL parameters are now checked against your registered taxonomies and meta keys, and term IDs must be numeric, so an unrecognised parameter is dropped rather than carried into the filter links on the page - Filter links, canonical tags, swatch titles, term names and widget CSS classes are now escaped at every output point
- Removed an unused AJAX endpoint,
fww_searchattributes, which accepted a serialized PHP object in a URL parameter - Settings export and import now require an administrator and a valid nonce, and exports are written as JSON instead of serialized PHP. Existing exports still import
- A filter set to Admins only is no longer returned to other visitors by the lazy-load endpoint
- The clear-transients, colour-keys, archive-count and SEO override AJAX handlers now require an administrator
- The lazy-load widget endpoint renders only Super Speedy Filters' own widgets, and validates its paging parameters
- Page Ajax mode now only trims the plugin list on a front-end archive request, never on
wp-login.php,wp-admin, the REST API orxmlrpc.php, and leaves the list untouched if Super Speedy Filters would not survive the trim - Removed
debug.phpandtest-class-alias.phpfrom the plugin
6.42.129 July 2026
- Improved the Rebuild ancestors table button on the Performance tab: a live progress bar showing the current step, immediate feedback when you click instead of an alert, and a guard so a double click cannot restart a running build
6.4229 July 2026
- Filters can now be shown only for specific categories, not just "when any category is selected". Previously the "hide until other filters selected" option could only ask whether a taxonomy was being filtered at all, so on a store with different attributes per category, picking any category showed every filter. You can now write conditions like product_cat=televisions, or product_cat=televisions|audio for several. Slugs, names and term IDs all work
- Category conditions understand your category tree. A filter set to show for Televisions also shows in its subcategories, so you never have to list every child category. The reverse deliberately does not apply - a filter scoped to a subcategory stays out of the parent
- Added a Match setting beside the condition list, so several conditions can require all of them or any one of them. All existing filters keep their current behaviour, which requires all of them
- Auto Configure now sets those conditions for you: each filter is restricted to the categories where it actually has results, so a screen-size filter on a store that only sells televisions and audio is created with the condition product_cat=televisions|audio, and clothing pages stop paying for a filter that could only ever render as nothing. Filters with results across most of the store stay store-wide, colour, size and brand are never restricted because shoppers expect them everywhere, and every decision is shown with its evidence so you can override it
- If the lookup tables have not been built yet, Auto Configure leaves every filter store-wide and says so, rather than guessing from missing data
- Swatch colours now live on the term itself, not only inside each filter widget. Previously a colour was stored per-widget against the term's NAME, so renaming a term made its swatch go blank, two filters showing the same attribute each needed the whole palette entered separately, and nothing could set a colour programmatically. There is now a Swatch colour field on the Add/Edit Term screen, beside the existing Thumbnail field, and a colour set there is shared by every filter showing that taxonomy
- Your existing widget colours are copied onto the terms automatically after updating, but only where every filter agrees on the colour, so nothing you can see changes. Colours that differ between filters, or whose term has since been renamed, are left exactly as they are and listed in a one-time notice for you to set on the term screen. The migration never overwrites a colour already on a term and never removes the old widget values, and wp ssf migrate-colours re-runs it (with --dry-run) whenever you want
- Filter colours can still be set on the widget as before, and the two coexist: the term's colour wins, the widget's palette fills in for terms without one, and the ssf_change_color_hex filter still overrides both
- Because the colour is now resolved on the server, colour swatches no longer need their palette sent to the browser as JavaScript. That is what makes colour filters work properly as Gutenberg blocks, where the old JavaScript round trip caused problems
- Added AI agent control. Super Speedy Filters now exposes eleven abilities through the WordPress Abilities API, so an assistant like Claude can inspect and configure your filters for you: describe what the plugin can do, list your filters and taxonomies, plan a filter set, run Auto Configure, undo it, set swatch colours and filter icons, move colours onto terms, and rebuild the lookup tables after an import
- The agent never invents your filter configuration. Every decision about which filters to create and how each should look stays in the plugin, and the abilities simply trigger it and report back, so you get the same result whether you press the button or ask an assistant
- Added two capabilities, Manage filters and Apply filters, plus a Filter Manager role, so an assistant can be given its own account with only those rights instead of a full administrator login. Existing administrators get both automatically
- Auto Configure over MCP refuses to create more than 40 filters at once unless you explicitly allow it, and undoing a run needs confirmation, so an assistant cannot rewrite a large store's filters by accident
- Filters on pages your own SEO rules mark as not-for-indexing now wait for a real visitor before doing any work. Bots endlessly replaying deep filter URLs they harvested get the page shell at a fraction of the cost, because the filter panels only load on the first mouse movement, scroll, tap or key press - and every visitor, human or bot, receives identical HTML, so there is nothing for search engines to object to. Uses your existing SEO and Indexing settings; nothing new to configure
- Removed the old user-agent bot detection. It could only recognise honest bots - and then showed them different filters than real users saw, which is exactly what search engines penalise - while disguised scrapers sailed past it. The new behaviour above treats every user agent identically
- Filter URLs pointing at terms that no longer exist now answer 410 Gone instead of 404, which tells crawlers to drop the URL for good instead of retrying it forever
- Added X-SSF-Robots and X-SSF-Filter-Depth response headers - the page's index/follow verdict plus how many filter terms the request has selected - so your CDN or firewall can rate-limit or challenge traffic hammering deep filter combinations with one simple rule at the edge, instead of bot-detection in PHP
- Added an Archive Performance report to the Performance tab showing who your archive pages are being served to - search engines, AI crawlers, SEO tools, other bots, browsers - with request counts and time spent, split by indexable versus noindex pages, so you can see at a glance when bots are hammering filter combinations. Bounded, sampled collection that cannot itself become a performance problem
- Fixed PHP warnings flooding the error log on shops whose archives are filtered by a hierarchical taxonomy other than the product category, for example a hierarchical brand. The SEO title code asked for that term inside the product category taxonomy, found nothing, and warned on every single page request. Reported by a customer whose log was filling at around six lines a second
- Fixed colour swatches not picking up colours imported by Super Speedy Imports. SSI writes a colour to the term as ssf_color_hex, but Auto Configure was not looking at that key, so an imported catalogue produced correct colours on every term and swatches that ignored them
- Auto Configure now includes global product attributes that do not have "Enable archives" ticked, which is the WooCommerce default, so a freshly imported catalogue gets its colour, size and material filters along with everything else
- Any filter with more than 25 terms now gets a search box and starts collapsed, and more than 100 also sits behind a button and loads on demand, whichever display type it uses. A 175-brand filter shown as image tiles is now compact instead of filling the sidebar
- Auto Configure now places the filters in your theme's shop sidebar when you do not choose a target yourself
- Added
wp ssf autoconfigto run Auto Configure from the command line, with--dry-runto print the plan and the reason for each decision without writing anything
6.4127 July 2026
- Added Gutenberg blocks. Filters can now be inserted straight into a page, post or block-theme template from the block inserter, with a live preview of the real filter in the editor canvas. Seven blocks:
ssf/filter(the main taxonomy filter), plus price, stock, on sale, active filters, postmeta, andssf/filter-groupfor putting several filters behind one button. Three ready-made variations too: product categories as a tree, brands as image tiles, colour swatches - Added full-site-editing support. On a block theme there are no theme widget areas, so previously the only route to a filter was a legacy widget in one of our shortcode areas pulled into a template with
[ssf_widgets]. Filters are now first-class blocks you can drop into any template or template part - Added Auto Configure. A button on the settings page scans a post type, works out a sensible filter for every taxonomy it finds, and shows you each one with a live preview before anything is created. Categories become a tree, brands and patterns become image tiles, colour attributes become swatches, and big attributes get a search box behind a popout button with the options loading on demand. Stores with 100+ attributes get a bulk table and a set-them-all control rather than 100 questions
- Auto Configure can now build a filters sidebar for you on a block theme. Pick "Add a filters sidebar to the Product Catalog template" and it moves your products into a column and puts the filters beside them, which is where shoppers look for them. Previously, on a block theme, the only place filters could go was a widget area, because block themes have no sidebars of their own
- Auto Configure now skips taxonomies that have no products assigned to them. Registering an attribute and never using it is common, and those filters can never do anything, so they are no longer suggested or created
- Auto Configure can be re-run to change your mind: it updates what it created rather than adding a second set, it never overwrites a filter you changed by hand, and there is an undo that removes exactly what it made
- Auto Configure fills in swatch colours from your terms, so a colour filter works the first time instead of rendering empty swatches until you set every colour by hand
- Fixed the widget settings form being impossible to configure in the block editor. A new filter hid every option behind a "hit Save" message, but the block widget editor has no per-widget Save button, so the options never appeared
- Fixed our widget settings assets not loading in the Site Editor or the post editor, which left a legacy widget block there with no conditional options, no colour picker and no styling
- Fixed the colour picker never starting up for a widget added in the block editor
- Fixed a "Translation loading was triggered too early" notice appearing on every page under WordPress 6.7 and later
- Fixed a JavaScript error on the SEO & Indexing and Inline Filters settings tabs before those settings had ever been saved. The page handed the browser an empty value to parse as JSON, which threw and stopped the rest of the script, leaving the drag-and-drop title and description builders dead on a fresh install
6.40.424 July 2026
- Updated super-speedy-settings (shared across all Super Speedy plugins): added a settings-version report to the licence-check and download requests for better licence and update-download debugging
6.40.323 July 2026
- Fixed a fatal error ("Cannot redeclare ssf_inline_filters_enqueue_styles()") on sites that still have the old standalone Inline Product Filters add-on plugin installed. That feature was folded into the core plugin and its internal name changed from inline-product-filters to inline-filters; the add-on loader matches add-ons by name, so the old name no longer lined up with the bundled one and both copies were being loaded at once. The loader now recognises the old name as the same add-on and skips the superseded standalone copy whenever the built-in version is active. If you see this error, the immediate fix is to deactivate the old Inline Product Filters add-on plugin - it is no longer needed.
6.40.223 July 2026
- Fixed "Show but delay execution" filters on search results showing an empty filter after loading. The REST endpoint was returning the built filter correctly, but the JavaScript that swaps it into the page was looking for a CSS class the built response only carries in some widget configurations, so for plain configurations the placeholder was removed without the options being inserted. The swap now targets the content element the endpoint always returns, and the freshly loaded filter is re-initialised (selected counts, per-page term lists and crawler-safe links) after insertion. Thanks to @rexhavoc for tracing this and sending in the diagnosis
- Fixed a delayed filter getting permanently stuck in its loading state if the load request failed - it can now be retried by interacting with the filter again
- Fixed a fatal error when clearing the filter cache on sites where the transient widget cache constant is not defined
6.40.121 July 2026
- Fixed PHP deprecation notices on PHP 8.2 and above: two internal debug properties were being created on the fly rather than declared. Harmless in themselves, but a single deprecation during an admin request makes WordPress add an error class to the page, which nudges the admin menu out of position.
6.40.020 July 2026
- Fixed the filter widgets listing no terms when the performance add-on is switched off. The term-count engine assumed the
object_ancestorsspeed table always exists; it now falls back to reading term ancestry live from theterm_taxonomyandterm_relationshipstables when that table is absent, so filtering keeps working (just a little slower) with performance disabled. This is the same engine for products and custom post types. - Fixed breadcrumbs not reflecting the active filters. On a filtered archive the trail dropped any filter that lives in a query parameter (for example a WooCommerce attribute), so it showed only the base category; the active filters are now included in the trail.
- Fixed Open Graph tags describing a single post instead of the archive on filtered archive pages.
og:url,og:titleandog:descriptionwere taken from whichever post was current in the loop; on an archive they now use the same filter-aware URL, title and description as the canonical tag and page title. Single posts and pages are unchanged. - Fixed inline archive filters rendering every configured attribute at every hook position when more than one attribute was configured.
6.39.219 July 2026
- Fixed AJAX product filtering doing a full page reload instead of updating the results in place on block themes. On a block theme WooCommerce builds the shop and category archives from its Product Collection blocks rather than the classic product grid, and Super Speedy Filters was only looking for the classic grid, so it could not find anything to update and fell back to reloading the whole page. Product filtering is now instant on block themes as it already was on classic themes. Posts and custom post types were unaffected.
6.39.118 July 2026
- Updated super-speedy-settings to the latest version
6.3918 July 2026
- Posts and custom post types now filter through the same engine as WooCommerce products, so filtering behaves identically everywhere. In particular, same-taxonomy multi-select on the URL base term (selecting two terms of the same taxonomy at once, e.g. two categories) now returns the union of both terms on posts and custom post types, as it already did for products.
- Category Display now shares one tile renderer for products and custom post types, and adds
ssf_catdisplay_tiles_htmlandssf_catdisplay_tile_datafilters so a theme or custom post type can customise the subcategory tile markup.
6.3818 July 2026
- Fixed nested multi-taxonomy pretty URLs returning a 404 on posts and custom post types. A URL that filters by two taxonomies at once (e.g.
/region/north/genre/rock/) now loads the correctly filtered archive. SSF already built these URLs but could not read them back. - Fixed SEO Overrides ignoring the meta description on filtered post and custom post type archives. The per-URL override applied the H1, browser title and above/below content but silently dropped the meta description; it now applies with the rest.
- Fixed SSF resolving a filtered post or custom post type URL to a different address than the page's own, which is what caused the missed meta-description override above and could also affect exact-match override matching and filter links. The URL a filtered page reads as now matches the page itself. WooCommerce product URLs are unaffected.
6.3712 July 2026
- Added filtering for standard WordPress posts and any public custom post type, not just WooCommerce products. Filter by their taxonomies and custom fields using the same widgets. Choose the post type on each widget and enable the post types to filter under the plugin settings.
- The paid add-ons now work on custom post types too: pretty URLs no longer interfere with custom post type filtering, and Category Display, Inline Filters, SEO & Indexing and SEO Overrides all run on non-WooCommerce archives. WooCommerce product behaviour is unchanged.
- Fixed the AJAX in-place filter refresh emptying the results grid on non-product archives, such as a block-theme post grid. It now swaps the grid in place as it already does for products.
- Fixed a fatal error (
wc_placeholder_img_src) that could occur on the admin Widgets screen and taxonomy term screens on sites running without WooCommerce. - The Show Existing Filters widget's Display current category as removable filter and Clear All goes to Category or Shop options now work for posts and custom post types, not only WooCommerce categories.
- Fixed the Maximum taxonomies in canonical URL (
max_canonical_taxes) setting, which was saved but never applied. It now caps how many taxonomies appear in a canonical URL, while Maximum terms in canonical URL (max_canonical_terms) caps the total number of terms across them. - Fixed the pretty-permalink canonical dropping one taxonomy too early when more than one taxonomy was allowed in the canonical URL.
- The pretty-permalink Remove base option now works for custom post type taxonomies, not just WooCommerce ones: the base-removed URL (e.g.
/north/instead of/region/north/) resolves, term links are stripped to match, and the base-included URL 301-redirects to the base-removed one.
6.36.410 July 2026
- Updated super-speedy-settings refreshed the Super Speedy settings page with new plugin and service-panel icons (shared across all Super Speedy plugins).
6.36.310 July 2026
- Updated super-speedy-settings (shared across all Super Speedy plugins): re-enabled TLS certificate verification on the licence/update check, escaped all dynamic output in the admin licence table, and added a capability check to the licence recheck handler.
6.36.210 July 2026
- Updated super-speedy-settings re-enabled TLS certificate verification on the licence/update check (shared across all Super Speedy plugins).
6.36.17 July 2026
- Fixed the "Show but delay execution" filter still not loading on search results on some sites (typically HTTPS/staging). The lazy-load request used an absolute REST URL from
rest_url(), which could come back ashttp://or a different host and be blocked by the browser before any request was sent, so nothing showed in the network tab. It now uses a root-relative URL that always matches the page's own scheme and host.
6.364 July 2026
- Improved delayed filters ("Show but delay execution") staying empty on search results pages. Two causes: the lazy-load request used a hard-coded /wp-json/ address that failed on sites using plain permalinks or forcing trailing slashes (the browser cached the redirect, so the request silently never completed), and the endpoint that builds the filter was re-deferring it instead of rendering its options. Filters now load correctly regardless of your permalink settings. If a filter was previously stuck empty, clear your page/object cache after updating.
6.353 July 2026
- Fixed the per-filter "Show but delay execution" option on search results pages. Previously the deferred filter only ever populated when it was inside a popout/popover container; with "No container" (and minimizable/accordion) the filter box showed but its options never loaded. Now every container type works: filters in a container load when the shopper opens/hovers/expands them, and filters with no container load automatically just after the page finishes rendering. Updated the option's help tooltip to explain this and recommend (but not require) a container.
- Fixed filter counts falling back to the slower query path on stores that use Super Speedy Listings (formerly Super Speedy Archives) to build the object_ancestors table. SSF now recognises the Listings-built table for its fast filter-count path instead of only its own copy, via a shared readiness check (ssf_object_ancestors_ready()).
- Fixed
wp ssf rebuildleaving the object-ancestors "table ready" status stuck showing "processing" on sites with a persistent object cache (Redis/Memcached). The rebuild now clears the cached status flags so the table is correctly reported as ready — previously this could mislead the admin notices and the automatic rebuild trigger until the cache expired.
6.34.115 June 2026
- Changed use of <p style="display:none"> to HTML comments instead for VERBOSE DEBUG mode.
6.3415 June 2026
- Fixed bug where category pages were being treated as shop pages - affected SEO and category filtering unless the category filtering add-on was enabled
6.33.120 May 2026
- Updated the Super Speedy Settings page: added a "Recheck Licenses" button above the licence table so customers have a clear way to refresh licence status after a renewal or upgrade without scrolling down to the licence-key field. The button is disabled until a licence key is entered/saved and re-enables as you type.
- The Recheck flow now also force-bypasses the auth-server's own 1-hour licence cache (via a
force=1flag on thewpiapi/check_product_keycall), so renewals/upgrades that completed less than an hour before a recheck no longer show as expired/exceeded. Normal admin page loads continue to use both caches as before — only an explicit Recheck click bypasses them. (Lives in thesuper-speedy-settingssubmodule, so the change propagates to every Super Speedy plugin.)
6.3313 May 2026
- Fixed Category Display add-on showing wrong subcategory counts on multi-filter URLs (e.g. /product-category/dogs/product-tag/test-tag/color/beige/) — counts now reflect every active filter, not just the category
- Fixed Category Display SQL grouping so subcategory counts work whether or not the Performance add-on is active and whether or not pretty permalinks are enabled
- Migrated Inline Product Filters feature from core into its own self-contained add-on (renderer, admin tab, shortcode, CSS now all live under addons/inline-product-filters/)
- Removed ~300 lines of inline-filter code from super-speedy-filters.php — only loaded when the Inline Product Filters add-on is active
6.3213 March 2026
- Fixed Accordion Effect, Minimizable (default open), and Minimizable (default closed) container types not working on PostMeta Range, PostMeta Toggle, and PostMeta widgets
- Fixed AJAX handling when archive transitions between products and no-products states
- Fixed Polylang language filter persisting across filtered pages via tax_query reading
- Fixed early state caching preventing language and other plugin-added taxonomy filters from appearing
- Excluded Polylang language taxonomy from active filters widget, URL generation, and hasUsableFilters checks
- Reversed multiselect URL parameter from expand_ to narrow_ so expand (OR) is the clean default URL
- Replaced rewrite rules dependency with enhanced parse_request handler for pretty URL routing
- Fixed multi-term pretty URLs (e.g. /color/black/green/) — state reader no longer overwrites multi-term selections with single queried object
- Added SSF_VERBOSE_DEBUG mode for invisible HTML comment diagnostics on client sites
- Added ultra-fast page AJAX mu-plugin option to skip unnecessary plugins during filter AJAX requests
- Implemented shared addon registry (ssp_addon_registry wp_option) replacing addon.json active flags
- Added ssf_register_addons filter for external addon plugins to override bundled addons
- Added ssf_get_object_ancestors_table() for Super Speedy Archives integration — auto-detects sstr_object_ancestors when available
- Updated all object_ancestors queries in fast-cat-fetcher.php and pre_get_posts to use table detection
- Performance tab now works with both bundled and Super Speedy Archives builder classes
- Created 5 standalone addon plugins (pretty-urls, seo-indexing, seo-overrides, inline-product-filters, category-display)
- Added source indicator (Bundled / Standalone Plugin) to Add-ons tab
- Fixed multi-taxonomy pretty URL boundary detection — next-taxbase search now finds nearest position after current, not first match anywhere
- Fixed parse_request handler to set post_type, wc_query, and taxtemplate query vars (previously only set by rewrite rules)
6.3111 March 2026
- Fixed PHP deprecation warnings replaced (double) cast with (float) in super-speedy-filters.php and fast-cat-fetcher.php
6.3027 February 2026
- Improved integration between rules based SEO overrides and Exact match SEO overrides so that archive title will be overridden correctly and only written once to the page
- Implemented mini-refactor of SEO handler (rules-based) and SEO Overrides (exact match based)
6.2925 February 2026
- Improved SEO override handler
- Restored SEO override configs
- Fixed duplicate SEO h1 override
- Fixed issue with exact match override causing blank titles on non-overridden pages
- Fixed ajax highlighting of selected filters
6.2818 November 2025
- Added full namespacing for plugin update checker to prevent conflicts with 3rd party plugins
Showing the 33 most recent of 440 releases. View the full history
