🔥WORDPRESS PLUGINS YOU WON'T FIND ANYWHERE ELSE!BloatSlayer🔍SEO Surgeon📦TrackShip🚀LaunchPad🎯CommandPost🔑VeriKeyProofFlow💬SiteChat🤖AltVault📢Announcement Bar🌙Dark Mode🖌️Login Logo🚫Disable Comments
⚡ BUILT FOR STORES WITH 500+ PRODUCTS

Your WooCommerce,
Fast at Any Scale

WooCommerce stores every product field in a slow EAV table — sorting by price across 10,000 products means millions of rows. MetaMatrix copies your product data into a flat, indexed table and intercepts queries transparently. No code changes. No slowdown.

v1.0.2 — Latest Release
WooCommerce — Products
Product SKU Price Stock Status
Wireless Headphones ELEC-HP-001 $149.99 45 In Stock
Trail Running Shoes SPRT-SH-TRL $119.99 60 In Stock
Water Bottle 1L SPRT-BTL-1L $39.99 0 Out of Stock
⚡ Sorted by flat index — no postmeta JOIN

The query time speaks for itself

Sorting the WooCommerce Products list by price on a 5,000-product store. Same server. Same data. The only difference is MetaMatrix.

⚠ Without MetaMatrix
820ms
Every sort or filter JOINs wp_postmeta — a table that holds every field for every post type. A 5,000-product store can have 500,000+ rows in postmeta. Sorting by price means scanning them all.
SELECT p.* FROM wp_posts p
INNER JOIN wp_postmeta pm1 ON pm1.post_id = p.ID
  AND pm1.meta_key = '_price'
WHERE p.post_type = 'product'
ORDER BY CAST(pm1.meta_value AS DECIMAL) DESC
-- 500k+ rows scanned, no covering index
✓ With MetaMatrix
38ms
MetaMatrix intercepts the query and rewrites it to JOIN a flat table with one row per product. The _price column has a proper index. 5,000 rows, no full-table scan.
SELECT p.* FROM wp_posts p
LEFT JOIN wp_metamatrix_product_index mm
  ON mm.product_id = p.ID
  AND mm.meta_key = '_price'
WHERE p.post_type = 'product'
ORDER BY CAST(mm.meta_value AS DECIMAL) DESC
-- 5k rows, indexed lookup, 21× faster

Benchmarked on a shared hosting environment (PHP 8.2, MySQL 8.0, no object cache). Results vary by server and catalog size — larger catalogs see greater gains.

From slow EAV
to instant queries

MetaMatrix is admin-only — no frontend scripts, no storefront impact.

Flat indexed table

46 WooCommerce product meta keys are copied to a flat indexed table in the background. Sorting by price or stock no longer JOINs millions of postmeta rows.

🔒

Transparent interception

Hooks into get_post_metadata to route reads through the flat table. Existing themes and plugins work exactly as before — no code changes required.

📊

Custom typed columns

Add your own meta keys (supplier cost, warehouse location, lead time) as typed SQL columns — VARCHAR, INT, DECIMAL, and more. Sort and filter natively.

📶

Sortable admin columns

Enable any indexed key as a sortable column in the WooCommerce Products list. Clicking the column header runs against the flat table — zero postmeta overhead.

🔍

Filter bar

Filter the products list by any indexed key using equals, contains, >=, or <= operators. Useful for finding all products below a stock threshold or above a price point.

🆕

Object caching

All reads are cached with a 1-hour TTL. Works with Redis, Memcached, or any persistent object cache — eliminating database hits entirely on repeat reads.

🔄

Background sync

Products sync automatically when saved via Action Scheduler. Existing products can be reindexed from the settings page — runs in the background with no timeout risk.

💻

WP-CLI support

Run wp MetaMatrix status, reindex, sync <id>, and purge from the command line.

ProductForge integration

Running ProductForge? MetaMatrix detects it and indexes new products immediately as they're created — no waiting for the background sync queue.

Up and running in 4 steps

1

Install & activate

Upload MetaMatrix (WooCommerce required) and activate. The flat index table is created automatically.

2

Choose columns

Go to WooCommerce → MetaMatrix. Check the keys you want as admin columns — SKU, price, stock, and more.

3

Run initial index

Click Save & Run Initial Indexing. MetaMatrix queues all existing products for background sync.

4

Sort & filter

Your Products list now has fast sortable columns and a filter bar — powered by the flat index, not postmeta.

⚡ + ⚒
Add-On Integration

Pairs perfectly with ProductForge

Bulk-creating products with ProductForge? MetaMatrix detects it and indexes every product immediately as it's created — no waiting for the background sync queue. Build a catalog of 500 products with ProductForge and have them fully indexed and sortable before you close the tab. Install both and they wire up automatically.

Learn about ProductForge →

Simple, transparent pricing

Starter covers the full feature set on one site. Pro adds custom typed columns and multi-site. Agency for developers managing many stores.

Starter
$49 /year
1 site · billed annually • renews at 30% off
  • Flat index for 46 WC keys
  • Transparent query interception
  • Sortable admin columns
  • Filter bar (=, contains, >=, <=)
  • Background sync (Action Scheduler)
  • Object caching
  • Custom typed columns
  • 1 year of updates
Get Starter
Pro
$129 /year
5 sites · billed annually • renews at 30% off
  • Everything in Starter
  • Custom typed columns (6 types)
  • WP-CLI commands
  • Use on 5 sites
  • 1 year of updates
Get Pro
Agency
$299 /year
25 sites · billed annually • renews at 30% off
  • Everything in Pro
  • Use on 25 sites
  • Priority support
  • 1 year of updates
Get Agency

Prices in CAD. All plans include self-hosted auto-updates via your WordPress dashboard.

Frequently asked questions

Is MetaMatrix right for my store?
MetaMatrix is built for stores with 500 or more products. Below that threshold WooCommerce's postmeta queries are fast enough that you won't feel a difference. If your Products list takes more than a second to load or sort, MetaMatrix will fix it. If you manage multiple large stores as an agency, the gains multiply across every client site.
Does MetaMatrix require WooCommerce?
Yes. MetaMatrix indexes WooCommerce product meta keys and adds columns to the WooCommerce Products list. It will not activate without WooCommerce.
Will it break my existing themes or plugins?
No. MetaMatrix intercepts get_post_meta() calls transparently — if a key isn't in the flat table it falls back to postmeta silently. Your theme and plugins never know the difference.
How long does initial indexing take?
It depends on your catalog size. MetaMatrix uses Action Scheduler to run in the background — a store with 10,000 products typically finishes in a few minutes. You can continue using your site while it runs.
What are custom typed columns?
Custom typed columns let you add your own meta keys (like _supplier_cost or _warehouse_location) as proper SQL columns with a specific type (VARCHAR, INT, DECIMAL, etc.). This makes sorting and filtering by those fields natively fast. Available on Pro and Agency.
Does it work with Redis or Memcached?
Yes. MetaMatrix uses WordPress object cache groups, so if you have a persistent cache (Redis, Memcached) installed, read hits are served entirely from cache with zero database queries.
What happens if I deactivate MetaMatrix?
WooCommerce falls back to postmeta immediately — your store continues to work normally. The flat index tables are preserved on deactivation and only dropped if you uninstall the plugin.
Does it work with ProductForge?
Yes. If both plugins are active, ProductForge indexes new products into MetaMatrix immediately as they're created — no waiting for the background sync queue.

Stop waiting for
slow product queries

MetaMatrix runs silently in the background — install it once and your entire product catalog becomes instantly sortable and filterable.

Get MetaMatrix →
BT
BT Assistant Ask me anything!