Skip to content
mFilter
mFilter
Faceted filtering for MODX 3 with SEO URL support
  1. Extras
  2. mFilter
  3. Manager interface
  4. Maintenance

Maintenance

Tools for maintaining and optimizing mFilter.

Operations

Reindex

Rebuilds filter indexes and cache.

When to use:

  • After bulk product import
  • After changing option structure
  • When counts (suggestions) are wrong

Action:

Maintenance → Reindex

Clear cache

Removes filter result cache.

When to use:

  • After changing settings
  • After component update
  • When results are wrong

Action:

Maintenance → Clear cache

Regenerate slugs

Recreates slugs for all filter values.

When to use:

  • When changing transliteration rules
  • After data migration

Action:

Maintenance → Regenerate slugs

Rebuild router

Updates URL router cache.

When to use:

  • After changing patterns
  • After changing set bindings

Action:

Maintenance → Rebuild router

Statistics

Overview

MetricDescription
Filter setsNumber of active sets
BindingsNumber of resource bindings
SlugsTotal slug count
SEO templatesNumber of templates
Word formsNumber of word forms

Cache

MetricDescription
Cache entriesCached result count
Cache sizeData size
Expired entriesEntries past TTL

Automatic maintenance

Expired cache cleanup

Runs via cron or on first request:

php
// Plugin on OnWebPageInit or cron script
$mfilter = $modx->services->get('mfilter');
$mfilter->cleanExpiredCache();

Cache settings

SettingDescription
mfilter.cache_enabledEnable caching
mfilter.cache_ttlCache lifetime (seconds)

Diagnostics

Check indexes

Ensure all required indexes exist:

sql
SHOW INDEX FROM modx_mfl_slugs;
SHOW INDEX FROM modx_mfl_cache;

Check configuration

php
$mfilter = $modx->services->get('mfilter');

// Verify services load
$filter = $mfilter->getFilter();
$slugManager = $mfilter->getSlugManager();

Logging

Enable debug for diagnostics:

System → System settings → mfilter.debug = Yes

Logs go to core/cache/logs/error.log.

Backup

Export data

Back up before maintenance:

sql
-- Filter sets
SELECT * FROM modx_mfl_filter_sets INTO OUTFILE '/tmp/filter_sets.csv';

-- Slugs
SELECT * FROM modx_mfl_slugs INTO OUTFILE '/tmp/slugs.csv';

-- SEO templates
SELECT * FROM modx_mfl_seo_templates INTO OUTFILE '/tmp/seo_templates.csv';

Import data

sql
LOAD DATA INFILE '/tmp/filter_sets.csv' INTO TABLE modx_mfl_filter_sets;

Performance tuning

Recommendations

  1. Use cache — enable mfilter.cache_enabled
  2. Set TTL — 3600–86400 seconds is usually good
  3. DB indexes — ensure all indexes exist
  4. Clean regularly — purge expired cache

Monitoring

php
// Enable profiling
$modx->setOption('mfilter.profile', true);

// After request, check time
$mfilter = $modx->services->get('mfilter');
$profile = $mfilter->getProfiler()->getReport();