What You’ll Learn
- Configuring automated and manual HTML scans
- Setting up post-update regression scans
- Viewing raw HTML and rendered differences
- Using change thresholds for notifications
Regression Testing Dashboard
To open the add-on, go to MainWP > Add-ons > Monitoring > Regression Testing. The Dashboard page provides an overview of all connected child sites and their scan results. Each site in the list includes: • Site Name & URL – Click the site name to open its MainWP child site Dashboard. • Change Percentage – Displays how much the site’s HTML has changed since the last scan, giving you an immediate sense of whether an update introduced modifications. • Comparison Timeframe – Shows when the last two scans occurred. • Settings Mode – Lets you know if the site is using global settings or has custom, per-site configurations At the far right of each row, clicking the ellipsis menu (⋮) reveals additional options: • Overview – Opens the Overview page of this Child Site. • Edit – Opens the Edit page of this Child Site. • Scan Site – Manually trigger a new Regression Testing scan for the site. • Raw HTML Diff – View side-by-side changes in the site’s HTML code to detect structural modifications. • Rendered HTML Diff – See a visual before-and-after comparison to spot layout or content changes. • Enqueued Files Diff – Compare changes in CSS and JavaScript files if tracking is enabled in the Settings.General Settings
To customize how scans are performed, navigate to MainWP > Add-ons > Monitoring > Regression Testing > Settings. • Additional target pages – By default, the add-on scans the site’s homepage on the/ slug. If you want to scan another page, enter its slug, such as /contact-us. This is useful if a particular page, such as a pricing or checkout page, is more critical to monitor.
• Highlight color for additions and Highlight color for deletions – Set custom colors to highlight added and removed content in difference views.
• Exclude HTML elements – Specify elements to ignore, such as head, #header, or .wrapper.
• Track enqueued CSS & JS files – If enabled, the add-on will also track changes to JavaScript and CSS files. However, this can significantly increase scan time.
• Exclude CSS files from specific directories and Exclude JS files from specific directories – Prevent selected CSS or JS files from being included in the scan by specifying directories, such as /wp-admin/*.
• Snapshot retention policy - Set how long HTML snapshots should be kept before they are automatically deleted. Choose from 1 day, 1 week, 2 weeks, 1 month, 2 months, 3 months, 6 months, 1 year, or unlimited. Default is 30 days. The Child Site Overview widget uses this retention window for its Change chart history.
Automated Scan Settings
• Post-update automatic scans – Automatically perform a scan after a plugin, theme, or WordPress core update. After updates are finished on a Child Site, Regression Testing will begin automatically. The UI reflects this sequence, with status messages and icons that accurately indicate when an update or a regression scan is underway. • Delay regression scans after updates – When Post-update automatic scans are enabled, you can choose to delay the regression scan instead of running it immediately after updates finish. This gives caches, CDNs, page builders, and background processes time to settle before a snapshot is captured, reducing false positives caused by transient changes.- Your sites use full-page caching, object caching, or a CDN that needs time to refresh after updates.
- Plugins or themes perform background tasks (e.g., asset rebuilding, cache warming) immediately after activation or update.
- You want a more stable baseline by scanning after the site has stabilized post-update.
Notifications Settings
• Enable notification emails – Get an email alert if a site’s changes exceed a specified threshold. • Change score threshold – Set the percentage difference that triggers a notification.Per-site Settings
Go to the MainWP > Sites > Manage Sites page
Locate the desired child site and click on its name
Click Regression Testing in the sidebar on the left
Click the Settings tab
Enable Overwrite General Settings and click Save
Set your desired per-site preferences
Click the Save Settings button at the bottom of the page
Viewing Scan Results
Navigate to MainWP > Add-ons > Monitoring > Regression Testing
Locate the desired Child Site in the table, and then from the ellipsis menu choose:
Regression Testing Abilities
Version 5.3.0 adds MainWP Abilities for authorized regression-testing workflows. Authorized automation tools can run scans, manage saved schedules, review paginated results and operation progress, and cancel queued work. The extension records authorized requests so retrying a request does not create duplicate work. Scans and schedules use each site’s configured origin. Queued operations recover after an extension migration, while maintenance clears orphaned jobs. Compare-and-swap checks reject stale changes to saved settings and results. Regression Testing endpoints reject requests without the required authorization.Widgets
MainWP Overview Page Widget This widget offers a high-level summary of HTML changes across all connected child sites. It displays a list of sites where significant modifications have been detected, allowing you to identify potential issues at a glance. This is particularly useful for catching unexpected changes across multiple sites without needing to open each one individually. Child Site Overview Page Widget On an individual site level, the Child Site Overview Page Widget provides a quick way to review the latest scan results. It displays the most recent Change Percentage, the Target URL that was scanned, and the timestamp of the Last Scan. This allows you to monitor specific sites directly from their MainWP overview pages, making it easy to track and review unexpected modifications as they occur. The chart also includes timestamps on the x-axis and reflects the history of Change Percentage values within your snapshot retention window.Scheduled Bulk Scanning Behavior
When Regression Testing is scheduled to run automatically (e.g., daily or weekly), the system does not attempt to scan all sites or all pages at once. Instead, it follows a phased approach: • At the scheduled start time, the system selects the first three websites to begin scanning.• Target pages on each site are scanned in batches of up to three pages, with a 5-second interval before the next page batch.
• After 5 minutes, it proceeds to the next batch of three websites, repeating the same behavior.
• This cycle continues until all selected websites have been processed. This method ensures the scanning load is spread out and doesn’t overwhelm your server or the connected sites.
Related Resources
- Monitoring Add-ons - Browse all monitoring tools
- Manage Updates - Update management guide
- Dashboard Insights - Analytics for your Dashboard
