AntiAdBlockCore – AdBlock Recovery

Description

Recover the ad revenue that ad blockers take from your site

A growing share of your visitors browse with an ad blocker. They read your content, but your ads never load, so every one of those page views earns you nothing. AntiAdBlockCore detects ad blockers on your WordPress site and shows those visitors a customizable anti-adblock message asking them to allow ads. Visitors who whitelist your site start seeing ads again, and you get that revenue back.

Free plan, no payment method needed. Works with any theme and with WP Rocket, LiteSpeed Cache and W3 Total Cache: the script is kept out of their JavaScript optimization and their page cache is purged for you when something changes.

It is built for publishers, bloggers and media sites that live on advertising: news, recipes, tutorials, downloads, streaming, forums or any site monetized with Google AdSense, Google Ad Manager or another ad network.

Up and running in minutes, no code to paste

  1. Install and activate the plugin.
  2. In Settings > AntiAdBlock Core, click Click here to connect your AntiAdBlock Core account. Sign in or create your free account (no payment method needed), check the security code and approve.
  3. The plugin verifies your domain and the detection script goes live on every page. With first-party delivery, the default, the script starts once your CNAME record is active.

No snippets to copy, no theme files to edit. The plugin adds the script to every page whatever your theme, and a built-in installation check confirms it is really there.

Ad blocker detection that keeps working

  • Detects the ad blockers your visitors actually use: browser extensions such as uBlock Origin, AdBlock, AdBlock Plus and AdGuard, browsers with built-in blocking such as Brave, and network-level blockers.
  • Built to avoid false positives: visitors without an ad blocker are left alone.
  • Always up to date: detection is maintained on the service side, so it keeps up when ad blockers change, without plugin updates.
  • First-party delivery: serve the script from a subdomain of your own site with a single CNAME record, so delivery stays first-party and more reliable. The plugin walks you through the record step by step (including the Cloudflare grey-cloud setting) and switches over by itself when it is active. Prefer to keep it simple? Third-party delivery works too, and you can switch at any time.

An anti-adblock message that converts

  • A clear notice that explains why ads matter to your site. By default it works as an adblock wall: visitors allow ads on your site to keep reading, with step-by-step instructions for their ad blocker and a button that checks again right away.
  • The built-in text is in English or Spanish, following the visitor’s browser.
  • Customize the message, colors, logo and look from your dashboard, depending on your plan, and preview it without installing an ad blocker.
  • Show the message (recovery) or, on eligible plans, run in detection-only mode, and exclude any page or path, such as checkout or privacy pages.

Measure what you recover

  • Ad blocker rate, detections and recoveries, per site.
  • Pages, countries, browsers and ad blocker types in the dashboard (detailed analytics on the Max and Business plans).
  • A monthly summary right on the plugin’s settings page.

Everything under control from WordPress

  • Overview: site, account, delivery mode and status at a glance, with a Check button and a link to the step-by-step guide.
  • Protection switch: turn ad block protection on or off on this WordPress.
  • Installation check: opens your home page and your latest posts and pages as an anonymous visitor and confirms the script is on each one, and off the pages you excluded.
  • Logged-in users who can edit posts are skipped by default (contributors, authors, editors and administrators), so your team never sees the message and their visits stay out of the stats.
  • Manual code option for headless front ends or builders that serve their own HTML.

Works with your stack

  • Any theme, including themes that do not call wp_head().
  • Caching and optimization plugins: WP Rocket, LiteSpeed Cache, Autoptimize, SiteGround Optimizer, Perfmatters, Flying Press and W3 Total Cache. The script is excluded from their JavaScript optimization (minification, deferral or delay). When something changes, the plugin purges the page cache of WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, SiteGround Optimizer and WP Engine.
  • Cloudflare, including Rocket Loader.
  • AMP pages and feeds are skipped automatically.
  • Multisite: each site connects on its own.

Plans

The free plan includes 5,000 detections per month (a detection is a page view where an ad blocker is detected; page views without one never count), no payment method required. Paid plans add more detections and sites; Max and Business also add full customization of the message and detailed analytics. Plans are managed in your AntiAdBlock Core dashboard, never inside WordPress: the plugin code is complete and the same for every plan.

Third-party service

This plugin relies on the AntiAdBlock Core service (https://antiadblockcore.com), a software-as-a-service run by the plugin authors. It is required for the plugin to work.

  • When you connect: nothing is sent until you click the connect button. Then the plugin sends your site address and name, the WordPress, PHP and plugin versions, your admin language and whether the site is a multisite, a subfolder install or a non-production environment to https://antiadblockcore.com. It receives a token limited to this site, used to read the site’s status, usage and plan and to verify your domain. No user accounts, emails or content of your site are ever sent.
  • In the background: while connected, the plugin reads that status once an hour so the script address, the verification state and your quota stay current. It stops when you disconnect.
  • On your pages: once the domain is verified, your pages load the detection script from antiadblockcore.com or, with first-party delivery, from a subdomain of your own domain that points to the same service (you create that DNS record yourself; nothing is changed for you). For each page view the script reports whether an ad blocker was detected and which kind, the page path, the browser type and the country derived from the visitor’s IP address. The IP address is used in transit to derive the country and to protect the service; it is not stored in the statistics and is deleted from the service’s server access logs after 14 days. To count recoveries correctly, the script keeps a few small first-party entries on your own domain: in the browser’s local or session storage and, when your site spans several subdomains, in a first-party cookie on your domain. They hold when an ad blocker was last seen and which kind, a few flags for the current visit (such as the page and whether the message was closed) and, for up to 24 hours, reports that could not be sent yet. They contain no identifier of the visitor, are not used for advertising, profiling or tracking across sites, and are ignored after 30 days; the cookie expires then. Describe them in your privacy or cookie policy and decide, under the rules that apply to you, whether your consent tool should cover them.
  • Credit: the message shown to visitors who have an ad blocker carries a small “powered by AntiAdBlock Core” link. It appears only inside that message, only for visitors with an ad blocker, and higher plans can switch it off.
  • Terms of service: https://antiadblockcore.com/terms
  • Privacy policy: https://antiadblockcore.com/privacy

The detection script is loaded from the service and is not bundled in this plugin; the plugin code itself is fully readable.

Screenshots

Installation

  1. Install the plugin from the Plugins screen (search for AntiAdBlockCore) or upload it to /wp-content/plugins/antiadblockcore.
  2. Activate it.
  3. Go to Settings > AntiAdBlock Core and click Click here to connect your AntiAdBlock Core account. AntiAdBlock Core opens in a new tab.
  4. Sign in or create your free account, check that the security code matches and click Connect. Choose first-party (recommended) or third-party delivery.
  5. Back in WordPress, the plugin verifies your domain and the script goes live. With first-party delivery, create the DNS record shown in the setup steps; the plugin switches over by itself once it is active.

If your WordPress lives in a subfolder of the domain (for example example.com/blog), the settings page shows a one-time manual verification step. First-party delivery covers that case too: the DNS record verifies the domain without touching any file.

FAQ

Is it free?

Yes, there is a free plan for one site with 5,000 detections per month and no payment method required. A detection is a page view where an ad blocker is detected; page views without one never count. Paid plans add detections and sites; Max and Business also add full message customization and detailed analytics.

Do I need to paste any code?

No. The plugin adds the script to every page for you, whatever your theme. A Get code option is there only for setups that bypass WordPress, such as headless front ends.

Will it slow down my site?

The script loads asynchronously, so it never blocks your page from rendering, and it is excluded from the common caching and optimization plugins so they do not break it.

Why do I not see the message on my own site?

Logged-in users who can edit posts (contributors, authors, editors and administrators) are skipped by default. Log out or open your site in a private window with an ad blocker on. You can change this in the plugin settings.

What is first-party delivery, and do I have to use it?

It serves the script from a subdomain of your own site instead of antiadblockcore.com, which keeps it first-party for ad blockers and keeps detection at its strongest. It takes one DNS record, shown with copy buttons and step-by-step status. It is optional: third-party delivery works out of the box and you can switch at any time from the plugin. If the record is not created in time, the reserved subdomain is released and the plugin offers to reserve it again.

I created the DNS record. What now?

Nothing else. Press Check to verify it right away, or leave it: the plugin checks every hour and switches over by itself. On Cloudflare, set the record to “DNS only” (grey cloud).

How do I know the script is on my pages?

Use Check pages in the Ad block protection section. It opens your home page and your latest posts and pages as an anonymous visitor and tells you, page by page, whether the script is there. If a page misses it, purge your page cache and check again.

Does it work with my caching plugin?

Yes. The script is excluded from the JavaScript optimization of WP Rocket, LiteSpeed Cache, Autoptimize, SiteGround Optimizer, Perfmatters, Flying Press and W3 Total Cache. When you connect or change settings, the plugin purges the page cache of WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, SiteGround Optimizer and WP Engine. With any other cache, such as Flying Press or a CDN, purge it yourself after changes.

What happens if my plan has no room for another site?

The approval page and the plugin both tell you that you have reached the site limit of your account, with a button to upgrade or manage your sites. The connection request stays valid for 30 minutes.

Can I pause it or exclude pages?

Yes. Turn off the Ad block protection switch to stop the script on this WordPress, or list the paths and page slugs to exclude in the settings. AMP pages and feeds are always skipped.

What data does the plugin send?

Only what is described under “Third-party service”: your site address and name, software versions, admin language and basic install details when you connect, and afterwards the site status. The detection script does not read personal data from your pages; see “Third-party service” for what it reports and for the small entries it keeps in the visitor’s browser, with no identifier and for 30 days at most.

Can I disconnect?

Yes. Disconnect in the plugin settings and the script stops right away. If you disconnect this WordPress from your AntiAdBlock Core dashboard instead, it stops at the plugin’s next hourly check, or when its settings page is opened. Either way the site and its statistics stay in your account, and a tag pasted into your theme by hand has to be removed there.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“AntiAdBlockCore – AdBlock Recovery” is open source software. The following people have contributed to this plugin.

Contributors

“AntiAdBlockCore – AdBlock Recovery” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “AntiAdBlockCore – AdBlock Recovery” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.1.5

  • Settings page: the caching note now separates the plugins that keep the script out of their JavaScript optimization from the page caches the plugin purges for you. Purge any other cache, such as Flying Press or a CDN, yourself after changes.
  • Removed a call to an Autoptimize function that no longer exists. The script is still excluded from Autoptimize’s JavaScript optimization.
  • Clearer wording on who is skipped by default: every logged-in user who can edit posts (contributors, authors, editors and administrators), as the plugin already did.

1.1.4

  • Disconnecting this WordPress from your AntiAdBlock Core dashboard now stops the script and the verification tag on your pages at the plugin’s next hourly check (or when its settings page is opened), until you reconnect, and purges the page caches it supports. A tag pasted into the theme by hand has to be removed there. Disconnecting a copy of the site, such as a staging site, or changing your password does not stop it.
  • Clearer wording on the connect screen (no payment method needed), in the suggested privacy policy text and in this readme.

1.1.3

  • The monthly summary on the settings page now shows Recoveries, the same figure as your AntiAdBlock Core dashboard.
  • First-party setup: the DNS step appears once the service has sent the record to create.
  • Readme wording updated.

1.1.2

  • Fix: with first-party delivery, the exclusion entries the plugin adds to caching and optimization plugins now match your whole first-party subdomain. The first-party script address changed and the previous entry no longer matched it.

1.1.1

  • First public release on WordPress.org.
  • One-click connection: the button opens the approval page in a new tab, with numbered steps, a security code to check and a clear notice (with an upgrade link) when the plan has no room for another site.
  • Settings page in sections: overview (site, account, delivery, status), first-party setup steps, protection switch, installation check, monthly summary, shortcuts and settings.
  • First-party or third-party delivery, switchable from the plugin; guided DNS steps with a Check button.
  • Installation check across the home page, latest posts and pages, and excluded pages.
  • Script added to every page whatever the theme, including themes without wp_head().
  • Cache and optimization plugin compatibility. Translation ready.
  • A clear notice when the first-party subdomain reserved for the site expires, with a button to reserve it again.
  • The readme and the suggested privacy policy text describe the small first-party entry the script keeps in the visitor’s browser.