Inicio - Documentación - POM Theme - 07 Faceted search - Optimize complex faceted search

Optimize complex faceted search

Faceted Search is designed around an index so public filtering does not need to rebuild every value from raw WordPress content on each interaction. Configuration still determines how much data each refresh must process and render.

Reduce the candidate set first

Put permanent restrictions in the archive or saved custom query. Do not begin with every public object when the interface only represents one content family.

Use a separate context when two collections have materially different facets or result cards.

Index only required card content

In Indexed native fields, disable featured image, excerpt, or post content payloads that the result template never uses. Under Indexed metas, declare only custom fields rendered by that template.

Do not index long editor or textarea content as a facet source. Prefer a normalized taxonomy or a short derived value.

Control choice and result volume

  • Use Limit and Soft limit for long choice lists.
  • Prefer Autocomplete or Searchable select when showing every option would be noisy.
  • Keep Per Page options bounded.
  • Use Maximum markers and marker scope deliberately on maps.
  • Enable clustering when a map displays many nearby markers.
  • Use Current page marker scope when the map only needs to represent visible cards.

Reindex at the right time

Reindex after structural configuration changes and after large imports. Avoid repeatedly changing one facet and launching overlapping full reindexes; finish the configuration pass, save it, then rebuild the affected context.

The context table shows Last indexed and indexing progress. Treat a completed operation as the prerequisite for performance and result testing.

Measure the visitor journey

Test the initial page and several filtered states with realistic content volume. Include a combination with many matches, a selective combination, sort, later pages, and mobile map use.

If only one card design is slow, simplify that result template before removing useful facets. If every refresh is slow, reduce the base query, indexed payload, page size, and number of simultaneously rendered choices.