Accueil / CMS & Dev / Optimiser les requêtes SQL
CMS & DEV
Optimiser les requêtes SQL de vos thèmes WordPress
Un thème mal optimisé peut multiplier les requêtes SQL par dix. WP_Query bien configuré et les transients réduisent drastiquement la charge base de données.
Éviter les requêtes redondantes avec WP_Query
$query = new WP_Query([
'post_type' => 'post',
'posts_per_page' => 10,
'no_found_rows' => true,
'update_post_meta_cache' => false,
'update_post_term_cache' => false,
]);
Mettre en cache avec les transients
function get_featured_products() {
$cached = get_transient('featured_products');
if ($cached !== false) return $cached;
$products = new WP_Query(['post_type' => 'product', 'meta_key' => 'featured']);
set_transient('featured_products', $products->posts, HOUR_IN_SECONDS);
return $products->posts;
}
Astuce : activez Query Monitor en environnement de développement pour visualiser exactement quelles requêtes ralentissent votre thème.
Questions fréquentes
no_found_rows casse-t-il la pagination ?
Oui, ne l’utilisez que sur des requêtes sans pagination ; sinon gardez found_rows actif.
Les transients survivent-ils à un objet cache Redis ?
Oui, avec un plugin d’objet cache persistant les transients sont automatiquement stockés en mémoire plutôt qu’en base.