返回上一级

分享一个 Umami 追踪站内搜索的办法

HTML js 信息技术

想起以前用 Matomo 的时候是自带站内搜索追踪的,后来换了Umami 后这功能被遗忘了。

如今突然想起,结果发现 Umami 默认是没有站内追踪的。

试错

另辟蹊径发现 WordPress 有追踪站内搜索的插件,试用了一下发现并不理想。

由于插件是在服务端记录搜索,导致会把很多广告爬虫的搜索也记录进去,短短一天不到一千多条记录,各种语言的广告都有......

解决办法

最后研究了一下 Umami 的 Tracker functions 跟踪器功能,发现可以手动实现

搜索页面添加 JavaScript,以 wp 为例:

<?php

add_action('wp_footer', function () {
    if (is_search()) {
        echo "<script>
    document.addEventListener('DOMContentLoaded', () => {
        if (umami) {
            umami.track('search', {
                keyword: '" . get_search_query() . "'
            });
        }
    });
</script>";
    }
});

如果是静态网站,可以直接用js获取url后搜索参数

以搜索参数 s 为例:

<script>
    document.addEventListener('DOMContentLoaded', () => {
        const search = new URL(window.location.href).searchParams.get('s');
        if (umami && search) {
            // 触发一个名为 'search' 的事件,并将关键词作为数据发送
            umami.track('search', {
                keyword: search
            });
        }
    });
</script>

登录 Umami 后台查看搜索统计

这下舒服了。

甚至可以把搜索到的结果数量也统计起来,不过没办法在图表里查看

不过没什么用,毕竟有没有内容自己最清楚

评论 (0)

留下评论