Query recording is a time-limited capture of all database queries during a specific action. You start a recording, perform the action you want to analyze (load a page, complete a checkout, run a cron job), and the recording captures every query that runs during that window. Shareable URLs let someone else trigger a recording without WordPress admin access.
Recordings are started from the WordPress admin dashboard.
The recording dialog opens with two settings:
How long the recording captures queries. Options:
Choose a duration that covers the action you want to capture. For a single page load, 10 seconds is enough. For a multi-step checkout flow, use 1–5 minutes.
A label for organizing recordings, like checkout-debug, homepage-load, or cron-investigation. Tags appear in the Query Viewer’s filter panel, so you can filter to see only the queries from a specific recording session.
Tags are optional but recommended. Without a tag, you have to identify recordings by timestamp alone.
A shareable URL lets anyone — a client, a team member, a support agent — start a query recording on your site without logging into WordPress.
| Option | Description |
|---|---|
| Max triggers | How many times the URL can be used (1–100). After this limit, the URL stops working. |
| Expiry | When the URL expires (1 hour to 30 days). After this time, the URL stops working regardless of remaining triggers. |
| Allow download | Whether the guest can download the query log file when the recording finishes. |
The URL follows this flow:
Each shareable URL uses a unique token. The recording data is written to a token-specific log file, separate from the main query log. This keeps shareable recordings isolated.
Shareable URLs do not grant WordPress admin access. The guest can only trigger and optionally download the specific recording associated with the token. They cannot view the main query log, access the admin dashboard, or modify settings.
The URL expires after the configured time or usage limit, whichever comes first.
Reproducing a slow page. Send a client a shareable URL and ask them to visit the slow page while the recording is active. You get the exact query data from their session.
Recording a checkout flow. Set a 2-minute recording, walk through the checkout process, and capture every query from cart to confirmation. Useful for identifying plugins that add expensive queries during checkout.
Capturing intermittent slow queries. Set a longer recording (5 minutes or more) during a time when the issue tends to occur. The recording captures everything, and you can filter by performance category to find the slow ones.
In the Query Viewer:
The query table and statistics dashboard update to show only queries from that recording session.
If you did not assign a tag, recordings still appear in the log. You can filter by time range to isolate them.