Servire lo script dal proprio dominio
Aggiornato il 18 ottobre 2026
Alcuni blocchi per pubblicità e tracciamento impediscono le richieste verso domini di analisi, incluso statsdot.com. Se servi lo script e le relative richieste dal tuo dominio, tali elenchi non corrisponderanno più. Questa operazione è facoltativa: la maggior parte dei siti funziona correttamente senza.
L'idea: un percorso sul tuo sito, ad esempio /sd/, inoltra tutto a https://statsdot.com/. Lo script viene quindi caricato da https://example.com/sd/js/script.js e invia le visite a https://example.com/sd/api/collect, che il tuo server inoltrerà.
Il tuo snippet diventa:
<script defer data-domain="example.com" src="/sd/js/script.js"></script>
Mantieni data-domain come il sito che hai aggiunto in Statsdot. Scegli un nome di percorso neutro: /sd/, /s/ o qualsiasi parola che non sia "analytics" o "stats".
L'indirizzo del visitatore
Statsdot necessita dell'indirizzo IP del visitatore (solo in memoria, mai memorizzato) per contare i visitatori unici. Dietro un proxy, Statsdot vede l'indirizzo del tuo server, quindi il proxy deve inoltrare l'indirizzo del visitatore nell'intestazione X-Forwarded-For. Senza di esso, ogni visita viene conteggiata come lo stesso visitatore.
Nginx
location /sd/ {
proxy_pass https://statsdot.com/;
proxy_set_header Host statsdot.com;
proxy_ssl_server_name on;
# Dietro Cloudflare, usa $http_cf_connecting_ip invece di $remote_addr.
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Cookie "";
}
Lo slash finale in proxy_pass rimuove /sd dal percorso.
Cloudflare Workers
Crea un Worker con una rotta example.com/sd/*:
export default {
async fetch(request) {
const url = new URL(request.url);
const headers = new Headers(request.headers);
headers.set('X-Forwarded-For', request.headers.get('CF-Connecting-IP') ?? '');
headers.delete('Cookie');
return fetch('https://statsdot.com' + url.pathname.replace(/^\/sd/, '') + url.search, {
method: request.method,
headers,
body: request.method === 'POST' ? request.body : undefined,
});
},
};
Next.js e Vercel
In next.config.js:
module.exports = {
async rewrites() {
return [{ source: '/sd/:path*', destination: 'https://statsdot.com/:path*' }];
},
};
Netlify
In _redirects:
/sd/* https://statsdot.com/:splat 200
Verifica il funzionamento
Apri il tuo sito, quindi la tua dashboard: la visita apparirà in pochi secondi. Dopo un giorno di traffico reale, controlla che i visitatori sembrino plausibili. Se ogni visita viene conteggiata come un unico visitatore, il tuo host non sta inoltrando X-Forwarded-For: impostalo come negli esempi per Nginx o Worker. Se il tuo sito invia una Content Security Policy, lo script ora proviene dal tuo dominio, quindi 'self' è sufficiente.