Google Analytics问题:随机目标URL引发大量404错误
关于Google Analytics中怪异404请求的问题解答
Hey there! I’ve dealt with this exact weird spammy 404 issue multiple times for client websites, so let me walk you through what’s going on and how to fix it.
为什么会出现这种情况?
这些指向怪异不存在URL的请求几乎都是**垃圾爬虫(spam crawlers)**搞出来的,不是真实用户的访问行为。这类爬虫的目的通常有两个:
- 要么是扫描网站试图寻找潜在的安全漏洞;
- 要么就是单纯制造无效请求,污染你的分析数据,让你难以准确判断真实用户的访问情况。
它们完全不遵守robots.txt规则,还会生成这种带有乱码前缀(比如/<____________)的路径,专门用来制造大量404记录。
解决方法
1. 在Google Analytics中过滤垃圾请求,净化数据
如果你只是想让GA的数据更准确,不想看到这些无效的404,可以直接在GA里设置过滤规则:
- 进入GA的「Admin」面板,选择你对应的网站视图;
- 找到「Filters」选项,点击「+ Add Filter」创建新过滤器;
- 过滤器类型选择「Exclude」,过滤字段选「Request URI」;
- 在「Filter Pattern」里填入正则表达式:
/<.*(匹配所有以/<开头的请求路径),保存即可。
之后你在GA里就不会再看到这类垃圾404记录了。
2. 配置服务器直接拦截这些请求(推荐)
如果想从根源上阻止这些请求生成404日志,减少服务器资源消耗,可以在服务器层面设置拦截:
如果你用Nginx:
在你的站点配置文件里添加这段规则:
if ($request_uri ~* "^/<.*") { return 444; # 直接关闭连接,不返回任何响应 }
如果你用Apache:
在站点的.htaccess文件中添加:
RewriteEngine On RewriteRule ^<.* - [R=444,L]
这样服务器会直接拒绝这类请求,不会产生404日志,也不会浪费资源处理它们。
3. 补充robots.txt规则(辅助手段)
虽然垃圾爬虫大多不会遵守robots.txt,但可以加上这条规则作为辅助:
Disallow: /<
它能拦住少数还遵守规则的爬虫,聊胜于无。
后续注意
如果之后出现其他类似格式的垃圾请求,只需要更新正则表达式或者服务器规则里的匹配模式就行,比如如果出现/>开头的路径,就把规则里的<换成>或者扩展正则为/&[lg]t;.*。
内容的提问来源于stack exchange,提问作者K Noussis
相关产品推荐
相关产品推荐

