Page views for this site go to Umami, self-hosted at analytics.franciscogaspar.xyz, rather than to a third-party analytics host.
Astro bundles a script it imports. The tracker has to stay a remote script, so the tags are inline and deferred. There are two. script.js records the page view. recorder.js records the session. Both carry the same website id, data-do-not-track="true", and data-performance="true".
<script
defer
src="https://analytics.franciscogaspar.xyz/script.js"
data-website-id="…"
data-do-not-track="true"
data-performance="true"
></script>
data-do-not-track="true" means a browser that sends that signal is not recorded. The website id is in the HTML. That identifies the site to Umami, not the visitor. defer means the request for the page does not wait on the tracker.
Cloudflare Web Analytics is a second beacon on the same pages. It answers Cloudflare’s own edge question. It is not a stand-in for the Umami numbers.
The Umami server is not in this repository. What belongs next to the site is the embed: which scripts, which host, and the decision not to fold them into the Astro build.