Comprender los archivos de caché JSON
POM Cache almacena las respuestas de archivo progresivo como archivos .json reales. La estructura de directorios separa sitios, configuraciones regionales, configuraciones de archivo y lotes para que una URL pública se resuelva en un archivo determinista.
Directorio base
Con la Cache Location predeterminada, el árbol JSON comienza en:
wp-content/cache/pom-cache-json/
El HTML estático utiliza un directorio hermano distinto:
wp-content/cache/pom-cache/
Cambiar POM Cache → Advanced → Storage → Cache Location mueve la ubicación base de la caché para ambos sistemas, mientras que sus subdirectorios pom-cache y pom-cache-json permanecen separados.
Espacio de nombres del sitio
El siguiente directorio identifica la página de inicio pública del sitio actual:
pom-cache-json/example.com/
En una instalación en subdirectorio, la ruta del sitio se convierte en segmentos de ruta seguros adicionales:
pom-cache-json/example.com/shop/
Este espacio de nombres es la razón por la que una purga del sitio actual no recorre intencionadamente el árbol de otro sitio. Los sitios con mapeo de dominio utilizan el host de la URL de inicio configurada de ese sitio.
Ruta de archivo progresivo estándar
Un lote de archivo estándar sigue este patrón:
archive/<post-type>/<context-hash>/page-<page>-ppp-<items>.json
Por ejemplo:
wp-content/cache/pom-cache-json/example.com/
└── archive/
└── product/
└── 8c31c19b2e8d/
├── page-1-ppp-12.json
├── page-2-ppp-12.json
└── page-3-ppp-12.json
El hash exacto se genera a partir del contexto del archivo. Evita que una respuesta creada para una plantilla o configuración de archivo se confunda con otra.
El nombre de archivo de la página registra tanto la página solicitada como los elementos esperados por página. Si la configuración actual del archivo ya no coincide con esos valores, POM Theme no acepta la ruta como un acierto de caché válido.
Ruta dividida por término
Un archivo que carga grupos de taxonomía separados añade la taxonomía y el slug del término:
archive/<post-type>/<context-hash>/<taxonomy>/<term-slug>/page-<page>-ppp-<items>.json
Ejemplo:
archive/dish/42b5d8/menu-section/starters/page-2-ppp-8.json
Estos segmentos permiten que distintas secciones de términos mantengan lotes independientes. Una invalidación automática normal de entrada o término sigue vaciando el árbol JSON completo del sitio actual porque una edición puede afectar a varias secciones y contextos.
Prefijo de configuración regional
Cuando la URL pública del archivo utiliza un prefijo de configuración regional, el mismo prefijo aparece antes de archive:
es/archive/product/<context-hash>/page-2-ppp-12.json
Esto evita que los fragmentos HTML localizados y los datos de navegación compartan un mismo archivo entre idiomas.
La configuración regional sin prefijo no tiene ningún directorio de configuración regional adicional. El prefijo procede de la URL pública del idioma actual, no de un nombre de carpeta elegido manualmente.
URL pública y ruta almacenada
La ruta pública:
/es/pom-json/archive/product/<context-hash>/page-2-ppp-12.json
se asigna a una ruta relativa a la caché:
es/archive/product/<context-hash>/page-2-ppp-12.json
y, con la ubicación predeterminada, a un archivo similar a:
wp-content/cache/pom-cache-json/example.com/es/archive/product/<context-hash>/page-2-ppp-12.json
La ruta opcional con forma de REST se resuelve en la misma estructura relativa a la caché. El prefijo de la ruta pública en sí no se almacena como directorio.
Protecciones de ruta y de contenido
POM Cache solo acepta rutas normalizadas que:
- terminen en
.json; - contengan letras, dígitos, guiones bajos, guiones, puntos y separadores de barra diagonal;
- no contengan barras invertidas, bytes nulos,
.., barras duplicadas ni segmentos de ruta vacíos; - permanezcan por debajo del directorio JSON del sitio actual.
También rechaza respuestas vacías, JSON no válido, archivos ilegibles y archivos mayores que Maximum JSON file size.
Las escrituras se completan mediante un archivo temporal que luego se mueve a su lugar. Por tanto, los visitantes deberían ver o bien el archivo completo anterior o bien el archivo completo nuevo, no una respuesta parcialmente escrita.
No edites los archivos de caché
Trata el árbol JSON como salida desechable. Las ediciones manuales pueden sobrescribirse y pueden crear contenido que ya no coincida con el contexto codificado en la URL.
Para cambiar lo que devuelve un archivo:
- Actualiza la entrada, el término, la traducción o la configuración de plantilla de origen;
- Vacía la caché JSON afectada;
- Vuelve a solicitar el lote del archivo;
- Verifica la respuesta regenerada.
Usa Progressive JSON Cache Contents para supervisar el número y el tamaño agregado de los archivos .json del sitio actual. Consulta Supervisar el tamaño de la caché JSON para un plan de almacenamiento y Vaciar la caché JSON manualmente para el control de eliminación admitido.