Servir le script depuis votre propre domaine
Mis à jour le 18 octobre 2026
Certains bloqueurs de publicités et de suivi bloquent les requêtes vers les domaines d'analyse, y compris statsdot.com. Si vous servez le script et ses requêtes depuis votre propre domaine, ces listes ne correspondent plus. Ceci est facultatif : la plupart des sites fonctionnent correctement sans cette configuration.
Le principe : un chemin sur votre site, par exemple /sd/, redirige tout vers https://statsdot.com/. Le script se charge alors depuis https://example.com/sd/js/script.js et envoie les visites vers https://example.com/sd/api/collect, que votre serveur transmet.
Votre extrait devient :
<script defer data-domain="example.com" src="/sd/js/script.js"></script>
Gardez data-domain tel que le site ajouté dans Statsdot. Choisissez un nom de chemin neutre : /sd/, /s/ ou tout autre mot qui n'est pas "analytics" ou "stats".
L'adresse du visiteur
Statsdot a besoin de l'adresse IP du visiteur (uniquement en mémoire, jamais stockée) pour compter les visiteurs uniques. Derrière un proxy, Statsdot voit l'adresse de votre serveur ; le proxy doit donc transmettre l'adresse du visiteur dans l'en-tête X-Forwarded-For. Sans cela, chaque visite est comptée comme étant le même visiteur.
Nginx
location /sd/ {
proxy_pass https://statsdot.com/;
proxy_set_header Host statsdot.com;
proxy_ssl_server_name on;
# Derrière Cloudflare, utilisez $http_cf_connecting_ip au lieu de $remote_addr.
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Cookie "";
}
La barre oblique finale dans proxy_pass supprime /sd du chemin.
Cloudflare Workers
Créez un Worker avec une route 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 et Vercel
Dans next.config.js :
module.exports = {
async rewrites() {
return [{ source: '/sd/:path*', destination: 'https://statsdot.com/:path*' }];
},
};
Netlify
Dans _redirects :
/sd/* https://statsdot.com/:splat 200
Vérifier que cela fonctionne
Ouvrez votre site, puis votre tableau de bord : la visite apparaît en quelques secondes. Après une journée avec du trafic réel, vérifiez que les visiteurs semblent plausibles. Si chaque visite est comptée comme un seul visiteur, votre hébergeur ne transmet pas X-Forwarded-For : configurez-le comme dans les exemples Nginx ou Worker. Si votre site envoie une politique de sécurité du contenu (Content Security Policy), le script provient désormais de votre propre domaine, donc 'self' suffit.