Scalability Pro

Settings and Options Reference

Published · Last updated

Scalability Pro fixes slow SQL and database queries and trims unnecessary WordPress and WooCommerce work, so that any page-caching plugin can populate its cache fast. The goal is a site that stays quick even at very large scale, with 1 million or more products achievable on a $40 per month server. This article is the full walkthrough of the settings screen: it takes each tab in turn, explains what it is for, lists the notable options, and points you to the dedicated article for anything you want in depth.

You will find the settings at Super Speedy > Scalability Pro. The tabs run in this order: Main, Indexes, Query Speed, Options Autoload, HTTP API, Imports, Miscellaneous, WP Admin, Unload Plugins and Advanced, plus an Archives tab when the Super Speedy Archives add-on is active. The options are grouped by the problem they solve, so you only need the tabs that match your goal. One distinction runs through the whole screen: indexes and most import options are safe to turn on and simply make things faster, whereas several archive and query options change behaviour as well as speed. Read the on-screen description before enabling anything on the Query Speed tab.

Before you start: create your indexes

The single most important and completely safe step is to create the database indexes. Indexes speed up queries all over your site without changing any behaviour, so there is no downside. Go to the Indexes tab, select all the indexes, and build them. On a large site do this at a quiet time, because building the indexes can take a few minutes and can slow the site down while it runs. For many sites the indexes alone make the biggest difference, and if your slow queries were caused by missing indexes you may not need to change anything else.

Indexes

The Indexes tab shows a table of every index Scalability Pro can create and maintain, so your queries can use an index rather than scanning whole tables. Each row shows the index name, its table, its columns, and a note on what it is for, with a checkbox showing whether it is already in place.

  • Index table with Select All / Deselect All – tick the indexes you want (Select All is the usual choice) and click the create button. The button reads Create All Indexes on a fresh site and Update Active Indexes once some exist.
  • Create / Update indexes – builds the selected indexes. Creating them can time out on very large tables; if it does, refresh the page and click again and it continues from where it left off until all are created.
  • Drop All Indexes – removes the indexes this plugin created, if you ever need to start again. Deactivating the plugin leaves them in place; deleting it drops them unless you untick Delete Scalability Pro indexes when the plugin is deleted on the Advanced tab.
Note

After a delete and reinstall, recreate the indexes (Select All, then Update Indexes) before you judge whether the site is slow again.

See the dedicated Custom Database Indexes article for detail on what each index does and how to confirm they are being used.

Query Speed

This tab (labelled Query Speed, and Archive Pages in older versions) optimises the main query on your archive pages: the blog list, the shop page, product category and attribute pages, and any custom post type list. These are the pages where slow queries usually live. Most options here change behaviour as well as speed, so read each description before enabling it. Two are safe to turn on if you are unsure: Remove CAST on wp_postmeta and Optimise WooCommerce Group By.

  • Remove CAST on wp_postmeta – safe. Removes a redundant CAST that stops MySQL using the indexes on the meta value column. Recommended.
  • Optimise WooCommerce Group By – safe. Drops the redundant GROUP BY (and DISTINCT) that WP_Query adds, avoiding an expensive sort, or replaces GROUP BY with DISTINCT when joins are present.
  • Remove SQL_CALC_ROWS – changes behaviour. Stops WordPress counting every matching row just to show a total, which can make the query far faster, but page counts become inaccurate, so most people pair this with an infinite scroll plugin. Choose how pages are presented: Legacy estimated total (a numbered pager based on an estimated total you set), Configurable maximum page count (a fixed upper bound you set) or Progressive previous/current/next (no final page number at all).
  • Remove sort options – changes behaviour. Uses the natural database order instead of your default sort, which avoids a full sort. It is always disabled when there is an ?orderby parameter in the URL.
  • Alter main query to use EXISTS rather than LEFT JOIN – changes the SQL, off by default. Since 6.37 it lives under Advanced → Query rewrites. Rewrites supported taxonomy clauses in the front-end main query as WHERE EXISTS predicates so MySQL can avoid a large join and GROUP BY; unsupported query shapes stay with WordPress. It does not change sorting and never touches admin queries.
  • Remove OR check for private items on front end – changes behaviour. When logged in as admin, WP_Query also checks for private posts, which stops the index being used; removing it speeds admin browsing but hides private items on the front end.
  • Custom Query Alterations – apply any combination of the above tweaks only between two WordPress action hooks, so you can optimise a specific context (a menu, a sidebar, a content area) without affecting the whole site.

See the dedicated Advanced Archive Query Tweaks article for the safe tweaks (CAST, Group By, sort, private items), Remove SQL_CALC_FOUND_ROWS for the pagination trade-off, Alter the main query to use EXISTS rather than LEFT JOIN for the taxonomy rewrite, and Custom Query Alterations for the hook-scoped approach. On very large sites with heavy author, taxonomy or filtered archive traffic, see the Super Speedy Archives Add-on article, which replaces those large joins with a pre-computed lookup table.

Single product and post pages

There is no separate tab for single product and single post pages. These are usually quick because they load one item, but they can be slowed by widgets that run their own SQL, in which case the Query Speed optimisations above fix them automatically. There is also one dedicated option for WooCommerce products, on the Miscellaneous tab.

  • Remove Woo Ajax variations calculations – skips the slow code WooCommerce runs on the product detail page to count and check available variations. Useful for products with a large number of variations.

See the dedicated Speeding Up Single Product and Post Pages article for detail.

Imports

The Imports tab is aimed at making bulk imports and product updates fast, mostly by optimising work against wp_postmeta and the term counts. These options are safe to enable.

  • Defer term counting – counts the items per category once at the end, as a nightly job, instead of once per imported row. This is usually the biggest import speed boost. A Recount now button is provided.
  • Cache Post Counts – uses Scalability Pro’s own cache for post counts so they are not recalculated every time an item is created, edited or deleted during an import. Shop orders are always recounted so order admin is unaffected.
  • Optimize Action Scheduler – removes completed, failed and cancelled Action Scheduler items daily so that table does not grow out of control (WooCommerce leans on it heavily during product updates). Buttons let you empty the table and clear the logs now.
  • Optimize Product Attributes Lookup – removes a redundant column check in the WooCommerce product attributes lookup queries so they run far faster during updates.
  • Remove Image Sizes Globally – optional. Lets you choose, globally or per post type, which registered image sizes to allow when items are imported, so imports do not spend time generating sizes you never use. Nothing changes until you configure it.
  • Avoid expensive WP All Export meta_key enumeration – set to Cache or Prevent to stop WP All Export scanning wp_postmeta for every meta key when you open export settings.

See the dedicated Defer Term Counting, Cache Post Counts, Optimise Action Scheduler, Optimise Product Attributes Lookup, Remove Image Sizes Globally and Avoid Expensive WP All Export meta_key Enumeration articles for detail.

Miscellaneous

This tab (headed Remove bloat on the page) collects fixes for stores with a large number of products or orders: rewriting badly performing WooCommerce and third-party queries, and caching slow shortcodes.

  • Optimise WooCommerce Updates – rewrites the DELETE operations WooCommerce runs against wp_options so they can use the indexes, avoiding the intermittent site-wide locks a large options table can cause.
  • Remove custom-meta select box – removes the slow query that populates the custom fields select box on the post and page editors.
  • Fix Order Delivery Date plugin Admin Query – replaces the table scan the Order Delivery Date plugin runs on the orders admin screen with a query that grabs only the last 15 months.
  • Cache [sale_products] shortcode, Cache [best_selling_products] shortcode, Cache Flatsome [uxproducts] shortcode – cache the results of these slow product shortcodes; all are WPML compatible (they cache per language), and the Flatsome option covers a suite of ux_ shortcodes.
  • Ajax attribute editing – loads product attribute terms over Ajax on the edit product page, so a store with thousands of terms does not load them all up front.
  • Fix WooCommerce onboarding code – uses a 24 hour cache to remember that your store already has products, avoiding the table scan the onboarding wizard triggers.

See the dedicated Optimise WooCommerce Updates, Cache WooCommerce Shortcodes, Ajax Attribute Editing and WooCommerce Admin Query Fixes articles for detail.

HTTP API

This tab blocks specific outbound HTTP calls that plugins make while wp-admin pages render, such as slow licence, update or telemetry checks. Outbound calls are allowed unless you add a rule.

  • Rules – each rule has a URL wildcard, an owning plugin slug (the rule steps aside on that plugin’s own pages), a purpose label and optional admin pages where it does not apply. A site can hold up to 100 rules.
  • Review latest analysis – reads the newest completed Super Speedy Performance Analysis run and lists its slow outbound calls as suggested rules.

Rules never apply to the front end, REST, cron or AJAX requests, to update screens, to WooCommerce order, settings and payment screens, or to payment gateway domains. See the dedicated Block Slow Outbound HTTP Calls in wp-admin article for detail.

WP Admin

This tab removes the table-scan-heavy widgets and dropdowns that slow down wp-admin on large stores. These caching options are safe to enable.

  • Remove Woo order summary – removes the WooCommerce dashboard order summary widget, which runs an expensive query on every dashboard load. The same figures remain available under WooCommerce > Reports.
  • Cache wp-admin WooCommerce Products Category List – caches the category dropdown on the Products admin list using Scalability Pro’s cache, which survives product edits (the default WordPress cache does not).
  • Cache user counts – caches the user counts behind the admin user filter dropdowns for 12 hours, avoiding a table scan on stores with many users.
  • Cache author counts – caches author post counts for 12 hours. This may be disabled if the underlying WordPress list table has changed and Scalability Pro needs updating.
  • Disable WooCommerce Marketplace Suggestion – stops WooCommerce running a count of recent orders on every wp-admin page just to decide whether to market its services.

See the dedicated Remove WooCommerce Dashboard Bloat, Cache Author and User Counts and WooCommerce Admin Query Fixes articles for detail.

Performance diagnosis

Use Super Speedy Performance Analysis for per-page timings, plugin evidence and AJAX before-and-after windows. Query Monitor can inspect an individual request, and your database server can provide a server-level slow query log. Scalability Pro has no Slow Query Log tab or diagnostic database drop-in.

Advanced

The Advanced tab holds the query rewrite option, the uninstall cleanup setting, and settings export and import. Export shows the whole Scalability Pro settings block as JSON, and Import loads it back.

  • Export Settings – shows your current settings as JSON, with buttons to copy to clipboard or download as a file.
  • Import Settings – paste exported JSON to load it. This overwrites all your current settings, so export a backup first.
  • Query rewrites – holds Alter main query to use EXISTS rather than LEFT JOIN, off by default.
  • Uninstall cleanup – Delete Scalability Pro indexes when the plugin is deleted, ticked by default. Deactivating never touches the indexes.

The intro screen also warns when you have too many autoloaded options in wp_options, which slows every page load. See the dedicated Managing the wp_options Table and Autoload article for how to fix that, and the Export and Import Your Settings article for moving a configuration between sites.

Recommended order

If you are working through the screen for the first time, this is the order that gives the most benefit for the least risk:

  1. Create all the indexes first. This is safe and is often enough on its own.
  2. If you are speeding up imports, enable the Imports tab options; they are all safe.
  3. Enable the safe admin caching options on the Miscellaneous and WP Admin tabs (shortcode caches, category dropdown, user and author counts, remove the order summary, disable marketplace suggestions). Add HTTP API rules only for calls an analysis shows are slow.
  4. Only then work through the Query Speed options, reading each description first, because most of them change behaviour as well as speed.
  5. Run Performance Analysis if pages remain slow, and record AJAX windows for the specific interactions you want to optimise.

If you are unsure whether an option is safe for your setup, leave it off and ask us on Discord. For the fast route, see the Quick Start Guide, and if something behaves unexpectedly after enabling an option, see the Troubleshooting article.

Unload Plugins

The Unload Plugins tab stops plugins you choose from loading on selected anonymous front-end pages, after Super Speedy Performance Analysis has measured those pages. Since 6.37 it is always available. Its Plugin unloading switch is on by default, but nothing is unloaded and no mu-plugin is installed until you choose plugins for a page and that page passes verification. Enable good settings never creates or enables an unload rule. Sites that saved page rules before 6.37 keep the switch setting they had. See the Unload Plugins safely by page article for the full workflow.

Fast AJAX endpoint unloads

Open the Unload Plugins tab and find Fast Ajax endpoint unloads to discover requests and review an exact endpoint’s plugin selection. Since 6.37 there is nothing to enable first. Enable reviewed Fast Ajax endpoint rules is on by default, but it applies only rules you have reviewed and enabled, so with no rules nothing changes. Sites that saved endpoint rules before 6.37 keep the setting they had.

A new draft selects identified required plugins and leaves optional plugins unchecked. Required plugins appear first, followed by reviewed choices from other endpoints, suggestions, and remaining plugins alphabetically. Purpose groups help you find similar requests; they do not prove that two endpoints need the same plugins.

Keep loading my theme is unticked for a new draft. Unticked uses the installed WordPress default theme; tick it when the endpoint needs the active theme. There is no theme picker, and unticked does not mean no theme code runs.

Review the registered authentication contexts, acknowledge write-capable requests where prompted, and save and enable the exact rule. Enable reviewed Fast Ajax endpoint rules controls whether reviewed rules run. Discovery and editing a draft do not change visitor requests. Enable good settings never creates or enables an endpoint rule.

Performance Analysis supplies richer discovery and timing evidence. Its AJAX view records before-and-after windows without changing which plugins load. Test the workflow’s actual result after changing the endpoint selection.

Further reading

the safe-first order to work through these tabs in a few minutes
a deeper look at the single most important tab
what to do when an option behaves unexpectedly

Comments

▲
▼
1/1