generalredneck / ga-referrer-spam-filters
一个快速脚本,用于设置和更新Google Analytics过滤器,以阻止通过测量协议系统添加虚假分析的引用垃圾机器人。
Requires
- google/apiclient: ~1.0
- symfony/config: ~2.8
- symfony/console: ~2.8
- symfony/yaml: ~2.8
README

一个控制台脚本,用于在您的Google Analytics账户上创建过滤器,以便您可以过滤掉所有那些不受欢迎的引用垃圾机器人。
此脚本通过您针对分析账户创建的API项目进行连接。
该脚本使用Symfony2的Console组件构建,并提供了一些命令来帮助您。
安装
此项目需要PHP 5。它尚未用PHP 7进行测试。已在Windows 10和Ubuntu 14.04.3 LTS上进行了测试。
手动安装
要从预构建环境中手动安装,请转到稳定下载目录并下载最新稳定版本。之后,将文件解压到您想要存储的位置以便稍后运行。
您还可以从开发下载目录获取最新开发构建。
Composer
安装需要您下载Composer,因为您需要一些随该软件包提供的组件。下载Composer后,只需从命令行运行以下命令。
composer global require generalredneck/ga-referrer-spam-filters "*"
从这里,您需要查看命令的输出以确定您的用户Composer目录的位置。要查找的地方包括
- ~/.composer/vendor/bin/garefspam
- %userprofile%/AppData/Roaming/Composer/vendor/bin/garefspam
将vendor/bin文件夹添加到您的$PATH环境变量中是个好主意。
设置带有访问权限的Google Analytics
在这里,我将向您介绍如何设置带有访问权限的Google Analytics账户,以便您可以配置应用程序以连接到它。这是对Google开发者文档的改编。
-
在Google开发者控制台中创建或选择一个项目,并通过导航到此向导启用API。
-
创建一个新服务账户,并将其命名为ga-referral-spam。
-
从密钥类型中选择P12。
-
点击创建。
-
获取您服务账户列出的电子邮件地址并将其保存到您稍后可以获取的地方。
-
登录您的Google Analytics账户
-
转到“管理”
-
从“账户”下拉列表中选择您希望添加这些过滤器的账户。
-
将之前获取的服务账户电子邮件地址粘贴到“添加权限给:”对话框中。
-
从“读取 & 分析”下拉列表中选择“编辑”。
注意:您实际上是在授予我的应用程序编辑您Google Analytics账户设置的权利,但该应用程序没有修改任何用户的任何权利。
-
点击添加。
配置
有两种配置方法
- config.yml
- 命令行开关
config.yml
如果您始终打算在同一账户上运行此工具,则推荐使用此方法。
注意:请记住,如果您只有一个账户、一个网站属性 ID 和一个视图,则应用程序可以使用您为 API 设置的服务账户和密钥在尽可能少的设置上运行。
只需将 config.yml 文件放入软件包下载的文件夹中,通常是以下之一
- ~/.composer/vendor/generalredneck/ga-referrer-spam-filters
- %userprofile%/AppData/Roaming/Composer/vendor/generalredneck/ga-referrer-spam-filters
您可以复制 config.yml.dist 文件作为 config.yml,但请注意,您可能不需要所有这些项。您必须设置的最重要的是您的 service-email。请参阅 config.yml.dist 了解不同项的详细信息。
开关
当您要处理多个账户、网站属性和/或视图时,使用此形式的配置是最好的。
全局开关如下
-e, --service-email[=SERVICE-EMAIL]
- 用于连接到 Google Analytics 的服务电子邮件-k, --key-location[=KEY-LOCATION]
- 用于连接到 Google Analytics 的 p12 密钥文件
使用 garefspam
获取您可以使用此工具运行的命令列表以及预期开关。以下是一个输出示例
$ garefspam
GA Referrer Spam Filters version 0.3
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-e, --service-email[=SERVICE-EMAIL] The service email to use to connect to Google Analytics [default: "ga-referral-spam@iam.gserviceaccount.com"]
-k, --key-location[=KEY-LOCATION] The p12 key file used to connect to Google Analytics [default: "C:\Users\Allan\workspace\spam\client_secrets.p12"]
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
help Displays help for a command
list Lists commands
listaccounts List Accounts associated with the configured GA user
listproperties List GA Web Property Ids (UA-xxxxxxx-yy) associated with the configured GA account
listviews List GA views associated with the configured GA account and Web Property Id
updategafilters Update the specified Google Analytics view with filters to block referral spam from the domain list file
updatespamlist Update the referrer spam domains list.
用法
配置完成后,您至少需要运行以下 2 个命令
$ garefspam updatespamlist
$ garefspam updatefilters
注意:如果您正在运行 Windows,则除非您在系统上运行 bash,否则请使用 garefspam.bat
。命令和开关与上面相同。例如
garefspam.bat updatespamlist
garefspam.bat updatefilters --service-email ga-referral-spam@iam.gserviceaccount.com
一个示例会话可能如下所示
$ garefspam updatespamlist
+---------+----------------------------------+
| Status | Domain |
+---------+----------------------------------+
| Removed | aftermarket.7zap.com |
| Removed | bmw.afora.ru |
| Removed | forum20.smailik.org |
| Removed | mini.7zap.com |
| Removed | msk.afora.ru |
| Removed | nissan.afora.ru |
| Removed | spb.afora.ru |
| Removed | toyota.7zap.com |
| Removed | наркомания.лечениенаркомании.com |
| Added | 7zap.com |
| Added | for-your.website |
| Added | onlinetvseries.me |
| Added | smailik.org |
| Added | snip.to |
| Added | uptimechecker.com |
| Added | лечениенаркомании.com |
+---------+----------------------------------+
Outputted list to C:\Users\Allan\workspace\spam\spammers.txt
$ garefspam updategafilters
No Account configured, but there is only one account available. Using 33703024:GeneralRedneck.com
No property id configured, but there is only one available. Using UA-33703024-1:GeneralRedneck.com
121 Spam Referral filters already exist.
Updated Filter Spam Referral 002
Updated Filter Spam Referral 003
Updated Filter Spam Referral 013
Updated Filter Spam Referral 014
Updated Filter Spam Referral 015
Updated Filter Spam Referral 016
Updated Filter Spam Referral 017
Updated Filter Spam Referral 018
Updated Filter Spam Referral 039
Updated Filter Spam Referral 040
...
常见问题解答
待定。
致谢
引用垃圾域黑名单的来源是 desbma/referer-spam-domains-blacklist 项目。最终,该项目让我找到了解决方案,它应该完全成为您的基础设施的一部分,以帮助阻止引用机器人进入您的分析和服务器。