Zum Inhalt springen

Das Skript von der eigenen Domain laden

Aktualisiert am 18. Oktober 2026

Einige Werbe- und Tracking-Blocker blockieren Anfragen an Analyse-Domains, einschließlich statsdot.com. Wenn Sie das Skript und die zugehörigen Anfragen über Ihre eigene Domain bereitstellen, greifen diese Filter nicht mehr. Dies ist optional: Die meisten Websites funktionieren auch ohne diese Maßnahme.

Das Prinzip: Ein Pfad auf Ihrer Website, zum Beispiel /sd/, leitet alle Anfragen an https://statsdot.com/ weiter. Das Skript wird dann von https://example.com/sd/js/script.js geladen und sendet Besuche an https://example.com/sd/api/collect, welche Ihr Server weiterleitet.

Ihr Snippet sieht dann so aus:

<script defer data-domain="example.com" src="/sd/js/script.js"></script>

Behalten Sie bei data-domain die Website bei, die Sie in Statsdot hinzugefügt haben. Wählen Sie einen neutralen Pfadnamen: /sd/, /s/ oder ein beliebiges Wort, das nicht "analytics" oder "stats" lautet.

Die Adresse des Besuchers

Statsdot benötigt die IP-Adresse des Besuchers (nur im Arbeitsspeicher, wird nie gespeichert), um eindeutige Besucher zu zählen. Hinter einem Proxy sieht Statsdot die Adresse Ihres Servers; daher muss der Proxy die Adresse des Besuchers im X-Forwarded-For-Header weiterleiten. Ohne diesen Header wird jeder Besuch als derselbe Besucher gezählt.

Nginx

location /sd/ {
    proxy_pass https://statsdot.com/;
    proxy_set_header Host statsdot.com;
    proxy_ssl_server_name on;
    # Hinter Cloudflare verwenden Sie $http_cf_connecting_ip anstelle von $remote_addr.
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Cookie "";
}

Der abschließende Schrägstrich in proxy_pass entfernt /sd aus dem Pfad.

Cloudflare Workers

Erstellen Sie einen Worker mit der 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 und 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

Überprüfung der Funktionalität

Öffnen Sie Ihre Website und anschließend Ihr Dashboard: Der Besuch sollte innerhalb von Sekunden erscheinen. Überprüfen Sie nach einem Tag mit echtem Datenverkehr, ob die Besucherzahlen plausibel erscheinen. Wenn jeder Besuch als ein einziger Besucher gezählt wird, leitet Ihr Host den X-Forwarded-For-Header nicht weiter: Konfigurieren Sie ihn wie in den Nginx- oder Worker-Beispielen. Wenn Ihre Website eine Content Security Policy verwendet, wird das Skript nun von Ihrer eigenen Domain geladen, sodass 'self' ausreicht.