Skip to main content

Indexing & Performance

WooCommerce Appointments 5.0 introduced indexed availability to pre-calculate and cache slots in a dedicated table for faster lookups.

Why indexing?

Without indexing, availability is calculated on-the-fly for every product or calendar view. Indexing moves the heavy work to background jobs so page loads stay fast.

Enable Indexed Availability

  1. Go to WooCommerce → Settings → Appointments → Indexing & Performance.
  2. Check Use Indexed Availability.
  3. Pick a Caching Horizon (months into the future to pre-cache).
  4. Click Save changes.

Indexing & Performance settings

The indexing section shows:

  • Use Indexed Availability: Enable/disable the high-performance cache
  • Caching Horizon: How many months ahead to pre-calculate slots (1-12 months)
  • Index Status: Current health of the index table

Manual Re-index

Run a manual re-index if:

  • You bulk-changed availability rules via import or code.
  • Data seems out of sync with rules.
  • You just enabled indexing on an existing store.

Steps:

  1. Ensure indexed availability is enabled and saved.
  2. Find Manual Re-index section (visible only when indexing is on).
  3. Click Start Reindex and wait for completion.

Re-index interface

The re-index interface shows:

  • Start Reindex button to rebuild the cache
  • Progress indicator during re-indexing
  • Last re-index timestamp
warning

On very large stores, re-indexing is resource-intensive. Run during low-traffic windows if you have thousands of products.

Performance Notes

  • Database size: Indexed table wc_appointments_availability can grow with long horizons and many rules.
  • Speed: Frontend searches and the Admin Calendar can be up to ~60% faster with indexing enabled.