Directory / plugin
Warder Cookie Consent – GDPR Cookie Banner
v2.3.2 · by Rhand
Self-hosted GDPR cookie consent banner. Blocks analytics scripts until visitors opt in. No account, no external service, no paid tier.
About this plugin
Warder Cookie Consent puts a consent banner on your WordPress site and holds your analytics scripts until a visitor opts in. Everything runs from your own server: there is no account to create, no external service to call, and no paid tier.
It is built on the open-source CookieConsent v3 library, and adds a WordPress settings screen, cookie defaults for WordPress and WooCommerce, and automatic blocking for scripts that would otherwise set cookies before consent.
Why you might pick this one
- Nothing leaves your server. The plugin makes no external HTTP requests — no CDN, no consent API, no phone-home. The script is served from your own domain.
- No account, no upsell, no expiry. Every feature is in the free plugin. There is no pro tier, no per-domain limit and no trial.
- Small. One deferred script of about 18KB gzipped, plus a little inline CSS for the floating button.
- Opt in, not opt out. Non-necessary categories are unticked until the visitor chooses. That is what GDPR expects, and the plugin will not silently drift to something weaker.
- Scripts are actually blocked. Known cookie-setting scripts are rewritten to
type="text/plain"before the browser can run them, rather than being cleaned up afterwards.
What it does
- A consent banner, and a preferences modal with a toggle per category
- Cookie categories you can add, rename and describe from the settings screen
- A cookie list per category, matched by exact name or by regular expression
- Automatic cookie clearing when a visitor withdraws consent for a category
- A floating cookie button, in any of four corners, so visitors can change their mind later
- Blocking for WooCommerce order attribution, SourceBuster and Slimstat out of the box
- Blocking for any script you mark with
data-category, or register through a filter - Editable banner title, description, button labels and privacy-policy link
- Interface strings in English, Dutch, German, French, Spanish and Italian
- Compatibility with page caching — the settings version is part of the script URL
What ships pre-configured
Strictly Necessary, always on: cc_cookie, wordpress_logged_in_*, wordpress_sec_*, wordpress_test_cookie, wp-settings-*, wp_woocommerce_session_*, woocommerce_cart_hash, woocommerce_items_in_cart, woocommerce_recently_viewed, PHPSESSID.
Performance and Analytics, off until accepted: Google Analytics (_ga*, _gid, _gat), Matomo (_pk_*, mtm_*), SourceBuster (sbjs_*) and Slimstat (slimstat_tracking_code).
What it does not do
Stated plainly, so you can rule it out in thirty seconds rather than after installing:
- No consent log. The visitor’s choice is stored in their own browser, in
cc_cookie. Nothing is written to your database, so there is no proof-of-consent export. - No Google Consent Mode v2 signals.
- No automatic cookie scanner. You list the cookies you want managed.
- No CCPA “Do Not Sell” flow.
- No automatic translation. Six languages ship for the interface strings. The text you write yourself — title, description, button labels, category names — is stored once, in whatever language you type it.
A note on compliance
This plugin gives you the mechanism: blocking before consent, granular categories, a choice the visitor controls, and a way to revisit it. Whether your site is compliant depends on how you configure it and what your site actually loads. It is a tool, not legal advice.
For developers
Hold any script until a category is accepted:
<script type="text/plain" data-category="analytics" src="..."></script>
Or block a script that another plugin registered, by handle:
add_filter( 'warder_blocked_scripts', function ( $scripts ) {
$scripts['my-analytics-handle'] = 'analytics';
return $scripts;
} );
Source Code
This plugin ships no obfuscated or minified-only code. The only compiled asset is dist/cookieconsent.bundle.js, bundled from human-readable source with webpack. Its first lines are a comment banner pointing back to the source. The uncompressed source (src/index.js and webpack.config.js) is included in the plugin download, and the full development repository is public:
https://github.com/imagewize/warder-cookie-consent
src/index.js imports the [vanilla-cookieconsent v3](https://github.com/orestbida/cookieconsent) library. To build from source: run `npm install`, then `npx webpack` (or `npx webpack --watch` during development).