AdGuard除了使用内置过滤器,还可以通过用户规则处理特定网站中没有被默认规则覆盖的广告、弹窗和页面元素。AdGuard怎么设置自定义过滤规则,AdGuard自定义规则添加后广告仍然显示如何排查,重点是先判断广告属于网络请求还是网页元素,再选择对应规则类型。规则已经保存却没有效果时,则要继续检查匹配范围、白名单、HTTPS过滤以及页面结构是否发生变化。
一、AdGuard怎么设置自定义过滤规则
不同平台的AdGuard界面略有差异,但自定义规则通常都保存在【用户规则】中。规则越具体,对其他网站造成误拦截的概率越低,因此建议先针对单个网站测试。
1、在用户规则中手动添加
①打开AdGuard设置,进入【广告拦截】或【过滤器】相关页面。
②找到【用户规则】,确认当前功能已经启用。
③点击【添加规则】或进入规则编辑区域。
④输入需要使用的过滤规则,每条规则单独占一行。
⑤保存以后重新加载目标网页,检查广告是否消失。
需要直接阻止某个广告域名请求时,可以使用类似【||ads.example.com^】的网络过滤规则。如果只需要隐藏页面上的某个广告容器,则应使用元素隐藏规则,而不是直接拦截整个网站域名。
2、针对网页元素建立隐藏规则
网页中已经加载出来的广告模块、悬浮横幅和空白广告位,更适合按照页面元素进行处理。
①打开存在广告的网页,使用AdGuard提供的【拦截此页面上的广告】或元素选择功能。
②移动鼠标选择需要隐藏的广告区域。
③调整选区,避免同时选中正文、按钮或其他正常页面内容。
④确认生成的规则作用范围只针对当前网站。
⑤保存规则并刷新网页,再观察相同位置是否继续出现广告。
手动编写时,常见元素隐藏形式可以写成【example.com##.ad-banner】。其中前面的域名用于限制生效网站,后面的选择器用于指定真正需要隐藏的页面元素。
3、根据需要限制规则生效范围
过于宽泛的规则可能导致其他页面显示异常,因此要尽量增加作用范围。
①规则只针对一个网站时,在规则中增加对应【域名限制】。
②只需要阻止图片、脚本等特定请求时,再增加对应的【资源类型】限制。
③发现某个子域名不应该应用该规则时,为它增加排除条件。
④修改后分别测试目标页面和正常页面。
⑤确认没有误拦截后再长期保留规则。
二、AdGuard自定义规则添加后广告仍然显示如何排查
规则保存成功并不代表一定能够命中广告。网页广告可能通过第三方请求加载,也可能直接写入页面结构,甚至在页面运行脚本后动态生成,因此首先要确认规则拦截的对象是否正确。
1、先检查规则有没有真正匹配
①打开AdGuard的【过滤日志】。
②刷新存在广告的页面,让相关网络请求重新出现。
③在日志中根据域名、请求地址或资源类型寻找广告请求。
④检查自己添加的规则是否显示为【已应用】。
⑤完全没有命中时,根据真实请求地址重新调整规则。
如果广告实际从【cdn.example.com】加载,而规则拦截的是另一个广告域名,无论刷新多少次都不会产生效果。通过过滤日志确认真实请求,比单纯猜测广告地址更准确。
2、检查网站是否被放行
①进入AdGuard的【白名单】设置。
②搜索当前网站域名,确认它没有被加入放行列表。
③检查浏览器中的AdGuard状态,确认当前页面没有设置为【暂停保护】。
④如果使用多个AdGuard配置,确认当前启用的是包含该用户规则的配置。
⑤恢复过滤后刷新页面重新测试。
网站进入白名单后,普通过滤规则可能不会继续应用。因此出现“其他网站正常,只有这个网站规则无效”时,应优先检查这一项。
3、检查HTTPS过滤状态
桌面版AdGuard需要处理HTTPS页面内容时,HTTPS过滤状态会直接影响部分规则能否正常工作。
①打开AdGuard的【网络】设置。
②确认【HTTPS过滤】已经启用。
③检查目标网站是否位于【HTTPS过滤排除项】中。
④如果该网站被排除,根据实际需求重新调整过滤范围。
⑤关闭并重新打开网页,再测试自定义规则。
如果只能看到连接域名,却无法正常处理加密页面中的具体内容,部分精细网络规则和页面处理能力可能无法达到预期。
三、规则能够命中但广告仍存在怎么继续处理
过滤日志已经确认请求被阻止,但网页上仍然保留广告区域时,通常说明网络广告和页面显示是两个不同层面的问题。
1、广告被拦截但仍留下空白区域
①确认过滤日志中的广告请求已经显示为【已拦截】。
②重新使用页面元素选择工具定位剩余的广告容器。
③为该容器单独建立【元素隐藏规则】。
④刷新网页检查空白区域是否消失。
⑤如果正文位置也发生变化,缩小选择范围后重新生成规则。
网络规则负责阻止内容加载,元素隐藏规则负责处理页面上留下的广告框、占位区域和提示文字,两类规则可以配合使用。
2、网站更新后原规则突然失效
①重新检查广告元素的类名、ID或请求地址是否发生变化。
②旧规则使用随机变化的类名时,不要继续依赖完整类名匹配。
③寻找相对稳定的父级结构、属性或域名重新建立规则。
④删除确认已经失效的旧规则,避免多条规则互相干扰。
⑤重新加载页面并检查正常内容是否受到影响。
总结
自定义过滤规则的效果取决于规则对象与实际广告加载方式是否匹配,因此同样是“广告没有被拦截”,背后的原因可能完全不同。AdGuard怎么设置自定义过滤规则,AdGuard自定义规则添加后广告仍然显示如何排查,实际使用中更适合先判断广告来自网络请求还是页面元素,再针对真实加载方式建立规则,同时注意避免过度过滤影响网站正常功能。希望本文对大家使用AdGuard处理特定网站广告有所帮助,如需进一步了解AdGuard自定义过滤规则设置与规则不生效问题排查,欢迎联系咨询。