Coordina el contenido traducido con la invalidación de caché
Los sitios traducidos pueden generar HTML y JSON progresivo distintos para el mismo contenido lógico en diferentes rutas de idioma. Las claves de caché, los contextos de generación y la invalidación deben preservar esa separación.
Eventos integrados de POM Translate
Cuando el maestro de JSON progresivo está habilitado y el ajuste de purga de JSON al traducir está activo, POM Cache escucha:
pom_translate_string_changed
pom_translate_translation_changed
pom_translate_slug_changed
Cada evento desencadena una purga completa del JSON progresivo del sitio actual con el contexto translation_change. Esto garantiza que las etiquetas de archivo traducidas, los campos, las URLs o los slugs se regeneren juntos.
El ajuste controla la invalidación del JSON. No implica que cada artefacto HTML traducido u objeto externo de CDN se haya limpiado.
Una integración de traducción de terceros
Después de confirmar un cambio de traducción pública, limpia las representaciones a las que afecta:
function my_translation_plugin_public_text_changed() {
$context = 'my_translation_plugin_change';
if ( function_exists( 'pom_cache_delete_site_cache' ) ) {
// Translated navigation and initial markup can affect HTML.
pom_cache_delete_site_cache( $context );
}
if ( function_exists( 'pom_cache_json_delete_site_cache' ) ) {
// Progressive archive labels and fields can affect JSON.
pom_cache_json_delete_site_cache( $context );
}
}
Llama a esto después de que la transacción de traducción tenga éxito, no antes y no una vez por cada cadena individual en un trabajo de traducción masiva.
Si tus datos afectan solo al JSON, omite la limpieza de HTML después de demostrar que ninguna página inicial, metadatos, navegación, datos estructurados o texto alternativo lo consume.
Claves JSON conscientes del idioma
Una carga progresiva traducida debe tener una ruta relativa determinista y específica del idioma. El contexto de archivo progresivo POM Theme proporciona el prefijo de URL de idioma usado por su asignación de caché.
Al llamar a pom_cache_json_purge_context() con post_type y locale, POM Cache puede usar esa misma clase de contexto POM Theme para dirigirse a:
[locale-prefix]/archive/[post-type]
Si la clase no está disponible, no se infiere ningún prefijo de idioma. Si falta post_type, el asistente limpia todo el JSON del sitio actual. Valida el contexto antes de asumir una purga dirigida.
Cambios de slug
Un cambio de slug traducido puede dejar dos preocupaciones separadas:
- la ruta de caché antigua aún puede contener un archivo reutilizable;
- la nueva ruta necesita HTML o JSON nuevos;
- las capas de Apache y CDN aún pueden reconocer la URL pública antigua.
Limpia los almacenes de origen relevantes, verifica el comportamiento de reescritura de WordPress e invalida tanto las rutas de CDN antiguas como las nuevas cuando sea necesario. No confíes en una nueva clave de caché para hacer desaparecer la respuesta pública antigua.
Traducción automática y masiva
Durante la traducción masiva:
- mantén la caché pública actual hasta que los datos traducidos alcancen un punto de confirmación consistente, a menos que servirlos fuera incorrecto;
- difiere las limpiezas automáticas redundantes con un estado de trabajo duradero si es necesario;
- limpia el HTML y el JSON una vez por sitio afectado al finalizar;
- limpia en caso de error o cancelación antes de liberar cualquier supresión;
- regenera las rutas de idioma representativas;
- invalida la CDN después de que el origen sea correcto.
Matriz de verificación
Para cada idioma compatible:
- solicita el mismo contenido en su URL específica del idioma;
- confirma que el HTML y el JSON no crucen idiomas;
- cambia una cadena traducida y verifica la regeneración;
- cambia un slug traducido y prueba tanto las URLs antiguas como las nuevas;
- repite mientras estás conectado para confirmar que el estado privado permanece dinámico;
- verifica los resultados del origen antes que los de la CDN.
La caché es correcta solo cuando las variantes de idioma están aisladas y cada cambio de traducción tiene un punto de invalidación definido.