Help
Performance
What loads on which pages, measured speeds with 10,000 entries, background work, caching and settings for busy sites.
What a page loads
Pages without a form load nothing from Flavonto Forms. A page with a form loads one stylesheet and a small core script, plus only the parts that form uses: date pickers, uploads, repeating groups, address suggestions and so on are separate files that load only when a form on the page needs them.
| Page | Scripts and styles from the plugin (compressed) |
|---|---|
| Any page without a form | None |
| A contact form (name, email, phone with country code, choices, message) | About 21 KB |
| A complex form (conditions, dates, uploads, searchable lists, repeating groups) | About 36 KB |
Forms are drawn on the server, so the form is visible before any script runs and works without JavaScript (answers are then checked on the server only). No fonts, icons or libraries are loaded from other servers.
Measured speeds
Measured on 10 October 2026 with version 1.0.0, a 20 field form and 10,000 entries. Server figures are medians.
| Measurement | Shared hosting (WordPress 7.1, PHP 8.2, MariaDB 11.8, LiteSpeed) | Local test environment (WordPress Playground, PHP 8.3 in WebAssembly, SQLite) |
|---|---|---|
| Drawing the form on the server | 8.3 ms | 21.5 ms |
| Accepting an entry (without emails or integrations) | 8.2 ms | 51.5 ms |
| First page of the entries list | 14 ms | 117 ms |
| Searching 10,000 entries for a word | 107 ms | 284 ms |
| Filtering by an answer | 35 ms | 111 ms |
| Excel export of all 10,000 entries | 9.1 s in 21 parts, slowest part 0.5 s | 86 s in 21 parts, slowest part 7.7 s |
These are one site on one host. Your numbers depend on your hosting, other plugins and the size of your forms. Tests went up to 10,000 entries in one form; much larger numbers have not been measured.
Work done in the background
Emails, integrations, webhooks and large exports run in the background, so sending a form never waits for an email server or an outside service. Each job runs right after the submission that created it when the host allows, and otherwise through WP-Cron, which WordPress runs when someone visits the site.
On quiet sites, or if your host turns off WP-Cron, add a real cron job that calls wp-cron.php every five minutes (most hosting control panels have a cron jobs page). Forms, Diagnostics shows when background work last ran and lets you run waiting jobs at once.
Caching
Forms work on cached pages. Each form carries a security token; when a cached page is old, the form fetches a fresh token before sending. This was checked with LiteSpeed Cache, with two visitors sending the same cached page.
If your cache or optimisation plugin delays or combines JavaScript and a form stops responding, exclude the plugin's scripts (their names start with flavonto-forms) from those features. Diagnostics names the cache plugin it finds.
Busy sites
- Every submission is stored before its emails and integrations run, which is what makes them safe to retry. With Store entries off (a form's Privacy settings), the answers are removed once those have run.
- Use the retention setting so old entries are deleted or anonymised on schedule instead of building up.
- Large exports always run in parts in the background, so they do not time out; download the file from the export panel when it is ready.