WordPress plugin // version 1.2.6

WordPress anti-adblock plugin: detect ad blockers and ask readers to allow ads

AntiAdBlockCore – AdBlock Recovery is AntiAdBlock Core's official, free WordPress plugin. Install it from WordPress.org, connect your site and approve a security code: the plugin verifies your domain and adds the detection script to every page with no code to paste; with first-party delivery, once your DNS record is active. Readers with an ad blocker see a wall asking them to allow ads.

Free plan: 5,000 detections a month for one site. No payment method.

Prefer a file? Download the .zip from WordPress.org

The plugin

Version
1.2.6
Updated
10 Nov 2026
Requires
WordPress 6.3+ · PHP 7.4+
Tested up to
WordPress 7.1
License
GPLv2 or later
AntiAdBlock Core settings page in WordPress: the overview with site, account, delivery and status, the ad block protection switch and the installation check

Installation check

  1. Home page /, Script present
  2. 10 things to do in Lisbon /10-things-to-do-in-lisbon/, Script present
  3. What to pack for a week in Japan /japan-packing-list/, Script present
  4. About us /about/, Script present
  5. /checkout/, Excluded, no script (as expected)

4 of 4 pages have the script.

Overview, protection switch and installation check, in WordPress.

How to install the plugin and connect your site

Four steps, starting in your WordPress admin. No developer, no theme files, no tag manager; first-party delivery adds one DNS record.

  1. Install and activate

    In Plugins › Add Plugin (Add New on older versions), search for AntiAdBlockCore, install it and activate it. Activating sends nothing to AntiAdBlock Core.

  2. Click connect

    In Settings › AntiAdBlock Core, click “Click here to connect your AntiAdBlock Core account”. A new tab opens, where you sign in or create your free account.

  3. Approve the code

    The approval page shows your domain, your site name and a security code. Check that the code matches the one in WordPress. If the site is new to your account, keep first-party delivery (preselected) or choose third-party, then click Connect. The request stays open for 30 minutes.

  4. The plugin verifies your domain

    Back in WordPress, the plugin verifies your domain and adds the script to every page: with third-party delivery once the domain is verified, with first-party once your DNS record is active.

In WordPress

Connect your AntiAdBlock Core account

Security code

K7QM-RW4P

Waiting for your approval…, Connected

Status: Setup pending

In AntiAdBlock Core

Domain
example.com
Site
Example Blog
Delivery
First-party, selected, Third-party

Security code

K7QM-RW4P

Connect

Same code on both screens

What you see inside WordPress

The settings page shows where your site stands and what is missing.

  • Overview. Site, account, delivery mode and status, with a Check button that re-checks everything.
  • Installation check. Opens your home page and your latest posts and pages as an anonymous visitor and checks whether the script is on each one, and that excluded pages stay without it.
  • This month. Ad blockers detected and recoveries, matching your dashboard, next to your plan and the detections used.
The plugin while connecting: the button that opens AntiAdBlock Core, the security code and the line waiting for approval
  1. The button that opens AntiAdBlock Core
  2. The security code to check
  3. Waiting for your approval
Connecting: the plugin waits for your approval.
The plugin's overview: site, account, delivery and status, the ad block protection switch and the installation check with its results
  1. Overview: site, account, delivery and status
  2. Ad block protection switch
  3. Installation check, page by page
Overview and installation check.
The plugin's settings: delivery mode, insertion, logged-in users and the pages where the script does not run
  1. Delivery mode: first-party or third-party
  2. Insertion and your team
  3. Pages where the script does not run
Delivery, insertion, team and excluded pages.
The plugin's manual code block: a note to add the script to your template by hand, the first-party code with a Copy code button and three steps
  1. Not seeing the script? Add it to your template by hand
  2. The exact tag for your delivery mode, with Copy code
  3. Paste it, set Insertion to Manual, purge your cache
Manual code: the exact tag, for templates where the plugin cannot add it.

Exclusions, your team and manual code

  • Protection switch. Turns the script off on this WordPress while the site stays connected.
  • Your team. By default the script does not load for logged-in users who can edit posts, so your team never sees the notice and their visits stay out of your stats.
  • Exclusions. One rule per line, a path such as /checkout/ or a page slug, up to 100 rules. AMP pages, feeds and previews are always skipped.
  • Manual code. Headless front end or a builder that serves its own HTML? “Get code” gives you the exact tag for your delivery mode; switch insertion to manual and the plugin stops adding it. More on where the script goes on WordPress.

Ad block protection Loads the script on every page of this WordPress except the excluded ones.

Do not run on these pages

/checkout/ sample-page

One per line: a path prefix or a page slug.

Your pages

  • /
  • /checkout/ excluded
  • /japan-packing-list/
  • /sample-page/ excluded
  • /about/

A plugin connected to a maintained service, not a fixed script

AntiAdBlockCore does not bundle the detection script: your pages load it from the service, where our multi-signal engine is kept current, so changes reach your site without a plugin update. A plugin that carries its detection inside its own files stays as it was until its author ships an update and you install it.

As an adblock detector, it detects AdBlock, AdBlock Plus, uBlock Origin, uBlock Origin Lite, AdGuard, Ghostery and Brave Shields on desktop and mobile, with a stated 99.7% precision, plus network-level blocking such as Pi-hole, counted separately.

The notice shows in desktop and mobile browsers and works with AdSense, Ad Manager, Mediavine, Ezoic or any other network, because AntiAdBlock Core serves no ads. Why WordPress sites with ads need it: anti-adblock for WordPress sites.

Over time

Today Filter lists change

Plugin with a fixed script

Not detecting

AntiAdBlockCore

Engine kept current on the service

Next plugin update

First-party delivery from your own subdomain

Filter lists keep adding rules against third-party detection scripts, and every rule means visitors you no longer detect. First-party delivery keeps the script inside your own domain, for maximum detection. It is preselected when you connect and included in every plan.

  1. Create one record. The plugin shows a single CNAME record with copy buttons. You add it at your DNS provider; the plugin never changes your DNS. On Cloudflare, set it to DNS only (grey cloud).
  2. We check it. Once the record is visible, we verify it and issue the certificate.
  3. Served from your subdomain. The plugin switches the tag by itself and purges the page caches it supports. It also checks the record about once an hour on its own.

DNS changes usually show up within minutes, sometimes up to an hour. Until the record is active, a site that started on first-party serves no script; switching to third-party is immediate, and you can switch back at any time.

One DNS record // example values

Type
CNAME
Name
k7q2m
Target
the target shown in your plugin
  1. Create the record At your DNS provider
  2. Certificate issued On our side
  3. Served from your subdomain On your pages

On Cloudflare: not Proxied → DNS only

Works with your theme, cache and CDN

The plugin keeps its script out of the JavaScript optimization of the plugins below (minify, defer or delay, depending on the plugin) and purges the page caches it supports when you connect, save its settings, switch delivery or disconnect. With any other cache, purge it after changes; on a CDN such as Cloudflare, purge its cache after changes too. Themes that skip wp_head() still get the script, and Cloudflare Rocket Loader leaves it alone.

The script loads asynchronously, has no dependencies and never blocks your page from rendering. If our servers do not answer, it does nothing and your site works as usual.

Caching plugins and hosts
Plugin or hostScript excluded from its JavaScript optimizationPage cache purged
WP RocketYesYes
LiteSpeed CacheYesYes
W3 Total CacheYesYes
AutoptimizeYespurge it yourself
SiteGround OptimizerYesYes
PerfmattersYespurge it yourself
Flying PressYespurge it yourself
WP Super CacheNo settingYes
WP EngineNo settingYes

A dash: our plugin adds no exclusion there and only purges that cache. AMP pages and feeds are skipped automatically.

What the plugin sends, and when

  1. When you activate it: nothing.
  2. When you click connect: your site address and name, the WordPress, PHP and plugin versions, your admin language and basic install details (multisite, subfolder, environment).
  3. While you approve: an internal code every few seconds, for 30 minutes at most.
  4. While connected: it reads your site's status when you open its settings and about once an hour, server to server over HTTPS, so the script address and your quota stay current.
  5. On your pages: for each page a visitor opens, the script reports whether an ad blocker was detected and which kind, the page path, the browser type and the country derived from the IP address.
  6. When you disconnect or delete it: a request to revoke its access.

Never sent: your users, their emails, your content

No tracking cookies, no fingerprinting, no visitor identifiers: your statistics are daily totals per site. In the browser, the script keeps a few timestamps with no identifier, for 30 days at most, which you can list in your cookie notice, and the plugin adds a suggested text to WordPress's privacy guide. AntiAdBlock Core is designed for GDPR.

The connection token only works for that site and never appears in your pages; we keep only its hash. Privacy policy · Terms of service

Free plugin, free plan, flat prices after that

The plugin is free and GPL-licensed. The Free plan includes 5,000 detections a month for one site, with no payment method and no end date. A detection is a page view where an ad blocker is found; page views without one never count. Paid plans start at $5 a month and add detections, sites and, from Pro, notice customization.

Detections a month

  1. Free

    5,000 detections · free · one site

  2. Pro

    100,000 detections · $5 a month · 2 sites

  3. Max

    1,500,000 detections · $12.99 a month · 3 sites

  4. Business

    5,000,000 detections · $29.99 a month · 5 sites

Bars on a log scale. Page views without an ad blocker never count.

Who builds and maintains the plugin

We do. AntiAdBlockCore – AdBlock Recovery is written and maintained by the AntiAdBlock Core team, the same team that runs the service it connects to. It has been in the WordPress.org directory since 20 September 2026; version 1.2.6 came out on 10 November 2026 and is tested up to WordPress 7.1. The code is GPL and readable on WordPress.org.

Releases on WordPress.org

  1. Listed on WordPress.org 1.1.1, the first public release
  2. 1.1.2 Cache exclusions cover your first-party subdomain
  3. 1.2.6 Recoveries in the monthly summary

WordPress anti-adblock plugin: questions

Do I need a paid plan to use the plugin?

No. The plugin is free, and so is the Free plan it connects to: 5,000 detections a month for one site, with no payment method and no end date. The plugin code is the same on every plan. Paid plans start at $5 a month, and you manage them in your AntiAdBlock Core dashboard, not in WordPress.

Does it work with WP Rocket, LiteSpeed Cache and Cloudflare?

Yes. The plugin keeps its script out of the JavaScript optimization of WP Rocket, LiteSpeed Cache, W3 Total Cache, Autoptimize, SiteGround Optimizer, Perfmatters and Flying Press, and purges the page cache of WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, SiteGround Optimizer and WP Engine (not Perfmatters or Flying Press). Cloudflare Rocket Loader leaves the script alone, but Cloudflare's own cache is yours to purge after changes. For first-party delivery, set the DNS record to DNS only.

Why don't I see the notice on my own site?

By default the script does not load for logged-in users who can edit posts, so your team never sees the notice and their visits stay out of the stats. Log out or open your site in a private window with an ad blocker on, or turn that setting off. The installation check always visits your pages anonymously. If you chose first-party delivery, the script starts once your DNS record is active; until then the plugin's overview shows Setup pending.

What data does the plugin send to AntiAdBlock Core?

Nothing until you click connect. Then it sends your site address and name, the WordPress, PHP and plugin versions, your admin language and basic install details, and afterwards reads your site's status about once an hour. It never sends your users, their emails or your content, and your statistics are daily totals per site. On your pages, the script reports whether an ad blocker was detected and which kind, the page path, the browser type and the country, with no visitor identifiers.

Can I use it on multisite or on WordPress installed in a subfolder?

Yes. On multisite, each site connects from its own Settings page; there is no network-wide screen. On a subdirectory network, all sites share one domain, so they count as one site in your account. If WordPress lives in a subfolder, such as example.com/blog, the settings page shows a one-time manual verification step, or the first-party DNS record verifies the domain instead. Local sites, such as localhost, IP addresses or .local and .test addresses, can't be connected.

How is it different from AdSense ad blocking recovery in Site Kit?

Site Kit adds Google's ad blocking recovery tag, for a message you build in AdSense. Google's Ad Manager help says those messages only appear in desktop browsers (checked 11 Oct 2026). The AntiAdBlock Core notice shows on desktop and mobile and works with any ad network. We recommend showing only ours, so readers never get two requests. Details in AdSense ad blocking recovery compared.

What happens if I disconnect or uninstall the plugin?

Disconnect, in the plugin's settings, revokes its access, removes the script and the verification tag from your pages and purges the page caches it supports; the site and its statistics stay in your account. Deactivating removes the script from your pages but keeps the connection, so reactivating needs no new approval. Deleting the plugin also revokes its access and removes all of its settings.

Install the plugin and see your own numbers

In your WordPress: Plugins › Add Plugin › AntiAdBlockCore

Install it from WordPress.org; the plugin walks you through connecting your site.

Free plan · no payment method