ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

防止机器人污染数据:Vanity JavaScript 参与追踪(vanity_js)配置教程

防止机器人污染数据:Vanity JavaScript 参与追踪(vanity_js)配置教程 防止机器人污染数据Vanity JavaScript 参与追踪vanity_js配置教程【免费下载链接】vanityExperiment Driven Development for Ruby项目地址: https://gitcode.com/gh_mirrors/va/vanityVanity 是一款面向 Ruby / Rails 的 A/B 测试框架它的JavaScript 参与追踪vanity_js机制能有效防止机器人污染 A/B 测试数据让实验结论更可信。本教程将手把手教你开启use_js、部署vanity_js回调、配置参与路由并理解内置的 User-Agent 机器人过滤规则一次性把防机器人方案配置到位。机器人污染数据的 3 种常见方式如果你的站点流量中有大量爬虫或蜘蛛它们会以三种方式悄悄破坏 A/B 测试虚增参与者爬虫访问页面时被记为实验参与者稀释真实用户的转化率。制造假转化部分机器人会触发埋点请求让某个版本看起来表现异常。破坏随机性机器人通常集中访问单一版本导致分流失去统计意义。服务器端渲染的参与记录几乎是机器人必中而浏览器端的 JavaScript 回调则只有真正执行脚本的访问才会触发这就是 Vanity 提供vanity_js的核心理由。第一步开启 use_js 参与追踪在 Rails 项目中打开config/application.rb或你的 initializer加入以下配置Vanity.configure do |config| config.use_js true enduse_js默认是false它的含义是通过异步 JavaScript 回调来添加实验参与者相关配置项定义在 configuration.rb 中。注意开启use_js后如果视图中没有引入vanity_js任何参与者都不会被记录实验数据会完全停止增长。第二步在页面中引入 vanity_js将% vanity_js %放到调用ab_test之后的位置。vanity_js需要知道当前用户被分配到了实验的哪个版本因此必须放在ab_test调用之后h2现在只需 % ab_test :price_options % 美元/月/h2 % vanity_js %vanity_js的实现逻辑在 rails.rb如果当前页面没有任何运行中的实验它会什么都不渲染。所以一个省心的做法是把它放在布局layout底部例如app/views/layouts/application.html.erb的/body之前这样所有页面都能自动获得保护。第三步配置 add_participant 回调路由vanity_js生成的脚本会向add_participant_route发送一个异步 POST 请求默认路径是/vanity/add_participant。有两种方式完成配置方式一使用 Dashboard 自带路由最简单# config/routes.rb post /vanity/add_participant vanity#add_participant# app/controllers/vanity_controller.rb class VanityController ApplicationController include Vanity::Rails::AddParticipant end方式二自定义路径Vanity.configure do |config| config.use_js true config.add_participant_route /vanity/participant/new end对应的回调处理逻辑解析实验 ID 与版本、写入参与者位于 rails.rb 的AddParticipant模块。请确保该路由不需要登录鉴权否则浏览器脚本会被拦截。第四步理解内置的机器人过滤规则即使机器人执行了 JavaScriptVanity 仍有一道防线request_filter。默认规则会检查请求的HTTP_USER_AGENT头只要包含bot、crawler、spider或 URL 字样规范的机器人都会在 UA 中留参考链接该请求就会被忽略不参与任何实验。默认实现见 configuration.rb。你也可以自定义过滤规则例如增加特定爬虫名单Vanity.configure do |config| config.request_filter -(request) do ua request.env[HTTP_USER_AGENT].to_s ua.match?(/bot|crawler|spider|bingpreview/i) end end这样即使是执行 JS 的 Googlebot 这类好机器人也会被精准排除而真实用户不受影响。第五步验证配置是否生效配置完成后按以下清单自检config.use_js true已设置布局底部已添加% vanity_js %/vanity/add_participant路由存在且无需鉴权浏览器控制台 Network 面板能看到该 POST 请求返回 200使用 curl 模拟 UA 含bot的请求确认参与者数量不增长完成这些步骤后你的 Vanity A/B 测试将不再被爬虫数据干扰。JavaScript 参与追踪vanity_js就像一个真人验证关卡只有真实用户才会通过异步回调进入实验从而保证转化率、显著性和赢家判断都建立在干净的数据之上。配合 Dashboard 定期查看实验结果你就能放心地依据数据做产品决策了。【免费下载链接】vanityExperiment Driven Development for Ruby项目地址: https://gitcode.com/gh_mirrors/va/vanity创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表