给你的博客添加数据统计功能

20.数据统计

我们可以给博客添加统计功能,这里以百度统计和谷歌统计为例。

百度统计

添加网站

登陆百度统计后台:百度统计——一站式智能数据分析与应用平台,并登录,然后进入产品:

在这里插入图片描述

在使用设置–网站列表中,点击新增网站:

在这里插入图片描述

添加网站域名、网站首页等信息:

在这里插入图片描述

引用代码

添加完后,会自动跳转到代码获取页面,我们可以看到根据我们填写的站点信息生成的监控代码,注意这段代码是有特殊标示的,你需要根据自己的站点信息生成并使用:

在这里插入图片描述

在这里插入图片描述

接下来就是引用代码了。由于 VuePress 是一个单页面应用,切换的过程并不会加载页面,也就不会触发百度统计;因此我们需要监听路由的改变,手动上传数据。而 VuePress 是基于 Vue 的,可以配置监听路由:应用级别的配置

由于 VuePress 是一个标准的 Vue 应用,你可以通过创建一个 .vuepress/enhanceApp.js 文件来做一些应用级别的配置,当该文件存在的时候,会被导入到应用内部。enhanceApp.js 应该 export default 一个钩子函数,并接受一个包含了一些应用级别属性的对象作为参数。你可以使用这个钩子来安装一些附加的 Vue 插件、注册全局组件,或者增加额外的路由钩子等:

// 使用异步函数也是可以的
export default ({
Vue, // VuePress 正在使用的 Vue 构造函数
options, // 附加到根实例的一些选项
router, // 当前应用的路由实例
siteData, // 站点元数据
isServer // 当前应用配置是处于 服务端渲染 或 客户端
}) => {
// ...做一些其他的应用级别的优化
}

VuePress 的路由是用 Vue Router,我们可以配置一个全局前置守卫。怎么手动上传数据呢?这个我们可以查看百度统计的文档,有讲到针对这种单页应用如何在 JS 中调用 PV 跟踪代码:

_hmt.push(['_trackPageview', pageURL]); // pageURL:指定要统计PV的页面URL。此项必选。

总结,我们在 .vuepress 文件夹下新建一个 enhanceApp.js 文件,代码写入:

export default ({ router }) => {/*** 路由切换事件处理*/router.beforeEach((to, from, next) => {//触发百度的pv统计if (typeof _hmt != "undefined") {if (to.path) {_hmt.push(["_trackPageview", to.fullPath]);}}// continuenext();});
};

现在我们在本地再运行下代码,然后点击文章,包括点击文章中的锚点,在控制台查看网络请求,可以看到上报了数据:

在这里插入图片描述

部署后,我们也可以在百度统计后台检查:

在这里插入图片描述

然后点击检查:

在这里插入图片描述

网站分析

一般 20 分钟后,可以查看网站分析数据:
在这里插入图片描述

pv 即 page view,表示页面浏览量

谷歌统计

谷歌统计和百度统计类似,也是差不多的步骤。登陆谷歌分析后台,如果是第一次登陆,会跟着指示创建账号,所谓账号,通常是一个公司或者组织:

在这里插入图片描述

创建账户分 3 步:

  1. 账号开设
  2. 媒体资源设置
  3. 关于您的商家

注意:随着时间的推移,创建账户的步骤可能不同,仅供参考。

添加媒体资源

首先是账号开设,先填个账户名称然后下一步

在这里插入图片描述

接下来添加媒体资源,所谓媒体资源,一般就是指网站或 APP,你也可以理解为百度的站点,每个媒体资源都有一个唯一的追踪 ID,就是我们要拿到的 ga(Google Analytics 的缩写)。

在添加媒体资源的时候,一定要注意,我们需要点击 「查看高级选项」,打开创建 「Universal Analytics 媒体资源」开关,至于是勾选 「同时创建 Google Analytics 4 和 Universal Analytics」 还是「仅创建 Universal Analytics」则都可以。

在这里插入图片描述

第三步然后按需选择,然后创建:

在这里插入图片描述

最后同意服务条款:

在这里插入图片描述

然后我们就可以看到 GA 了:

在这里插入图片描述

在这里插入图片描述

VuePress 配置

VuePress 直接提供了 @vuepress/plugin-google-analytics​ 插件,使用该插件,无须我们手动监听路由改变,上节所说的三种情形下都会触发数据上报。

我们直接参照 官方文档 进行安装:

yarn add -D @vuepress/plugin-google-analytics
# OR npm install -D @vuepress/plugin-google-analytics

注意:如果你的项目正在使用 Google analytics 插件,推荐使用 Yarn 而不是 npm 来安装所有依赖。因为在这种情形下,npm 会生成错误的依赖树。

JS 配置:

module.exports = {plugins: [['@vuepress/google-analytics',{'ga': '' // UA-00000000-0}]]
}

删除媒体资源

如果你添加错了,可以删除:

在这里插入图片描述

在这里插入图片描述

谷歌还是百度?

至于使用谷歌还是百度,因人而异,在国内,谷歌因为一些原因,会导致加载速度降低,当然你也可以两者都用。

参考

  • Google Analytics 分析(GA)是什么?为什么全世界都在用? - 知乎
  • 如何获取 GA(Google Analytics 的简称)统计代码? - 江门市美誉网络技术有限公司

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3245934.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Windows命令行(CMD)中,tasklist | findstr(搜索并显示包含特定字符串的进程信息)

文章目录 示例注意事项示例:使用 /FI 选项过滤进程 在Windows命令行(CMD)中, tasklist 命令用于显示当前运行的进程列表,而 findstr 命令则用于搜索字符串。当你将 tasklist 命令的输出通过管道( |&…

单片机设计_自行车码表(AT89C51, LCD1602, DS1302,霍尔传感器)

想要更多项目私wo!!! 一、电路设计 系统采用51单片机LCD1602液晶DS1302时钟模块霍尔传感器电机按键模块蜂鸣器报警模块设计而成。 产品自带单片机上电复位电路、手动复位电路(复位按键)、晶振电路(给单片机提供时钟周期)。 …

OpenCV下的无标定校正(stereoRectifyUncalibrated)

OpenCV下的无标定校正(stereoRectifyUncalibrated) 文章目录 1. 杂话2. 无标定校正2.1 先看代码2.2 一点解释2.3 findFundamentalMat参数2.4 stereoRectifyUncalibrated参数 3. 矫正结果 1. 杂话 咱们在之前的帖子里面讲了一些比较常规的标定和校正OpenCV下的单目标定&#xff…

紫外测熔融实验结果温度和abs作折线图和求一阶导最大值

import numpy as np import pandas as pd from pyecharts.charts import Line from pyecharts import options as opts from matplotlib import pyplot as plt import xlrd # 读取 csv 文件 data pd.read_excel(F:/LJX/lc8.xls)# 假设 csv 文件中有两列数据:x 和 y…

iOS——编译链接

编译连接的过程 预处理编译汇编链接 预处理 clang -E main.m -o main.i“#define"删除并展开对应宏定义。处理所有的条件预编译指令。如#if/#ifdef/#else/#endif。”#include/#import"包含的文件递归插入到此处。删除所有的注释"//或/**/"。添加行号和文…

SpringCloud网关的实现原理与使用指南

Spring Cloud网关是一个基于Spring Cloud的微服务网关,它是一个独立的项目,可以对外提供API接口服务,负责请求的转发和路由。本文将介绍Spring Cloud网关的实现原理和使用指南。 一、Spring Cloud网关的实现原理 Spring Cloud网关基于Spring…

在 Windows 上开发.NET MAUI 应用_2.生成你的第一个应用

先决条件 Visual Studio 2022 17.8 或更高版本,并安装了 .NET Multi-platform App UI 工作负载。 可参考上一篇文章:http://t.csdnimg.cn/n38Yy 创建应用 1.启动 Visual Studio 2022。 在开始窗口中,单击“创建新项目”以创建新项目&#…

时间管理计划表怎么做 待办计划时间管理工具

每当夜深人静,我总会坐在书桌前,思考着如何更好地规划明天的时间。那一张张密密麻麻的时间管理计划表,就像是我生活的地图,指引着我前行。我知道,对于每一个在都市丛林中奔波的打工人来说,时间都是最宝贵的…

Java面试(持续更新)

Redis使用场景 缓存穿透 当有该数据的时候,redis中的数据已经是原来数据的null值了,可能会出现不一致的问题。 缓存击穿 跟钱相关的强一致用互斥锁。 用户高体验用逻辑过期。 缓存雪崩 ttl随机值

AI 绘画|Midjourney设计Logo提示词

你是否已经看过许多别人分享的 MJ 咒语,却仍无法按照自己的想法画图?通过学习 MJ 的提示词逻辑后,你将能够更好地理解并创作自己的“咒语”。本文将详细拆解使用 MJ 设计 Logo 的逻辑,让你在阅读后即可轻松上手,制作出…

2.I/O口

文章目录 I/O输出(点灯)分析电路代码编写 I/O输入(电平检测)代码编写 I/O内部电路分析51单片机STM32单片机输入输出 I/O输出(点灯) 分析电路 看电路图,元器件形成电压差,即可点亮LED灯 代码编写 使用不同操作进行LED控制 #include "reg52.h&quo…

怎么查看一个网站的ip地址?

1、使用nslookup nslookup 是一个网络诊断工具,用于查询域名系统(DNS)记录,将域名解析为IP地址,或者查询其他DNS记录类型,如MX(邮件交换记录)、CNAME(别名记录&#xff…

QT--控件篇四

一、对话框 在软件开发中,对话框(Dialog)是一种常见的用户界面元素,用于与用户进行交互和获取信息。它通常以模态或非模态的形式出现,模态对话框会阻止用户与应用程序的其他部分交互,直到对话框关闭为止&a…

8月贵阳学术会议:第二届机器人与软件工程前沿国际会议(FRSE 2024)

随着科技的飞速发展,机器人与软件工程作为两大前沿领域,正在不断地推动着人类社会的进步。在这样的背景下,第二届机器人与软件工程前沿国际会议(FRSE 2024)的召开,无疑为专家学者们提供了一个交流与合作的宝…

C4D各版本软件下载+自学C4D 从入门到精通【学习视频教程全集】+【素材笔记】

下载链接: 迅雷网盘https://pan.xunlei.com/s/VO1tydOxEo-Az_QCM-Jz2R4RA1?pwdvxg4# 夸克网盘https://pan.quark.cn/s/fe7450b02d80 百度网盘https://pan.baidu.com/s/1Omj4WL93F1DNdA2iP4SiMQ?pwdwmb8

Linux 下 redis 集群部署

目录 1. redis下载 2. 环境准备 3. redis部署 3.1 修改系统配置文件 3.2 开放端口 3.3 安装 redis 3.4 验证 本文将以三台服务器为例,介绍在 linux 系统下redis的部署方式。 1. redis下载 下载地址:Index of /releases/ 选择需要的介质下载&am…

【UDS刷写章节】

目录 一、UDS刷写的两种方式: 1.1普通刷写原理: 1.2强制刷写: 二、刷写流程图 2.1 刷写前(设置刷写网络) 2.1.1 切换到扩展模式(10 03) 2.1.2 检查刷写前提条件(31 01 XX XX) 2.1.3 停用故障码存储功能(85 02) 2.1.4 停止发送一般通…

3.Kafka生产者api实践

目录 概述实践代码命令行消费端代码 效果代码优化 概述 生产者API使用实践 官网:producerapi 实践 代码 命令行消费端 代码 public class KafkaProducerApp {public static void main(String[] args) {Properties props new Properties();props.put("boot…

【数据结构】探索排序的奥秘

若有不懂地方,可查阅我之前文章哦! 个人主页:小八哥向前冲~_csdn博客 所属专栏:数据结构_专栏 目录 排序的概念 几种排序方法介绍 冒泡排序 选择排序 插入排序 堆排序 向上调整建堆排序 向下调整建堆排序 希尔排序 快速…

CPU指令仿真模拟器设计

整体设计 模拟器软件可被细分为多个关键模块,包括但不限于:程序指令序列执行器模块,内存模拟模块,寄存器模拟模块,反汇编模块,以及一套详尽的调试模块(包含单步执行、连续运行、暂停以及断点设置…