Mejorar el rendimiento de ACF Flexible Content
Cómo renderizar ACF Flexible Content con plantillas pequeñas, menos consultas y una caché que se invalida correctamente.
- Revisado
- Compatibilidad
- WordPress 6.x; ACF Pro 6.x
- Lectura
- 2 min
- Autor
- Gabriel — infinit8
Flexible Content no tiene por qué ser lento. Los problemas aparecen cuando cada layout ejecuta consultas repetidas, carga assets globales o mezcla recuperación de datos con marcado en un único archivo.
Medir antes de cachear
Separa tiempo de PHP, consultas SQL, tamaño del HTML y recursos del navegador. Query Monitor puede localizar consultas duplicadas; un perfil de red revela imágenes o scripts que pesan más que el propio ACF.
Una plantilla por layout
Una lista permitida evita que un valor inesperado construya una ruta arbitraria. Cada parcial debe recibir o recuperar únicamente los datos que necesita.
if (have_rows('content_blocks')) {
while (have_rows('content_blocks')) {
the_row();
$layout = get_row_layout();
$allowed = ['hero', 'text_image', 'faq'];
if (!in_array($layout, $allowed, true)) {
continue;
}
get_template_part(
'template-parts/blocks/' . $layout
);
}
}
Eliminar consultas repetidas
Recopila IDs relacionados antes de renderizar, aprovecha la caché de objetos de WordPress y evita ejecutar un WP_Query equivalente dentro de cada fila. En consultas auxiliares usa no_found_rows cuando no haya paginación.
Assets y caché
Registra los assets de forma centralizada y carga solo los necesarios. Cachear el HTML puede ayudar en bloques costosos, pero exige invalidarlo al guardar el post y cuando cambian dependencias relacionadas.
Preguntas frecuentes
¿ACF almacena cada fila en una consulta separada?
Los metadatos de un post se benefician de la caché de WordPress. El mayor coste suele venir de consultas adicionales creadas dentro de los layouts.
¿Debo cachear todo el Flexible Content?
No por defecto. Primero mide; la caché añade complejidad de invalidación y puede servir contenido obsoleto.
Referencias y revisión
Contenido contrastado con documentación oficial. Comprueba siempre el comportamiento en un entorno de pruebas antes de desplegar cambios.