KATLA FOR WORDPRESS
A cookie banner that doesn't slow WordPress down.
One plugin. It holds back non-consented scripts on the server, while WordPress is still assembling the HTML — not in the browser after they have already loaded. Any theme, any page builder, and WooCommerce.
WordPress 6.3+PHP 7.4+WP-CLI included
wp-content/plugins/katla-consentNo theme code
1. Install the plugin from the zip and activate it. 2. Paste your Site ID under Settings → Katla Consent, or do the whole thing from WP-CLI: wp plugin activate katla-consent wp katla site-id 00000000-0000-0000-0000-000000000000 wp katla verify 3. Pick a mode — Katla's hosted widget, the plugin's own banner, or your own UI on window.KatlaConsent. 4. Add [katla_policy] to your privacy page.
Every shortcode has a matching Gutenberg blockFull guide →
WHY WORDPRESS SITES STRUGGLE WITH CONSENT
WordPress sites collect plugins, and plugins collect cookies.
THE PROBLEMBlocking a tracker in the browser is a race, and an optimisation plugin that reorders your scripts can decide who wins it.
WITH KATLAThe plugin rewrites blocked scripts to type="text/plain" with a data-katla-src while WordPress builds the page. There is no race to lose.
THE PROBLEMNeutralising a script usually throws away the inline configuration that was attached to it, and the tag comes back misconfigured.
WITH KATLAInline scripts added with wp_add_inline_script are held alongside their handle and replayed in source order once the category is allowed.
THE PROBLEMEvery plugin you add can bring trackers the privacy page has never heard of.
WITH KATLAKatla scans the rendered page, classifies what it finds, and regenerates the cookie and privacy policies from it. [katla_policy] renders them server-side, so they are in the HTML and indexable.
SETUP
Install, scan, done.
- Install the pluginUpload the zip, or drop katla-consent into wp-content/plugins and activate it.
- Connect your sitePaste the Site ID from your Katla dashboard, or run wp katla site-id and wp katla verify.
- Review the scanCookies come back classified and described. Override any call from the dashboard.
- PublishChoose a banner mode, then add [katla_policy] or its block to your privacy page.
BUILT FOR WORDPRESS
What the plugin does for you.
Server-side blockingGate a script by its registered handle, or by a fragment of its URL for the ones a theme injects without registering anything.
Three banner modesKatla's hosted widget, the plugin's own banner translated through WordPress and styled with CSS custom properties, or no UI at all if you are building it yourself.
Blocks and shortcodes[katla_policy], [katla_cookie_table], [katla_cookie_settings], [katla_block] and [katla_consent] — each with a matching Gutenberg block.
Equal prominence"Reject all" and "Accept all" share size, padding and weight in the built-in banner. That is a DMA requirement, not a style preference.
WP-CLIwp katla status, site-id, verify, cookies, policy and flush — so a scripted install never has to open wp-admin.
Filters, not forkskatla_blocked_handles, katla_cookie_allowlist, katla_categories, katla_translations and katla_banner_css_vars cover most of what people fork a plugin to change.
CORE WEB VITALS
That's how the cookie crumbles. Except your SEO shouldn't.
Consent plugins are a common reason WordPress sites fail Core Web Vitals — hundreds of kilobytes, loaded before anything else. Katla's hosted banner is 15 KB in a single request, and the cookie and policy responses the plugin needs are cached in transients rather than fetched per page view.
How headless mode works →15 kBOver the wireBanner and your cookie data, brotli
0 msAdded LCPAgainst the same page without it
0Layout shiftThe banner reserves no space in flow
1RequestOne script, cached at the edge
Our own measurements, taken — how they were taken.
Questions WordPress teams ask
- Does it replace my current consent plugin?
- Yes. Deactivate the old one once Katla is active, so two banners are not competing for the same cookies.
- Will it work with my page builder?
- Yes. Blocking matches on enqueued handles and on URL fragments, and the scan reads the rendered page rather than the builder, so whatever the builder outputs is what Katla sees.
- Do I need to scan the site first?
- Yes — the plugin renders policies from real cookie data, so the site needs one completed scan. wp katla verify tells you whether the Site ID resolves yet.
- Anything to watch out for?
- One thing. Exclude dist.katla.app from JS deferral or combination in WP Rocket, Autoptimize and friends. The cookie guard has to run before anything that sets cookies, and deferring it is the most common way an install looks fine and is not compliant.
Scan your WordPress site, then install the plugin.
The free plan scans your WordPress site and generates a cookie policy, without a card.