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.

flexible-content.php
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.