您可以在没有服务器端代码的情况下计算网站的唯一访问者吗?

问题描述

我为我的朋友创建了一个 Gatsby 博客,这意味着它是无服务器的并且不使用数据库。这对于一个博客来说非常有效,它只需要在我每次进行更改或他添加博客文章时都需要构建 - 但是它对于跟踪唯一用户访问的效果不太好,因为如果有很多人访问它就必须进行太多构建在很短的时间内。

有没有一种方法可以在不涉及数据库的情况下跟踪唯一用户访问?

解决方法

如前所述,您需要第三方工具(例如 Google Analytics),因为在前端部分完成的任何解决方法都与客户端/浏览器端相关,如果出现以下情况,您将失去跟踪例如,用户更改了设备。

您可以使用一些可用的插件(例如 gatsby-plugin-google-gtag)轻松安装 Analytics。这是推荐的,因为在后台使用 gtag.js 而不是 analytics.js,这是 Google 推荐的,因为最近的 API 更改。

使用只需通过以下方式安装:

npm install gatsby-plugin-google-gtag // or yarn add gatsby-plugin-google-gtag

并添加您的配置:

// In your gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: `gatsby-plugin-google-gtag`,options: {
        // You can add multiple tracking ids and a pageview event will be fired for all of them.
        trackingIds: [
          "GA-TRACKING_ID",// Google Analytics / GA
        ],// This object gets passed directly to the gtag config command
        // This config will be shared across all trackingIds
        gtagConfig: {
          optimize_id: "OPT_CONTAINER_ID",anonymize_ip: true,cookie_expires: 0,},// This object is used for configuration specific to this plugin
        pluginConfig: {
          // Puts tracking script in the head instead of the body
          head: false,// Setting this parameter is also optional
          respectDNT: true,// Avoids sending pageview hits from custom paths
          exclude: ["/preview/**","/do-not-track/me/too/"],],}

您可以忽略不需要的选项。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...