Skip to content

WordPress plugin testing tool

Execute your plugin across the WordPress stacks your users run

Choose PHP, WordPress, theme, and conflict-plugin coverage. Folt calculates the environment runs, provisions isolated containers, and returns evidence for each combination.

the problem

Your users are your QA team.

Your plugin runs clean on your stack: PHP 8.3, latest core, your theme, your plugins. Your user is on PHP 8.2, last year's core, Hello Elementor, WooCommerce, and fourteen other plugins you don't run. Their fatal error becomes your one-star review — and their ticket contains zero stack traces.

repro rate of "works on my machine": 0%

A full matrix scan costs less than the time you'd spend decoding one vague support ticket.

ticket #8412 — ★☆☆☆☆

"broke my checkout page?? pls fix ASAP"

php: unknown · wp: unknown · stack_trace: null

ticket #8455

"White screen after the update. Rolled back. What happened?"

active_plugins: 23 · error_log: not provided

ticket #8471

"Conflict with some other plugin. Not sure which one."

guessing: in progress

exhibit d — the white screen of death

What you can verify

A report built from executed environments, not estimates.

Folt provisions the selected combinations, runs the same probes in each one, and keeps the evidence attached to the result.

Review the methodology

Coverage

216 environment runs at full coverage

4 PHP versions, current and previous WordPress releases, 7 themes, and 20 conflict plugins. Run cost is shown before execution.

Evidence

Failures include the environment and cause

Inspect activation, PHP, HTTP, browser-console, checkout, log, and screenshot evidence without reproducing the stack locally first.

Isolation

Ephemeral containers with no internet egress

Each run uses a constrained sandbox. Plugin archives are deleted after execution; retained reports follow the plan retention period.

Report evidence

Every scan answers three questions.

The verdict, the failing combination, and the likely impact.

q1

Did it work at all?

A pass/fail count across the entire matrix, with per-environment timing.

209/216

q2

What specifically broke it?

The exact combo, the stack trace, and the file/line that triggered it.

Fatal error: Uncaught TypeError: array_map(): Argument #1 ($callback) must be a valid callback

in /var/www/html/wp-content/plugins/accordion-blocks/includes/render.php:147

env: php 8.2 · wp 7.0 · hello-elementor · elementor + woocommerce

q3

What's the blast radius?

Popularity-weighted impact estimate — fix what hits the most sites first.

elementor + woo on php 8.2~4.1M sites
woo checkout on wp 6.9~1.8M sites
super cache deprecation~0.9M sites

pricing

Cheaper than one support ticket.

Simple plans priced by environment runs. Start free, scale when you ship.

Run usage is calculated before a scan starts.

Baseline: PHP × WordPress × themes. Conflicts: PHP × WordPress × selected plugins. The recommended scan uses 16 runs; the current full matrix uses 216.

See how runs are calculated

free

break it yourself first

$0

  • 100 environment runs / month
  • recommended scan uses 16 runs
  • community support
  • 7-day report retention
Start free

indie

every release, covered

popular

$19/mo

  • 1,000 environment runs / month
  • about 4 full matrices / month
  • email support
  • 30-day retention
Choose Indie

team

ship with confidence

$99/mo

  • unlimited environment runs
  • custom matrix dimensions
  • priority queue
  • dedicated support
  • 5 team seats
  • 90-day retention
Choose Team

$ folt scan ./your-plugin.zip

Test the combinations that matter before you ship.

100 environment runs per month on Free. No credit card required.

4 PHP versions · current and previous WordPress releases · 7 themes · 20 conflict plugins