Qué hace POM Cache

POM Cache reduce la cantidad de trabajo de WordPress y PHP necesario para entregar respuestas públicas repetibles. Almacena la salida elegible como archivos ordinarios en el origen y puede servir esos archivos en solicitudes posteriores en lugar de reconstruir la misma respuesta.

Es una caché estática con criterio propio para despliegues de WordPress con POM, con alcance multisitio de primera clase y una caché independiente para el JSON progresivo de archivos.

Almacenamiento en caché de páginas HTML estáticas

Cuando una solicitud anónima produce una respuesta HTML completa y almacenable en caché, POM Cache escribe un archivo index.html para ese host y ruta de URL. Una solicitud posterior puede usar ese archivo a través de una de dos vías:

  • Entrega mediante Apache usa las reglas de reescritura recomendadas y puede devolver el archivo sin cargar WordPress ni PHP.
  • Entrega temprana mediante PHP usa el drop-in de WordPress advanced-cache.php y devuelve un archivo existente antes de la ejecución normal del plugin y del tema.

El archivo generado contiene un comentario con la marca de tiempo de POM Cache. Las respuestas servidas por PHP también incluyen una cabecera de respuesta X-POM-Cache. La entrega mediante Apache es más rápida, pero ambas vías reutilizan el mismo archivo HTML.

Almacenamiento en caché independiente de JSON progresivo

Los archivos progresivos compatibles con POM pueden solicitar JSON de forma separada de la página que lo rodea. POM Cache puede escribir esas respuestas en una caché JSON independiente y servirlas mediante Apache, PHP temprano o la alternativa de lectura de WordPress.

HTML y JSON están intencionadamente separados:

  • habilitar uno no habilita automáticamente el otro;
  • cada caché tiene su propio estado y botón de eliminación;
  • cada una tiene ajustes de invalidación independientes;
  • JSON tiene su propio tamaño máximo de archivo y su propio valor Cache-Control.

Esta separación permite que un sitio borre los datos de archivo sin descartar todas las páginas almacenadas en caché, o que borre HTML conservando un JSON válido.

Seguridad de las solicitudes

POM Cache está diseñado para salida pública reutilizable. Su ruta de caché normal rechaza o evita solicitudes que no deberían compartir una respuesta estática, incluyendo:

  • sesiones autenticadas de WordPress y cookies de contenido protegido por contraseña;
  • cookies de sesión o de carrito de WooCommerce;
  • solicitudes POST, PUT y DELETE que cambian el estado en la ruta de caché de PHP;
  • respuestas de administración, Personalizador, REST, feed y redirección de WordPress;
  • solicitudes HTML con parámetros de consulta que no son de seguimiento;
  • cabeceras Accept orientadas a JSON en la ruta de caché HTML;
  • respuestas incompletas, fatales o privadas. Las URL que faltan nunca crean archivos por URL; los 404 públicos elegibles reutilizan un documento compartido separado después de que WordPress resuelva la ruta.

Los desarrolladores pueden añadir exclusiones más estrictas. No deberían debilitar las salvaguardas solo para aumentar la tasa de aciertos.

Apache, otro servidor web y la CDN deben preservar el mismo límite de método y privacidad antes de servir un archivo público. Verifica ese contrato en cada capa de entrega activa.

Operaciones del sitio actual en multisitio

Las identidades de caché incluyen el host y la ruta del sitio multisitio actual cuando es necesario. Las herramientas de ajustes y la acción de la barra de administración purgan el sitio actual en lugar de barrer toda la red.

Este comportamiento evita que la acción editorial de un sitio elimine los archivos de cada inquilino. También significa que un cambio en toda la red puede requerir una purga deliberada para cada sitio afectado.

Invalidación y visibilidad

Los ajustes General pueden purgar HTML después de cambios públicos en entradas o taxonomías. El JSON progresivo ofrece interruptores separados para cambios de entradas, taxonomías y traducciones. Estas purgas automáticas están deshabilitadas hasta que un administrador elija la política.

La página de ajustes informa de:

  • el número y el tamaño de los archivos HTML del sitio actual;
  • el número y el tamaño de los archivos JSON progresivos del sitio actual;
  • si WordPress puede cargar el drop-in y las constantes de caché esperados.

POM Cache no elimina archivos automáticamente por antigüedad. La frescura proviene de la política de invalidación seleccionada y de purgas manuales deliberadas.

Dónde encaja

Una ruta de solicitud típica es:

Visitor → CDN (optional) → Apache rewrite → POM Cache file
                                      ↘ PHP/WordPress on a miss

POM Cache posee los archivos HTML y JSON progresivos del origen. Apache puede servirlos directamente. Una CDN puede entonces almacenar en caché la respuesta del origen y negociar Brotli o Gzip para el visitante.

Lee Qué es lo que POM Cache deliberadamente no hace antes de asignar responsabilidades de conversión de imágenes, compresión o CDN al plugin.