Entiende los aciertos y fallos de caché
«Acierto» y «fallo» describen una consulta, no si una página se ve rápida. Un lenguaje preciso te ayuda a identificar la capa que respondió y si el resultado era el esperado.
Cuatro desenlaces, no dos
Las pruebas de POM Cache deberían distinguir estos casos:
| Desenlace | Significado | ¿Renderiza WordPress? | ¿Puede aparecer un nuevo archivo HTML? |
|---|---|---|---|
| Acierto | Se encontró y sirvió un index.html reutilizable |
No para Apache/PHP temprano | No |
| Fallo cacheable | No existía un archivo utilizable, pero la respuesta final cumplía los requisitos | Sí | Sí |
| Derivación | La solicitud no tenía permitido leer ni escribir HTML compartido | Sí | No |
| Respuesta rechazada | La solicitud comenzó con normalidad, pero la salida final no superó las comprobaciones de almacenamiento | Sí | No |
Por tanto, un archivo ausente no basta para predecir qué ocurre después. Una página pública puede crearlo; una búsqueda con cadena de consulta, una vista previa, una vista con sesión iniciada, una redirección o una respuesta incompleta no deberían hacerlo.
Identifica un acierto de origen
Usa un navegador sin sesión iniciada, con las cookies limpias, y solicita exactamente la misma URL canónica dos veces.
Para un acierto de PHP temprano, inspecciona la segunda respuesta en busca de:
X-POM-Cache: Served static cache from PHP; phase=early
Para la entrega con Apache, esa cabecera está ausente porque PHP nunca se ejecuta. Una vez generado el archivo de caché:
- vuelve a solicitar la URL y consulta el código fuente HTML;
- encuentra el comentario
Cached page generated by POM-Cache; - registra su marca de tiempo;
- recarga sin purgar;
- confirma que la marca de tiempo no ha cambiado.
También puedes revisar POM Cache → General → Cache tools → Cache Contents. Un recuento de archivos estable junto con una marca de tiempo de página sin cambios respalda la reutilización, aunque el recuento por sí solo no demuestra qué URL se sirvió.
Reconoce un fallo cacheable
Inmediatamente después de Delete Cache, la primera solicitud adecuada debería:
- seguir la ruta normal de renderizado de WordPress;
- devolver la página correcta al visitante;
- crear un directorio de host y ruta que termine en
index.html; - añadir un comentario de generación de POM Cache a la copia almacenada.
La primera respuesta no se convierte retroactivamente en un acierto. El archivo solo queda disponible después de que WordPress termina y el renombrado atómico se completa correctamente.
Reconoce una derivación
Cambia una propiedad de la solicitud manteniendo constante la ruta:
- inicia sesión en WordPress;
- añade un artículo a un carrito de WooCommerce;
- añade un parámetro de consulta significativo;
- solicita una vista previa;
- envía una cabecera
Accept: application/json.
El archivo anónimo existente puede permanecer en disco, pero la solicitud modificada no debería reutilizarlo. Esa es una prueba de seguridad superada con éxito.
Separa las evidencias de origen y de CDN
Una CDN puede devolver su propia cabecera HIT, Age o específica del proveedor. Eso demuestra una consulta en el borde, no una consulta de POM Cache.
Al diagnosticar:
Browser → CDN cache → Apache/PHP POM Cache → WordPress render
Prueba un límite cada vez. Primero demuestra que el origen genera y reutiliza el archivo correcto. Después habilita o valida el almacenamiento en caché en el borde. Tras una purga del origen, un objeto de borde antiguo puede seguir visible hasta que se invalide la CDN.
Por qué es posible un «fallo rápido»
WordPress puede renderizar con rapidez debido a:
- una caché de objetos persistente caliente;
- el almacenamiento en caché de opcode de PHP;
- consultas de base de datos optimizadas;
- una plantilla ligera;
- un origen cercano.
La velocidad por sí sola no es evidencia de caché. Usa el archivo, la marca de tiempo de origen, las cabeceras de respuesta y la secuencia controlada de purga/recarga.
Una prueba de acierto repetible
- Elige una página publicada normal, sin salida específica del visitante.
- Ábrela sin sesión iniciada y confirma que el contenido es correcto.
- Elimina la caché HTML del sitio actual.
- Solicita la página una vez y comprueba que aparece su recuento de archivos.
- Solicítala de nuevo y demuestra la reutilización mediante la cabecera o una marca de tiempo de generación sin cambios.
- Abre la página autenticado y demuestra la derivación.
- Si hay una CDN, repite la prueba de borde solo después de conocer el resultado de origen.
Si el desenlace esperado difiere, usa Pages are not cached en lugar de debilitar las protecciones de la solicitud.