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

Can you count unique visitors to a website without server side code?

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

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

如前所述,您需要第三方工具(如 Google Analytics),因为在前端部分完成的任何解决方法都与 client/browser-side 相关,那么您例如,如果用户更改设备,将丢失跟踪。

您可以使用一些可用的插件(例如 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/"],
        },
      },
    },
  ],
}

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