N8N Cache Purge API LiteSpeed Cache y Cloudflare - Wordpress Plugin
n8n Cache Purge API: LiteSpeed Cache + Cloudflare en WordPress (v1.7.0+)
Este plugin te permite purgar el caché de LiteSpeed Cache y Cloudflare vía API REST, ideal para integraciones con n8n, cronjobs, despliegues automáticos o flujos de e-commerce donde necesitas refrescar el contenido inmediatamente.
🚀 ¿Qué hace este plugin?
- Purgar todo el caché de LiteSpeed Cache.
- Purgar una URL específica en LiteSpeed.
- Purgar caché de Cloudflare (todo o URLs específicas).
- Purgar caché por ID de post/producto.
- Purgar caché por tipo de post (posts, páginas, productos, etc.).
- Purgar caché por categoría/taxonomía.
- Endpoint combinado: LiteSpeed + Cloudflare en un solo call.
- Obtener y gestionar logs vía REST API.
- Autenticación por X-Token.
- Restricción opcional por IP allowlist.
- Filtros avanzados y exportación CSV.
- Panel admin intuitivo con botones de prueba.
📦 Requisitos
- WordPress 5.8+
- Plugin LiteSpeed Cache (opcional pero recomendado)
- Dominio en Cloudflare (opcional)
- Permisos de administrador en WordPress
⚙️ Instalación
- Sube la carpeta del plugin a:
wp-content/plugins/jf-cache-purge-api/ - Actívalo desde Plugins → Plugins instalados.
- En el menú lateral aparecerá Cache Purge API.
- Configura los parámetros en la sección Configuración.
🔐 Configuración
1) Token del plugin
En el panel del plugin, genera un token usando el botón "Generar token aleatorio" y guarda los cambios.
Este token se usa en todos los requests como header:
X-Token: TU_TOKEN_SEGURO
Nuevo en v1.7.0+: Botón "Copiar token" para copiar rápidamente al portapapeles.
2) Configurar Cloudflare
Necesitas:
- Zone ID (Cloudflare → tu dominio → Overview → Zone ID)
- API Token (NO uses Global API Key)
Permisos mínimos del API Token:
- Zone → Cache Purge → Edit
- Zone Resources → Include → Specific zone → tu dominio
Nuevo: Botón "Probar Cloudflare" para verificar que la configuración es correcta.
3) Allowlist de IPs (opcional)
Puedes limitar el acceso agregando una IP por línea. Si se activa, solo esas IPs podrán usar los endpoints.
192.168.1.1 10.0.0.5 203.0.113.45
🔌 Endpoints disponibles (v1.7.0+)
Todos los endpoints requieren POST (excepto GET /logs) y header X-Token.
| Endpoint | Método | Descripción |
|---|---|---|
/purge-all |
POST | Purge total (LiteSpeed + CF) |
/litespeed/purge-all |
POST | Purge LiteSpeed |
/litespeed/purge-url |
POST | Purge URL LiteSpeed |
/cloudflare/purge-all |
POST | Purge Cloudflare todo |
/cloudflare/purge-urls |
POST | Purge URLs en CF |
🆕 /purge/post-id |
POST | Purge por ID post/producto |
🆕 /purge/urls |
POST | Purge por lista URLs |
🆕 /purge/post-type |
POST | Purge por tipo post |
🆕 /purge/category |
POST | Purge por categoría |
🆕 /purge/product-id |
POST | Purge producto (alias) |
🆕 /logs |
GET | Obtener logs |
🆕 /logs/clear |
POST | Limpiar logs |
Parámetros de los nuevos endpoints
post-id / product-id:
id(integer, required): ID del post/producto
purge/urls:
files(array, required): Array de URLs a purgar
post-type:
post_type(string, required): Tipo de post (post, page, product, custom)limit(integer, optional): Máximo de posts a purgar (default: 100, máx: 1000)
category:
taxonomy(string, optional): Taxonomía (category, product_cat, tag, custom - default: category)term_id(integer, optional): ID del términoslug(string, optional): Slug del términolimit(integer, optional): Máximo de posts a purgar (default: 100, máx: 1000)
logs:
limit(integer, optional): Máximo de registros (default: 50, máx: 5000)action(string, optional): Filtrar por acciónstatus(string, optional): Filtrar por status (success, error)
🧪 Ejemplos con curl
Purgar todo (LiteSpeed + Cloudflare):
curl -X POST "https://tudominio.com/wp-json/jf-cache/v1/purge-all" -H "X-Token: TU_TOKEN" -H "Content-Type: application/json"
Purgar por ID de post:
curl -X POST "https://tudominio.com/wp-json/jf-cache/v1/purge/post-id"
-H "X-Token: TU_TOKEN"
-H "Content-Type: application/json"
-d '{"id":123}'
Purgar lista de URLs:
curl -X POST "https://tudominio.com/wp-json/jf-cache/v1/purge/urls"
-H "X-Token: TU_TOKEN"
-H "Content-Type: application/json"
-d '{"files":["https://tudominio.com/","https://tudominio.com/blog/"]}'
Purgar todos los productos (WooCommerce):
curl -X POST "https://tudominio.com/wp-json/jf-cache/v1/purge/post-type"
-H "X-Token: TU_TOKEN"
-H "Content-Type: application/json"
-d '{"post_type":"product","limit":200}'
Purgar por categoría de productos:
curl -X POST "https://tudominio.com/wp-json/jf-cache/v1/purge/category"
-H "X-Token: TU_TOKEN"
-H "Content-Type: application/json"
-d '{"slug":"ropa","taxonomy":"product_cat"}'
Obtener últimos 50 logs:
curl -X GET "https://tudominio.com/wp-json/jf-cache/v1/logs?limit=50" -H "X-Token: TU_TOKEN"
Limpiar todos los logs:
curl -X POST "https://tudominio.com/wp-json/jf-cache/v1/logs/clear" -H "X-Token: TU_TOKEN" -H "Content-Type: application/json"
🤖 Uso en n8n
- Nodo HTTP Request
- Método:
POST(oGETpara/logs) - URL del endpoint:
https://tudominio.com/wp-json/jf-cache/v1/purge/post-id - Headers:
X-Token: TU_TOKEN Content-Type: application/json
Body: JSON según el endpoint (ej. {"id":123})
💡 Ejemplo de workflow n8n: Trigger en webhook (cuando se publica post) → HTTP Request a /wp-json/jf-cache/v1/purge/post-id → Enviar el ID del post recién publicado → ✅ Caché purgado automáticamente
🧰 Panel de administración
Nuevo en v1.7.0+:
- ✨ Botón "Copiar token" - Copia rápidamente el token al portapapeles
- 🔍 Botón "Probar Cloudflare" - Valida la configuración
- 📋 Botón "Purgar todo ahora" - Ejecuta purge inmediato
- 🗑️ Botón "Limpiar logs" - Elimina todos los registros
- 🔎 Filtros avanzados - Por acción y status
- 📊 Exportar logs a CSV - Con los filtros aplicados
❗ Errores comunes
❌ "Authentication error (Cloudflare)" o "Cloudflare respondió con error"
- Token sin permisos (requiere
Zone.Cache Purge) - Zone ID incorrecto
- Uso de Global API Key (debe ser API Token)
Solución:
- Abre Cloudflare Dashboard
- Ve a tu dominio → Overview
- Copia el Zone ID exacto
- Crea un nuevo API Token con permisos
Zone.Cache Purge - Haz clic en "Probar Cloudflare" en el panel del plugin
❌ "No autorizado (token)"
- Header incorrecto (debe ser
X-Tokenen minúsculas) - Token no guardado en el plugin
Solución:
- En el panel del plugin, genera un nuevo token
- Haz clic en "Guardar configuración"
- Verifica que el header sea exactamente
X-Token: TOKEN
❌ "Zone ID vacío" o "API Token no está configurado"
Solución:
- Abre Cache Purge API → Configuración
- Completa Cloudflare Zone ID y Cloudflare API Token
- Haz clic en "Guardar configuración"
- Intenta de nuevo
❌ "No posts encontrados" (post-type, category)
- No hay posts públicos del tipo/categoría especificado
- El parámetro
limites muy bajo
Solución:
- Aumenta el parámetro
limit - Verifica que existan posts públicos
- Usa slug en lugar de term_id para categorías
📚 Logs y debugging
Ver logs en el admin:
- Cache Purge API → Configuración (abajo)
- Filtrar por acción o status
- Exportar a CSV para análisis
Via REST API:
curl -X GET "https://tudominio.com/wp-json/jf-cache/v1/logs?limit=100&status=error" -H "X-Token: TU_TOKEN"
🔄 Casos de uso
- Publicación automática: Purgar caché al publicar post en n8n
- E-commerce: Purgar productos cuando cambia stock
- Cronos: Limpiar caché diariamente a cierta hora
- Despliegues: Purgar caché después de actualizar código
- CI/CD: Integración con GitHub Actions, GitLab CI, Jenkins
- Webhooks: Responder a cambios externos (inventario, sindicatos, etc.)
Versión: 1.7.0+ | Última actualización: Diciembre 2025 | Autor: Jaime Franko
jaimefranko.com
Deja un comentario