Skip to content

Commit 7fcbefb

Browse files
committed
Fix umami prerender tracking issue
1 parent 6727744 commit 7fcbefb

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/components/base-head.astro

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,28 @@ const canonicalURL = canonical
214214
<script
215215
defer
216216
data-website-id="0c544586-4241-4b4b-a428-c253b02850cf"
217+
data-auto-track="false"
217218
src="/umami/script.js"></script>
218219

220+
<script>
221+
// Only track page views when page is actually visible (not prerendered)
222+
if (document.prerendering) {
223+
document.addEventListener('prerenderingchange', () => {
224+
if (window.umami) umami.track();
225+
}, { once: true });
226+
} else if (document.visibilityState === 'visible') {
227+
document.addEventListener('DOMContentLoaded', () => {
228+
if (window.umami) umami.track();
229+
});
230+
} else {
231+
document.addEventListener('visibilitychange', () => {
232+
if (document.visibilityState === 'visible' && window.umami) {
233+
umami.track();
234+
}
235+
}, { once: true });
236+
}
237+
</script>
238+
219239
<!-- REF: https://umami.is/docs/track-outbound-links -->
220240
<script type="text/javascript">
221241
(() => {

0 commit comments

Comments
 (0)