Every request to admin-ajax.php loads the full admin bootstrap before reaching your handler — a measurable amount of work for an endpoint that returns three fields, and it…
The failure mode is not a slow query. It is one option holding a megabyte of serialised data, fetched and unserialised on every request, quietly adding both to…
WP_POST_REVISIONS is a constant, so it applies to the whole site. A catalogue whose products are updated by a nightly import does not want a revision per product…
add_option() takes an autoload argument. update_option() takes one too — and until recently ignored it for an option that already existed, so a plugin that only ever calls…
Every WP_Query runs a second query to count the total number of matching rows, so that pagination can be rendered. If the query is powering a sidebar widget…
A default wp-config.php leaves the file editor enabled, revisions unlimited and debugging output aimed at the browser. Four constants close most of that, and they belong in the…
Five filters over 30,000 variations, and a request that never returns. Replacing EAV meta joins with a denormalised index table kept in sync by product hooks.
The two caching APIs in WordPress look interchangeable and are not. wp_cache_* is per-request by default and lives only for that request unless a persistent backend is installed.…