Habilitar la caché JSON progresiva
Usa esta guía para habilitar POM Cache para POM Theme lotes de archivo progresivos sin cambiar la caché HTML estática.
Antes de empezar
Confirma:
- POM Cache está activado y sus comprobaciones de configuración de WordPress pasan;
- POM Theme está activo y al menos un archivo usa carga progresiva;
- los enlaces permanentes bonitos están habilitados;
- la Cache Location configurada tiene permiso de escritura para PHP;
- puedes probar como visitante sin sesión iniciada;
- sabes si una CDN está cacheando
/pom-json/o la ruta REST equivalente.
No necesitas habilitar el Caching HTML estático. El subsistema JSON tiene su propio interruptor maestro.
Configurar el tiempo de ejecución
En un sitio único, abre Settings → POM Cache → General. En multisitio, abre Network Admin → Settings → POM Cache → General. Busca Progressive JSON runtime.
-
Configura Progressive JSON cache en Enabled.
-
Mantén PHP early static serving en Enabled.
-
Mantén WordPress read fallback en Enabled.
-
Mantén JSON writes en Enabled.
-
Deja Maximum JSON file size en
1048576para la prueba inicial. -
Deja JSON Cache-Control header en:
public, max-age=30, s-maxage=30, must-revalidate -
Elige los ajustes de purga automática que se describen más abajo.
-
Guarda los ajustes.
Estos valores proporcionan tanto una ruta de acierto temprana en PHP como una alternativa de WordPress. Son una buena base antes de añadir reglas Apache opcionales.
Elegir los interruptores de purga
Los tres ajustes de purga están en Disabled por defecto. Habilita los que correspondan a los datos dentro de tus tarjetas de archivo progresivo:
| Ajuste | Habilítalo cuando |
|---|---|
| Purge JSON on post changes | Los editores crean, actualizan, publican, envían a la papelera, restauran, eliminan o reclasifican entradas públicas que pueden aparecer en los archivos |
| Purge JSON on term changes | La salida del archivo depende de las etiquetas de la taxonomía, la jerarquía, la existencia o el orden de los términos |
| Purge JSON on translation changes | Los cambios de POM Translate pueden alterar la salida localizada del archivo o los slugs públicos |
Cada evento habilitado borra la caché JSON completa del sitio actual. En un sitio grande y editado con frecuencia, sopesa ese coste de regeneración frente a la necesidad de frescura inmediata.
Las asignaciones de términos hechas en una entrada individual siguen el interruptor de cambios de entradas. Editar el término de taxonomía en sí sigue el interruptor de cambios de términos.
Generar el primer archivo
POM Cache no precarga JSON. Dispara un lote real:
- Abre un archivo progresivo en una ventana de navegación privada;
- Usa Load more o desplázate hasta que se solicite el siguiente lote;
- En las herramientas de desarrollo del navegador, abre Network y selecciona la solicitud
.json; - Confirma que la respuesta se completa correctamente y contiene los elementos nuevos esperados;
- Vuelve a POM Cache → General → Progressive JSON tools;
- Comprueba Progressive JSON Cache Contents.
El resumen debería mostrar al menos un archivo JSON cacheado si POM Theme marcó la respuesta como cacheable y pasó el límite de tamaño configurado.
Demostrar que la segunda solicitud es un acierto
Copia la URL exacta y limpia de la solicitud JSON desde el panel de red del navegador. Solicítala de nuevo como visitante sin sesión iniciada.
Según la capa activa, busca:
X-POM-Cache: Served static JSON cache from PHP; phase=early, oX-POM-Progressive-Archive-Cache: hit.
Si ya están instaladas reglas Apache directas, no se espera ninguna cabecera de diagnóstico PHP porque PHP puede no ejecutarse. Prueba Apache por separado.
No añadas un parámetro de consulta para invalidar la caché a esta URL de verificación. La entrega de JSON estático requiere una cadena de consulta vacía.
Verificar que las sesiones privadas evitan la entrega temprana
Repite la solicitud mientras tienes sesión iniciada en WordPress o mientras hay una cookie de carrito/sesión de WooCommerce presente. Las rutas tempranas de PHP y las recomendadas de Apache no deberían devolver el archivo compartido. El manejo dinámico de WordPress puede determinar aún que la respuesta pública es segura, pero el atajo temprano de archivos es intencionadamente conservador.
Añadir Apache solo después de que la base funcione
Si tu origen usa Apache y quieres entrega sin PHP:
- Abre POM Cache → Advanced → Progressive JSON Apache rules;
- Revisa Serve JSON cache files directly with Apache;
- Adapta las rutas generadas cuando la raíz del documento, la ubicación de la caché o el mapeo multisitio difieran;
- Coloca el bloque revisado antes del bloque de reescritura de WordPress;
- Verifica las rutas públicas, autenticadas, traducidas y multisitio.
POM Cache muestra reglas pero nunca escribe .htaccess por ti.
Resultado esperado
Después de un despliegue correcto:
- el primer lote elegible es dinámico;
- JSON writes lo almacena;
- la segunda solicitud limpia es servida por la capa válida más temprana disponible;
- las sesiones autenticadas y de carrito evitan la entrega compartida temprana;
- las purgas automáticas, si están habilitadas, eliminan el JSON después de sus eventos de contenido coincidentes;
- los ajustes y archivos de la caché HTML permanecen independientes.
Si el recuento se mantiene en cero o cada solicitud sigue siendo dinámica, usa Troubleshoot progressive JSON caching. No aumentes el tamaño máximo del archivo hasta que hayas medido la respuesta real y descartado un problema de generación o de permisos.