Soporte/Solución de problemas
Solución de problemas

Script de Flowsery Analytics bloqueado por Content Security Policy (CSP)

Si has agregado el fragmento de seguimiento de Flowsery Analytics pero no aparecen visitas, los encabezados de Content Security Policy (CSP) de tu sitio probablemente estan impidiendo que se cargue.

Diagnosticar un problema de CSP

  1. Abre tu sitio en Chrome o Firefox
  2. Abre DevTools (F12 o Cmd+Shift+I)
  3. Cambia a la pestana Consola
  4. Busca un error similar a:
HTML
Refused to load the script 'https://cdn.flowsery.com/main.js' because it violates the following Content Security Policy directive: "script-src 'self'"
```html Ver este mensaje confirma que las reglas CSP estan impidiendo que el script de Flowsery Analytics se ejecute. ## Entender Content Security
Policy Un CSP es un encabezado HTTP que instruye a los navegadores sobre que recursos externos (scripts, hojas de estilo, imagenes, etc.) tienen
permitido cargarse en una pagina. Cuando `analytics.flowsery.com` no esta incluido en la politica, el navegador bloquea silenciosamente el script --
resultando en que no se recopilen datos en absoluto. ## Resolver el problema Agrega `analytics.flowsery.com` a la directiva `script-src` dentro de tu
encabezado CSP. Los pasos especificos varian segun la plataforma. ### Next.js Actualiza el encabezado `Content-Security-Policy` dentro de tu
`next.config.js`: ```js const ContentSecurityPolicy = ` script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.flowsery.com; `; module.exports =
{ async headers() { return [ { source: '/(.*)', headers: [ { key: 'Content-Security-Policy', value: ContentSecurityPolicy.replace(/\n/g, ''), }, ], },
]; }, }; ```html ### Vercel (vercel.json) ```json { "headers": [ { "source": "/(.*)", "headers": [ { "key": "Content-Security-Policy", "value":
"script-src 'self' 'unsafe-inline' https://cdn.flowsery.com;" } ] } ] } ```bash ### Netlify (archivo \_headers) ```html /* Content-Security-Policy:
script-src 'self' 'unsafe-inline' https://cdn.flowsery.com; ```html ### Etiqueta meta HTML Cuando no puedes modificar los encabezados del servidor,
una etiqueta meta dentro de `<head>
  ` es una alternativa: ```html
  <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline' https://cdn.flowsery.com;" />
</head>

Ten en cuenta que este enfoque solo tiene efecto cuando no hay un encabezado CSP a nivel de servidor presente -- los encabezados del servidor siempre anulan las etiquetas meta.

Nginx `nginx add_header Content-Security-Policy "script-src 'self' 'unsafe-inline'

https://analytics.flowsery.com;" always; `html

Apache (.htaccess) `apache Header set Content-Security-Policy "script-src 'self'

'unsafe-inline' https://analytics.flowsery.com;" `html

WordPress Si dependes de un plugin de seguridad como WP Cerber, Sucuri o

Wordfence, navega a su configuracion de CSP o "HTTP headers" y agrega https://analytics.flowsery.com a la lista de fuentes de scripts permitidas. Cuando tu tema configura CSP directamente en functions.php: php header("Content-Security-Policy: script-src 'self' 'unsafe-inline' https://analytics.flowsery.com;"); bash

Estas detras de un proxy? Si has configurado un proxy para Flowsery Analytics, el script se sirve

desde tu propio dominio. En ese escenario, 'self' en tu CSP ya lo permite, por lo que no deberian ser necesarios cambios adicionales. Si los problemas persisten despues del proxy, verifica que el endpoint del proxy este en el mismo dominio que tu sitio web.

Usas connect-src? Si tu CSP

tambien limita connect-src (que controla donde el navegador puede enviar datos via fetch/XHR), incluye analytics.flowsery.com en esa directiva tambien:

HTML
 
</head>

Sigues experimentando problemas?

  • Confirma que estas modificando el encabezado CSP activo. Ciertos proveedores de hosting o CDNs pueden anular encabezados.
  • Busca multiples encabezados CSP -- los navegadores aplican la combinacion mas restrictiva de todos los encabezados presentes.
  • Limpia la cache de tu navegador y vuelve a probar en una ventana privada/incognito.
  • Cuando uses un proxy, asegurate de que tanto script-src como connect-src incluyan tu dominio de proxy.