Caché JSON progresiva
POM Cache dispone de una caché dedicada para los lotes JSON que utilizan los POM Theme archivos progresivos. Es independiente de la caché HTML estática: puedes activar, inspeccionar o vaciar cualquiera de los dos almacenes sin hacer lo mismo con el otro.
Este capítulo está dirigido a propietarios de sitios que utilizan la carga progresiva de archivos y a los equipos técnicos responsables del servidor de origen. Explica el recorrido completo desde la primera respuesta dinámica hasta la posterior entrega estática.
Qué acelera la caché JSON
Un archivo progresivo representa inicialmente una estructura HTML de la página y luego solicita elementos adicionales a medida que el visitante se desplaza o selecciona Load more. POM Theme expone esos lotes como URL JSON públicas, normalmente bajo:
/pom-json/archive/...
La respuesta contiene los elementos del archivo ya representados y la información que el navegador necesita para solicitar el siguiente lote. Sin un archivo en caché, WordPress debe resolver el contexto del archivo, consultar sus entradas, representar las plantillas de los elementos y codificar la respuesta en cada solicitud. POM Cache puede guardar una respuesta apta una vez y reutilizarla.
Este subsistema no convierte cada respuesta REST de WordPress en un archivo estático. Solo participa en el flujo compatible de archivos progresivos.
Los cuatro controles de tiempo de ejecución
Abre Settings → POM Cache → General y busca Progressive JSON runtime. En multisitio, usa Network Admin → Settings → POM Cache → General.
Los cuatro interruptores tienen funciones deliberadamente separadas:
| Control | Qué gobierna | Predeterminado |
|---|---|---|
| Progressive JSON cache | Interruptor maestro para las lecturas, escrituras, entrega anticipada e invalidación automática opcional del JSON de POM Cache | Desactivado |
| PHP early static serving | Si advanced-cache.php puede devolver un archivo existente antes de que WordPress termine de cargarse |
Activado |
| WordPress read fallback | Si el enrutador POM Theme puede reutilizar un archivo existente después de que WordPress se haya cargado | Activado |
| JSON writes | Si una respuesta recién generada y cacheable puede almacenarse | Activado |
Los interruptores secundarios no hacen nada mientras Progressive JSON cache esté desactivado. Tras activar el interruptor maestro, mantener los tres controles secundarios activados ofrece el comportamiento normal en capas: escribir en la primera solicitud apta, servir de forma anticipada cuando sea posible y conservar una alternativa de WordPress.
El interruptor maestro de JSON no está vinculado a Caching, el interruptor maestro de HTML estático. Esto resulta útil cuando el JSON progresivo es beneficioso aunque el HTML esté cacheado en otro lugar.
Elige la capa de entrega
POM Cache puede utilizar tres rutas de entrega progresivamente más tardías:
- La entrega directa de Apache puede devolver el archivo antes de que comience PHP, cuando hayas instalado las reglas generadas opcionales.
- PHP early static serving puede devolver el archivo desde el drop-in de caché antes de que se complete la solicitud normal de WordPress.
- WordPress read fallback permite que el enrutador del tema compatible lea el mismo archivo cuando ninguna de las rutas anteriores lo ha servido.
Gana el primer acierto válido disponible. Un fallo continúa a la siguiente capa y finalmente llega a la generación dinámica. Lee How a JSON cache request is served antes de decidir qué capas debe usar tu entorno de alojamiento.
Configura la frescura por separado
La sección de tiempo de ejecución también contiene tres interruptores de invalidación opcionales:
- Purge JSON on post changes
- Purge JSON on term changes
- Purge JSON on translation changes
Los tres están Disabled de forma predeterminada. Cuando se activan, cada evento relevante elimina el árbol JSON progresivo completo del sitio actual. Esta invalidación amplia favorece la exactitud porque una entrada, término o traducción puede aparecer en muchos contextos de archivo.
La cabecera HTTP JSON Cache-Control header es un tipo diferente de control de frescura. Indica a los navegadores y a las cachés compartidas cómo reutilizar una respuesta; no caduca el archivo en disco. POM Cache no tiene un recolector de basura JSON basado en la antigüedad.
Ruta de lectura recomendada
Comienza con estas guías en orden:
- Why cache progressive archive JSON
- Enable the progressive JSON cache
- How JSON cache entries are generated
- How a JSON cache request is served
- Understand JSON cache response headers
- Clear the JSON cache manually
Después usa la guía de entrega correspondiente a tu pila:
- Serve JSON cache files directly with Apache
- Serve JSON cache files early from PHP
- Use the WordPress JSON fallback
Para el funcionamiento continuo:
- aprende where progressive JSON files are stored;
- measure their size and control growth;
- evalúa los performance benefits con solicitudes representativas;
- configura la invalidación de post, term y translation;
- usa Troubleshoot progressive JSON caching cuando la generación, la reutilización o la frescura no se comporten como esperas.
Línea de base segura para producción
Para un despliegue convencional de Apache o PHP, un primer lanzamiento prudente es:
- Deja las reglas opcionales de Apache fuera de la primera prueba;
- Activa el interruptor maestro, el servido anticipado de PHP, la alternativa de WordPress y las escrituras;
- Deja el tamaño máximo en
1048576bytes a menos que una respuesta real sea mayor; - Mantén la política corta predeterminada de
Cache-Control; - Activa los interruptores de invalidación que coincidan con el contenido que editas;
- Solicita un lote progresivo dos veces y verifica la generación seguida de un acierto;
- Añade la entrega directa de Apache solo después de que la ruta PHP funcione;
- Coordina la limpieza del origen con cualquier CDN que almacene en caché las URL JSON.
Esta secuencia proporciona una alternativa observable mientras validas la caché. También mantiene independientes las decisiones de HTML y JSON.
Cómo es el éxito
Una caché JSON saludable tiene estas características:
- una primera solicitud apta se genera dinámicamente y crea un archivo
.jsonválido; - una solicitud limpia repetida reutiliza ese archivo;
- las solicitudes autenticadas o de sesión de comercio no son servidas por las rutas estáticas anticipadas;
- las ediciones limpian el JSON del sitio actual cuando el interruptor de purga correspondiente está activado;
- Progressive JSON Cache Contents informa de un recuento de archivos y un tamaño plausibles;
- una limpieza manual del JSON deja sin cambios el recuento de HTML estático;
- los visitantes reciben contenido actual tanto del origen como de cualquier CDN.
Si una solicitud repetida sigue siendo dinámica, consulta la guía de solución de problemas en lugar de aumentar la duración de la caché o añadir reglas amplias en el servidor.