您可以在没有服务器端代码的情况下计算网站的唯一访问者吗?
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/"],
},
},
},
],
}
您可以忽略不需要的选项。
我为我的朋友创建了一个 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/"],
},
},
},
],
}
您可以忽略不需要的选项。