为何Nuxt.js站点的/_nuxt/static/路径会出现在Google Analytics(GA4)中?
异常流量的产生原因
- 路径暴露逻辑:Nuxt 2 静态构建产物默认存放在
/_nuxt/static目录下,Netlify 部署时会将该目录作为公开静态资源目录对外服务,本身就是可公开访问的路径,仅会被爬虫批量扫描命中,正常用户不会主动访问这类资源路径。 - 上报触发逻辑:你配置 vue-gtag 时开启了自动路由跟踪并绑定了 Nuxt 路由器,目前多数爬虫已支持基础客户端 JS 执行,当爬虫直接访问
/_nuxt/static下的资源时,客户端 GA 插件会被正常加载,自动将当前路径作为页面路径上报到 GA4,即产生你观测到的异常流量。
现有配置的缺失点&修复方案
你当前的配置未增加非法路径的拦截和过滤逻辑,按以下步骤修改即可:
1. 调整 vue-gtag 配置,新增上报过滤
修改googleAnalytics.js插件,增加beforePageTrack钩子拦截非法路径上报:
import Vue from "vue"; import VueGtag from "vue-gtag"; export default ({ app }) => { let host = window.location.hostname; if (host != "localhost") { Vue.use( VueGtag, { config: { id: "G-XXXXXXXXXX" }, appName: "SomeName", pageTrackerScreenviewEnabled: true, // 新增路径过滤 beforePageTrack: (page) => { if (page.page_path.startsWith('/_nuxt')) return false return page } }, app.router ); } };
2. 新增全局路由拦截,从根源阻断非法路径加载
新增客户端路由守卫插件routeGuard.js:
export default ({ app }) => { app.router.beforeEach((to, from, next) => { if (to.path.startsWith('/_nuxt')) { next('/404') return } next() }) }
在nuxt.config.js中注册插件:
plugins: [ // 原有GA插件配置保留 { src: "./plugins/googleAnalytics.js", mode: "client" }, // 新增路由守卫插件 { src: "./plugins/routeGuard.js", mode: "client" } ]
3. GA4 后台新增兜底过滤规则
在 GA4 后台「数据设置」-「数据过滤」中新增排除规则,过滤所有路径包含/_nuxt的流量,作为前端配置失效时的兜底手段。
内容的提问来源于stack exchange,提问作者smt
相关产品推荐
相关产品推荐

