drupal-dynamic-cache

Explain Dynamic Page Cache and BigPipe handling of authenticated content.

3|5|Updated Jan 8, 2026
One-click install
npx skills add https://github.com/sparkfabrik/sf-awesome-copilot --skill drupal-dynamic-cache
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: drupal-dynamic-cache
Source: https://github.com/sparkfabrik/sf-awesome-copilot/tree/main/skills/drupal/cache/drupal-dynamic-cache
Command: npx skills add https://github.com/sparkfabrik/sf-awesome-copilot --skill drupal-dynamic-cache

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Dynamic Page Cache and BigPipe handle caching for authenticated users while preserving personalized content through placeholders, enabling faster responses for logged-in users without leaking per-user data.

Core Features & Use Cases

  • Unified handling of authenticated page caching with dynamic placeholders.
  • BigPipe streaming to progressively render personalized content.
  • Lazy builders for per-user data without breaking page caches.
  • Debug guidance for UNCACHEABLE responses and cacheability headers.

Quick Start

Install and enable the Dynamic Cache & BigPipe modules, then enable per-user caching and Lazy Builders to render personalized content without degrading performance.

Frequently Asked Questions about drupal-dynamic-cache

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does Drupal handle caching for authenticated users without leaking personalized data?

Drupal handles authenticated caching by using the Dynamic Page Cache module alongside BigPipe to store page fragments and substitute per-user data via placeholders, ensuring logged-in pages remain fast without cross-user data leakage.

What causes UNCACHEABLE responses when debugging Drupal authenticated page caching?

UNCACHEABLE responses in Drupal authenticated page caching occur when cacheability metadata is missing or invalid, requiring proper cache contexts, tags, and max-age headers to allow the Dynamic Page Cache to safely store and serve the content.

How do I use lazy builders to cache personalized Drupal content for logged-in users?

Use lazy builders to cache personalized Drupal content by replacing per-user data with placeholders in the cached page, which are then rendered dynamically during BigPipe streaming without breaking the overall page cache.

Does BigPipe streaming work with the Drupal Dynamic Page Cache for per-user content?

BigPipe streaming works with the Drupal Dynamic Page Cache by progressively rendering personalized placeholders, allowing authenticated pages to send a cached shell immediately while per-user content streams in afterward.

When do I need per-user cache contexts for Drupal dynamic caching?

You need per-user cache contexts for Drupal dynamic caching whenever page content varies by individual user sessions, ensuring placeholders and cacheability headers safely isolate personalized data from the shared cached page response.

What is the best way to debug BigPipe placeholder behavior in Drupal deployments?

The best way to debug BigPipe placeholder behavior in Drupal is to analyze cacheability headers and trace lazy builder outputs, verifying that authenticated page caching properly streams personalized placeholders without degrading performance.