Earn from the time Zero Ad Network subscribers spend on your website. In return, they get your pages without ads, cookie banners or popups.
In short
- Subscribers pay one monthly membership, called Freedom, and use the Zero Ad Network browser extension.
- This plugin recognises them on your website, and cleans up your pages for them. Everyone else sees your website as usual.
- You earn from subscribers' measured time on your website. You don't need a paid membership to take part or to test.
You need a free Zero Ad Network account and your Publisher ID.
What subscribers get
On front-end pages, for verified Freedom subscribers, the plugin:
- removes ads from supported advertising plugins
- removes or hides supported cookie consent banners, marketing popups and newsletter dialogs
- removes matching advertising, consent and marketing scripts from the page HTML
- opens the posts and pages you include, through Paid Memberships Pro or WP-Members
Everyone else keeps your normal website. A missing or invalid membership token never unlocks anything. Existing WordPress membership permissions still apply. Admin, AJAX, REST API and JSON requests are never changed.
The plugin uses WordPress hooks, HTML filtering and CSS. Coverage depends on your theme, plugins and their versions. Check your real pages and scripts: hiding a banner doesn't prove all tracking has stopped.
Include paid content
Skip this if you don't sell access.
- Edit a post or page you want subscribers to read.
- In the Freedom access box, check Include this content with Freedom.
- Save, then clear your page caches.
Offer your base subscription content, or a custom selection. Anything you don't select keeps its restrictions.
- Private, draft, password-protected and other post types are always excluded.
- The plugin doesn't create website memberships, grant purchases or bill anyone.
- Other paywalls and custom paid features need a custom integration. See Custom included access.
An already clean website, with no paywall, doesn't need to include anything.
Supported plugins
The plugin includes rules for these plugins, and more:
- Advertising: Ads For WP, Ad Inserter, Advanced Ads, WP Quads, AdRotate and Google Site Kit's AdSense filters.
- Cookie banners: Cookiebot, Real Cookie Banner, Complianz, CookieYes, Cookie Notice and GDPR by Trew Knowledge.
- Marketing popups: Popup Maker, Popup Maker WP, OptinMonster, MailOptin Lite, Hustle and Thrive Leads.
- Included paid content: Paid Memberships Pro and WP-Members.
These are targeted integrations, not a guarantee for every version or custom placement. The
full compatibility reference lists detection rules and limits, including the unconfirmed Raptive/AdThrive rule and the difference between Convert Pro and Convert Plus.
Page caches and CDNs
Requests carrying Better-Web-Token must reach WordPress. Set every CDN, proxy, server cache and WordPress page cache to skip both cache reads and writes for those requests. Forward the header to WordPress.
Once the plugin runs, it marks those responses private and non-cacheable, even for invalid or empty tokens. The header alone never grants access. The plugin can't change a page that an upstream cache or an early cache drop-in already served.
Open
Zero Ad Network > Page cache setup in WordPress for step-by-step rules. The
page-cache guide has the same rules and a test checklist. If your host can't bypass the cache for token requests, turn off HTML page caching on participating pages.
Earnings
- Earnings follow funded subscriber time and each subscriber's funding preferences. There is no fixed payment per visit or minute.
- Test visits earn nothing.
- View earnings and set up payouts in your Zero Ad Network account. The plugin doesn't collect payments or process payouts.
See
how publisher earnings work for the split, fees and transfer requirements.
You need WordPress 4.9 or newer, PHP 7.2 or newer with the Sodium extension, and an HTTPS website. APCu is optional.
- Install and activate Zero Ad Network from the plugin directory. Or upload the ZIP through Plugins > Add New Plugin > Upload Plugin.
- Sign in or create an account. Copy your Publisher ID from Websites & creators.
- In WordPress, open Zero Ad Network > Settings. Paste your Publisher ID, select Enable Plugin, and save.
- Leave Publisher Header Method set to HTTP Response Header. Choose HTML Meta Tag only if your host requires it.
- If you sell access, include posts and pages with their Freedom access box.
- Set up page-cache bypass, as described above. Then clear all page caches.
- Install the Zero Ad Network browser extension. In Websites & creators, under Ready? Verify your published page, enter a public page address and select Verify & add.
Step 7 checks that your Publisher ID is published. Test the subscriber experience separately, as described in the FAQ.
Your WordPress Address and Site Address must match the public domains you serve. The plugin uses them as its allowed hostnames.
1.0.2
- Updated the bundled Zero Ad Network PHP token SDK to 1.0.1. Subscriber verification behavior is unchanged.
1.0.1
- Updated plugin directory tags and documentation for setup, supported integrations, included content, page-cache configuration, testing, and privacy.
1.0.0
First official stable release. Changes since 0.14.0:
- Updated the WordPress integration to use the stable Zero Ad Network PHP token SDK 1.0.0, with local subscriber verification bound to the request hostname. Invalid, expired, forged, and wrong-host tokens do not unlock subscriber benefits.
- Aligned subscriber benefits with the single Freedom plan and removed the previous per-feature settings. Verified subscribers receive the supported ad, cookie-banner, and marketing-popup suppression rules.
- Added a Freedom access box to the post and page editor. Paid Memberships Pro and WP-Members now grant reading access only to explicitly included published content; private, draft, password-protected, and unselected content stays protected.
- Removed broad paywall and membership overrides. The plugin no longer attempts to grant site memberships or purchases, or remove arbitrary paywall markup. Other paywalls require a custom integration.
- Reworked page-cache handling: requests carrying Better-Web-Token send no-store headers and signal supported page caches to bypass caching, including for empty or invalid tokens. Removed the previous variant-cookie approach. Upstream caches still require explicit bypass configuration.
- Connected verification caching to the SDK's automatic APCu support, with a fallback when APCu is unavailable, and corrected cache TTL unit conversion. Increased the default verification-cache TTL to one hour.
- Fixed plugin callback removal, including static-method callbacks, and refined HTML filtering to preserve unrelated markup and nested content.
- Limited subscriber page modifications to front-end page requests, excluding administration, AJAX, REST, and JSON requests, and fixed JSON content-type detection.
- Redesigned the settings, cache configuration, and About pages with clearer setup status, navigation, and guidance. Updated documentation for supported integrations, publisher earnings, external services, and privacy.
- Added automated regression coverage for token verification, content-access boundaries, cache behavior, settings validation, plugin actions, and administration pages.