{"id":316548,"date":"2026-05-28T17:34:56","date_gmt":"2026-05-28T17:34:56","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/cookie-rocket-cookie-consent-privacy-compliance\/"},"modified":"2026-08-12T19:46:46","modified_gmt":"2026-08-12T19:46:46","slug":"cookie-rocket","status":"publish","type":"plugin","link":"https:\/\/he.wordpress.org\/plugins\/cookie-rocket\/","author":23503866,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.15.14","stable_tag":"2.15.14","tested":"7.0.4","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Cookie Rocket \u2013 Cookie Consent Banner & Script Blocker","header_author":"Templates Rocket","header_description":"Cookie consent banner with native compliance for LFPDPPP (Mexico), LGPD (Brazil) and GDPR. Zero external dependencies. PageSpeed 100 guaranteed.","assets_banners_color":"fbfaff","last_updated":"2026-08-12 19:46:46","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/templatesrocket.com\/cookie-rocket-pro","header_author_uri":"https:\/\/templatesrocket.com","rating":0,"author_block_rating":0,"active_installs":40,"downloads":1411,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"templatesrocketwp","date":"2026-05-28 17:33:36"},"1.0.1":{"tag":"1.0.1","author":"templatesrocketwp","date":"2026-05-30 03:07:40"},"1.0.2":{"tag":"1.0.2","author":"templatesrocketwp","date":"2026-05-30 05:00:47"},"1.0.3":{"tag":"1.0.3","author":"templatesrocketwp","date":"2026-05-30 05:15:35"},"1.0.4":{"tag":"1.0.4","author":"templatesrocketwp","date":"2026-05-30 05:35:53"},"1.0.5":{"tag":"1.0.5","author":"templatesrocketwp","date":"2026-06-02 22:08:33"},"1.1.0":{"tag":"1.1.0","author":"templatesrocketwp","date":"2026-06-02 22:40:25"},"1.1.1":{"tag":"1.1.1","author":"templatesrocketwp","date":"2026-06-02 23:08:17"},"1.1.2":{"tag":"1.1.2","author":"templatesrocketwp","date":"2026-06-02 23:18:34"},"1.2.0":{"tag":"1.2.0","author":"templatesrocketwp","date":"2026-06-02 23:29:42"},"1.3.0":{"tag":"1.3.0","author":"templatesrocketwp","date":"2026-06-02 23:43:09"},"1.4.0":{"tag":"1.4.0","author":"templatesrocketwp","date":"2026-06-03 00:03:02"},"1.5.0":{"tag":"1.5.0","author":"templatesrocketwp","date":"2026-06-03 00:18:07"},"1.6.0":{"tag":"1.6.0","author":"templatesrocketwp","date":"2026-06-03 00:32:49"},"1.7.0":{"tag":"1.7.0","author":"templatesrocketwp","date":"2026-06-03 00:42:43"},"1.8.0":{"tag":"1.8.0","author":"templatesrocketwp","date":"2026-06-03 00:55:27"},"1.8.1":{"tag":"1.8.1","author":"templatesrocketwp","date":"2026-06-03 01:02:11"},"1.8.2":{"tag":"1.8.2","author":"templatesrocketwp","date":"2026-06-03 01:41:48"},"1.9.0":{"tag":"1.9.0","author":"templatesrocketwp","date":"2026-06-03 02:34:56"},"1.9.1":{"tag":"1.9.1","author":"templatesrocketwp","date":"2026-06-03 02:48:43"},"2.0.0":{"tag":"2.0.0","author":"templatesrocketwp","date":"2026-06-03 04:29:35"},"2.1.0":{"tag":"2.1.0","author":"templatesrocketwp","date":"2026-06-03 21:27:27"},"2.1.1":{"tag":"2.1.1","author":"templatesrocketwp","date":"2026-06-03 23:09:50"},"2.1.2":{"tag":"2.1.2","author":"templatesrocketwp","date":"2026-06-03 23:34:30"},"2.1.3":{"tag":"2.1.3","author":"templatesrocketwp","date":"2026-06-04 00:02:10"},"2.1.4":{"tag":"2.1.4","author":"templatesrocketwp","date":"2026-06-04 00:15:26"},"2.1.5":{"tag":"2.1.5","author":"templatesrocketwp","date":"2026-06-04 00:36:21"},"2.1.6":{"tag":"2.1.6","author":"templatesrocketwp","date":"2026-06-04 01:05:06"},"2.1.7":{"tag":"2.1.7","author":"templatesrocketwp","date":"2026-06-04 01:26:19"},"2.1.8":{"tag":"2.1.8","author":"templatesrocketwp","date":"2026-06-04 03:18:58"},"2.1.9":{"tag":"2.1.9","author":"templatesrocketwp","date":"2026-06-04 03:42:34"},"2.10.0":{"tag":"2.10.0","author":"templatesrocketwp","date":"2026-06-05 00:27:46"},"2.11.0":{"tag":"2.11.0","author":"templatesrocketwp","date":"2026-06-05 01:17:17"},"2.11.1":{"tag":"2.11.1","author":"templatesrocketwp","date":"2026-06-05 01:40:34"},"2.11.2":{"tag":"2.11.2","author":"templatesrocketwp","date":"2026-06-05 02:27:00"},"2.11.3":{"tag":"2.11.3","author":"templatesrocketwp","date":"2026-06-05 02:36:00"},"2.12.0":{"tag":"2.12.0","author":"templatesrocketwp","date":"2026-07-10 04:09:41"},"2.12.1":{"tag":"2.12.1","author":"templatesrocketwp","date":"2026-07-16 23:46:18"},"2.13.0":{"tag":"2.13.0","author":"templatesrocketwp","date":"2026-07-17 04:49:00"},"2.14.0":{"tag":"2.14.0","author":"templatesrocketwp","date":"2026-07-18 02:07:34"},"2.14.10":{"tag":"2.14.10","author":"templatesrocketwp","date":"2026-07-18 06:38:27"},"2.14.3":{"tag":"2.14.3","author":"templatesrocketwp","date":"2026-07-18 05:12:01"},"2.15.0":{"tag":"2.15.0","author":"templatesrocketwp","date":"2026-07-20 18:14:28"},"2.15.1":{"tag":"2.15.1","author":"templatesrocketwp","date":"2026-07-20 19:47:59"},"2.15.10":{"tag":"2.15.10","author":"templatesrocketwp","date":"2026-08-12 03:02:05"},"2.15.11":{"tag":"2.15.11","author":"templatesrocketwp","date":"2026-08-12 05:42:38"},"2.15.12":{"tag":"2.15.12","author":"templatesrocketwp","date":"2026-08-12 17:25:37"},"2.15.13":{"tag":"2.15.13","author":"templatesrocketwp","date":"2026-08-12 19:27:25"},"2.15.14":{"tag":"2.15.14","author":"templatesrocketwp","date":"2026-08-12 19:46:46"},"2.15.2":{"tag":"2.15.2","author":"templatesrocketwp","date":"2026-07-20 20:00:01"},"2.15.3":{"tag":"2.15.3","author":"templatesrocketwp","date":"2026-07-21 04:11:02"},"2.15.4":{"tag":"2.15.4","author":"templatesrocketwp","date":"2026-07-21 04:38:00"},"2.15.5":{"tag":"2.15.5","author":"templatesrocketwp","date":"2026-07-21 04:53:54"},"2.15.6":{"tag":"2.15.6","author":"templatesrocketwp","date":"2026-08-11 17:47:54"},"2.15.7":{"tag":"2.15.7","author":"templatesrocketwp","date":"2026-08-11 22:53:55"},"2.15.8":{"tag":"2.15.8","author":"templatesrocketwp","date":"2026-08-12 02:58:40"},"2.15.9":{"tag":"2.15.9","author":"templatesrocketwp","date":"2026-08-12 03:01:05"},"2.2.0":{"tag":"2.2.0","author":"templatesrocketwp","date":"2026-06-04 03:51:23"},"2.3.0":{"tag":"2.3.0","author":"templatesrocketwp","date":"2026-06-04 04:17:06"},"2.4.0":{"tag":"2.4.0","author":"templatesrocketwp","date":"2026-06-04 19:39:52"},"2.5.0":{"tag":"2.5.0","author":"templatesrocketwp","date":"2026-06-04 20:11:18"},"2.5.1":{"tag":"2.5.1","author":"templatesrocketwp","date":"2026-06-04 20:44:06"},"2.6.0":{"tag":"2.6.0","author":"templatesrocketwp","date":"2026-06-04 21:37:28"},"2.6.1":{"tag":"2.6.1","author":"templatesrocketwp","date":"2026-06-04 22:01:14"},"2.7.0":{"tag":"2.7.0","author":"templatesrocketwp","date":"2026-06-04 22:33:16"},"2.8.0":{"tag":"2.8.0","author":"templatesrocketwp","date":"2026-06-04 22:59:42"},"2.9.0":{"tag":"2.9.0","author":"templatesrocketwp","date":"2026-06-04 23:25:29"},"2.9.1":{"tag":"2.9.1","author":"templatesrocketwp","date":"2026-06-05 00:01:35"}},"upgrade_notice":{"2.15.6":"<p>Thorough audit: keyboard-focus fixes, hardened consent-endpoint rate limiting, reliable recording behind full-page caches, embeds that restore after consent, a closed script-blocking gap, timezone-correct log stats, and complete Spanish\/Portuguese. No settings change.<\/p>","2.14.0":"<p>A cleaner four-section admin, a one-time setup guide, and a new option to match the banner to your site&#039;s own font \u2014 with no external fonts ever loaded. All your settings carry over.<\/p>","2.13.0":"<p>Accessibility and design pass: zero automated WCAG AA violations across the admin, visible field borders, and a save that tells you when it fails instead of losing your changes silently.<\/p>","2.12.1":"<p>Accessibility fix: the banner&#039;s Reject and Customize buttons are now clearly legible (WCAG AA), as visible as Accept all.<\/p>","2.12.0":"<p>Pick your law (GDPR\/LGPD\/LFPDPPP) in Settings and the banner&#039;s default legal text follows it \u2014 new installs detect it from the site language. Also fixes the framework resetting to generic on save.<\/p>","2.11.2":"<p>Polish &amp; fixes from a full audit: correct consent-duration in the cookie policy, modal description now shows, working privacy-policy link, salted (irreversible) IP hashes, and broader WordPress compatibility. No settings change.<\/p>","2.11.1":"<p>Fixes consent texts being cut off at 200 characters (the GDPR\/LFPDPPP templates were truncated). After updating, re-pick your template or re-save to store the full message.<\/p>","2.11.0":"<p>Adds an opt-in &quot;Quick feedback&quot; prompt on deactivation. Skipping sends nothing; no personal data is ever collected. Your settings and banner are unchanged.<\/p>","2.1.4":"<p>Fixes button readability and form spacing in the admin. Native, clean WordPress styling. No changes to settings or the banner.<\/p>","2.1.3":"<p>Cleaner Settings and Banner Design screens (sub-navigation + accordions) and a fully neutral monochrome admin. Your settings and banner are unchanged.<\/p>","2.1.2":"<p>A calmer, neutral admin palette (standard WordPress blue and greys). No changes to settings or the banner.<\/p>","2.1.1":"<p>A cleaner, guided dashboard that makes setup obvious. Your settings and banner are unchanged.<\/p>","2.1.0":"<p>Adds a compliance health dashboard, a visual banner layout picker, neutral style presets, click-to-load embed placeholders and a refreshed cookie scanner. Your saved settings are unchanged.<\/p>","1.9.1":"<p>Adds a Brazilian Portuguese translation, auto-applied on Portuguese-language sites. No other changes.<\/p>","1.9.0":"<p>Internationalization: English is now the default language, with a bundled Spanish translation auto-applied on Spanish sites (all es_* locales). Your saved banner copy and categories are unchanged.<\/p>","1.8.2":"<p>Documentation and listing copy only \u2014 no code changes.<\/p>","1.8.1":"<p>Housekeeping only: removes an unused legacy stylesheet that was never loaded. No change to the banner.<\/p>","1.8.0":"<p>The &quot;Drawer&quot; banner layout is now a distinct right-side panel (it previously matched the floating card). Only affects sites using the Drawer layout; other layouts are unchanged.<\/p>","1.7.0":"<p>Adds a live banner preview on the Banner Design screen. Safe update; no change to the banner shown to visitors.<\/p>","1.6.0":"<p>New Categories editor lets you rename, re-describe and reorder the cookie categories shown on the banner. Safe update; existing categories are unchanged until you edit them.<\/p>","1.5.0":"<p>The admin screens are now fully translatable. No visible change; safe update.<\/p>","1.4.0":"<p>New Consent Log viewer under Cookie Rocket &rarr; Consent Log shows recorded consents for compliance. Safe update; read-only, no change to the banner.<\/p>","1.3.0":"<p>Translation readiness: the banner and modal strings are now fully translatable and a complete .pot is included. No visible change by default; translate via Loco Translate, WPML\/Polylang or translate.wordpress.org.<\/p>","1.2.0":"<p>New Cookie Scanner under Cookie Rocket &rarr; Scanner: detects known tracking services on your site on demand and shows what is being blocked. Safe update; no change to the banner or blocking behavior.<\/p>","1.1.2":"<p>Robustness fix: default categories and settings now self-heal if missing, so the preferences modal and &quot;Accept all&quot; work even on installs where activation never ran. Recommended.<\/p>","1.1.1":"<p>Important fix for 1.1.0: &quot;Accept all&quot; and the preferences modal now correctly enable the chosen categories, so scripts blocked before consent are re-activated when the visitor accepts. Recommended for everyone on 1.1.0.<\/p>","1.1.0":"<p>Major update: Cookie Rocket now actually blocks common tracking scripts (Google Analytics, Meta Pixel, Hotjar and more) until consent, with Google Consent Mode v2 built in. Review Settings &rarr; Script Blocking after updating, especially if you use a caching plugin.<\/p>","1.0.5":"<p>Correctness fixes: custom banner copy and consent duration set in Settings are now actually applied, and the consent audit log records events again. Recommended update; the banner looks the same by default.<\/p>","1.0.4":"<p>Post-consent floating button now defaults to OFF for a cleaner site. Installs that explicitly enabled it keep it enabled; re-enable any time in Settings. The [cookie-rocket-preferences] shortcode is always available as alternative.<\/p>","1.0.3":"<p>Important fix: the preferences modal can now be closed (X button) after consent, the title typography no longer inherits the theme&#039;s heading font, and the floating button can be hidden via a new setting. Recommended update.<\/p>","1.0.2":"<p>Adds a Pro features showcase panel at the bottom of the Settings page. Safe to update \u2014 no functional changes to the cookie banner itself.<\/p>","1.0.1":"<p>Visual refresh only. Brand-aligned colors in the preferences modal. Safe to update.<\/p>","1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3586718,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3586718,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3586718,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3586718,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3586718,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.1.0","1.1.1","1.1.2","1.2.0","1.3.0","1.4.0","1.5.0","1.6.0","1.7.0","1.8.0","1.8.1","1.8.2","1.9.0","1.9.1","2.0.0","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.9","2.10.0","2.11.0","2.11.1","2.11.2","2.11.3","2.12.0","2.12.1","2.13.0","2.14.0","2.14.10","2.14.3","2.15.0","2.15.1","2.15.10","2.15.11","2.15.12","2.15.13","2.15.14","2.15.2","2.15.3","2.15.4","2.15.5","2.15.6","2.15.7","2.15.8","2.15.9","2.2.0","2.3.0","2.4.0","2.5.0","2.5.1","2.6.0","2.6.1","2.7.0","2.8.0","2.9.0","2.9.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3642347,"resolution":"1","location":"assets","locale":"","width":2560,"height":1600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3643875,"resolution":"2","location":"assets","locale":"","width":2560,"height":1600},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3643875,"resolution":"3","location":"assets","locale":"","width":2560,"height":1600},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3642347,"resolution":"4","location":"assets","locale":"","width":2560,"height":1600},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3642347,"resolution":"5","location":"assets","locale":"","width":2560,"height":1600}},"screenshots":{"1":"The scanner finds the trackers on your site and tells you exactly what happens to each one: blocked until consent, governed by Consent Mode v2, or pasted directly into your HTML \u2014 with the switch that fixes it.","2":"The consent banner on a live site. Google Analytics, Meta Pixel and Hotjar stay blocked until the visitor chooses; the reject button sits on the first layer, one click away.","3":"Granular preferences: visitors allow or deny each category, with strictly-necessary always on.","4":"The consent log, included in the free version: every decision, the categories accepted, and the visitor identified only by a one-way hash.","5":"Status at a glance \u2014 blocking, Consent Mode v2, the law applied, and your consent numbers."}},"plugin_section":[],"plugin_tags":[166295,20272,16626,131785,160853],"plugin_category":[54],"plugin_contributors":[264829],"plugin_business_model":[],"class_list":["post-316548","plugin","type-plugin","status-publish","hentry","plugin_tags-ccpa","plugin_tags-cookie-banner","plugin_tags-cookie-consent","plugin_tags-gdpr","plugin_tags-lgpd","plugin_category-security-and-spam-protection","plugin_contributors-templatesrocketwp","plugin_committers-templatesrocketwp"],"banners":{"banner":"https:\/\/ps.w.org\/cookie-rocket\/assets\/banner-772x250.png?rev=3586718","banner_2x":"https:\/\/ps.w.org\/cookie-rocket\/assets\/banner-1544x500.png?rev=3586718","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/cookie-rocket\/assets\/icon.svg?rev=3586718","icon":"https:\/\/ps.w.org\/cookie-rocket\/assets\/icon.svg?rev=3586718","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/cookie-rocket\/assets\/screenshot-1.png?rev=3642347","caption":"The scanner finds the trackers on your site and tells you exactly what happens to each one: blocked until consent, governed by Consent Mode v2, or pasted directly into your HTML \u2014 with the switch that fixes it."},{"src":"https:\/\/ps.w.org\/cookie-rocket\/assets\/screenshot-2.png?rev=3643875","caption":"The consent banner on a live site. Google Analytics, Meta Pixel and Hotjar stay blocked until the visitor chooses; the reject button sits on the first layer, one click away."},{"src":"https:\/\/ps.w.org\/cookie-rocket\/assets\/screenshot-3.png?rev=3643875","caption":"Granular preferences: visitors allow or deny each category, with strictly-necessary always on."},{"src":"https:\/\/ps.w.org\/cookie-rocket\/assets\/screenshot-4.png?rev=3642347","caption":"The consent log, included in the free version: every decision, the categories accepted, and the visitor identified only by a one-way hash."},{"src":"https:\/\/ps.w.org\/cookie-rocket\/assets\/screenshot-5.png?rev=3642347","caption":"Status at a glance \u2014 blocking, Consent Mode v2, the law applied, and your consent numbers."}],"raw_content":"<!--section=description-->\n<p><strong>Cookie Rocket<\/strong> is a lightweight cookie consent plugin that actually <strong>blocks<\/strong> third-party tracking scripts until your visitors consent \u2014 not just a banner on top. Automatic blocking of Google Analytics, Meta Pixel, Hotjar and more, plus <strong>Google Consent Mode v2<\/strong>, a cookie scanner and a consent log, are all included in the free version. It ships banner wording and consent rules for GDPR, CCPA \/ CPRA, LGPD (Brazil) and LFPDPPP (Mexico), selectable per site.<\/p>\n\n<p>It is a fully <strong>self-hosted alternative to cloud cookie-consent services<\/strong>: no account, no monthly SaaS fee and no external calls. Real script blocking, Google Consent Mode v2 and on-demand cookie scanning are free here \u2014 features that comparable consent tools typically gate behind a paid plan or a remote service.<\/p>\n\n<ul>\n<li>Automatic script blocking: common third-party trackers (Google Analytics, Meta Pixel, Hotjar, Microsoft Clarity, LinkedIn, TikTok and more) are blocked until consent, with Google Consent Mode v2 built in.<\/li>\n<li>Built-in cookie scanner: detect on demand which known tracking services are present on your site and the cookies they set.<\/li>\n<li>Automatic cookie policy \/ cookie declaration: a single shortcode (or one-click page) publishes a table of every cookie your site uses \u2014 provider, purpose and duration \u2014 grouped by category and updated from your scans.<\/li>\n<li>Consent audit log with an admin viewer: every consent decision is recorded and browsable for compliance.<\/li>\n<li>Editable cookie categories: rename, re-describe and reorder the categories shown on the banner.<\/li>\n<li>Unified Cookie Banner editor: layout, content (text and labels) and colours, all in one place.<\/li>\n<li>Zero external scripts and zero CDN dependencies \u2014 everything is served from your own site.<\/li>\n<li>Framework selector: GDPR, CCPA \/ CPRA, LGPD (Brazil) and LFPDPPP (Mexico), each with its own banner wording and consent behaviour.<\/li>\n<li>100% local \u2014 no consent data is sent to third-party servers.<\/li>\n<li>WooCommerce aware: respects shop pages and checkout.<\/li>\n<li>Fully customizable colors, fonts sizes, copy and banner position.<\/li>\n<li>WCAG 2.1 AA accessible: keyboard navigation, focus states, ARIA labels.<\/li>\n<li>Multisite compatible.<\/li>\n<li>Five banner layouts: bottom bar, top bar, floating card, modal and drawer.<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[cookie-rocket-preferences]<\/code> \u2014 renders a button that re-opens the cookie preferences modal.<\/li>\n<li><code>[cookie-rocket-withdraw]<\/code> \u2014 renders a link that withdraws consent and clears stored preferences.<\/li>\n<li><code>[cookie_rocket_policy]<\/code> \u2014 renders the automatic cookie declaration table (provider, purpose and duration per cookie, grouped by category).<\/li>\n<\/ul>\n\n<h4>Cookie Rocket Pro<\/h4>\n\n<p>A commercial Pro version adds <strong>Google Consent Mode advanced<\/strong> (keeps your Google Ads and GA4 measurement working while consent is denied), a <strong>tamper-evident consent ledger<\/strong> with one-click audit evidence, <strong>per-visitor legal routing<\/strong> (GDPR in Europe, CCPA in the United States, LFPDPPP in Mexico, LGPD in Brazil), a <strong>Latin America pack<\/strong> with a generated aviso de privacidad and a self-hosted <strong>ARCO \/ DSAR rights channel<\/strong>, <strong>Google Tag Manager<\/strong> integration, scheduled monthly re-scans with email alerts, CSV export of the consent log and extended log retention. It is available at <a href=\"https:\/\/templatesrocket.com\/cookie-rocket-pro\">templatesrocket.com<\/a>. The free version published here is fully functional and does not require the Pro plugin to work.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>cookie-rocket<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>Cookie Rocket<\/strong> in the admin menu to configure the banner copy, colors and behavior.<\/li>\n<li>Optionally, place the <code>[cookie-rocket-preferences]<\/code> shortcode in your privacy policy page to let visitors update their choices at any time.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20send%20any%20data%20to%20external%20services%3F\"><h3>Does this plugin send any data to external services?<\/h3><\/dt>\n<dd><p>No. Cookie Rocket stores consent entirely in the visitor's browser (cookie + localStorage) and logs events to your own WordPress database. Your visitors never generate a request to an external server: the plugin makes no third-party calls at runtime.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20caching%20plugins%3F\"><h3>Is it compatible with caching plugins?<\/h3><\/dt>\n<dd><p>Yes. The banner state is read from a first-party cookie, so caching (page cache, object cache, CDN) does not interfere with consent storage or display.<\/p><\/dd>\n<dt id=\"does%20it%20block%20third-party%20scripts%20automatically%3F\"><h3>Does it block third-party scripts automatically?<\/h3><\/dt>\n<dd><p>Yes. The free version automatically blocks the most common third-party tracking scripts \u2014 Google Analytics, Meta (Facebook) Pixel, Hotjar, Microsoft Clarity, LinkedIn, TikTok, Google Ads and more \u2014 until the visitor accepts the matching cookie category, and it ships Google Consent Mode v2 (default denied) out of the box. Enqueued scripts are blocked by default; an optional setting also blocks scripts pasted directly into your theme or header. Cookie Rocket Pro adds scheduled monthly re-scans that email you when a new tracker appears, plus Google Consent Mode <em>advanced<\/em> so your Google Ads and GA4 keep measuring while consent is denied.<\/p><\/dd>\n<dt id=\"is%20it%20translation-ready%3F\"><h3>Is it translation-ready?<\/h3><\/dt>\n<dd><p>Yes. The text domain is <code>cookie-rocket<\/code> and a complete <code>.pot<\/code> file is included under <code>\/languages\/<\/code>. All banner and modal strings are wrapped for translation. The plugin ships in English by default with Spanish (es_ES) and Brazilian Portuguese (pt_BR) translations bundled, applied automatically on matching locales. WordPress also loads community translations for plugins hosted on WordPress.org, and you can translate the banner yourself with Loco Translate or Poedit, or via WPML\/Polylang.<\/p><\/dd>\n<dt id=\"can%20it%20generate%20a%20cookie%20policy%20page%3F\"><h3>Can it generate a cookie policy page?<\/h3><\/dt>\n<dd><p>Yes. Add the <code>[cookie_rocket_policy]<\/code> shortcode to any page, or go to <strong>Cookie Rocket \u2192 Cookie Policy<\/strong> and create the page in one click. It publishes a cookie declaration table \u2014 each cookie with its provider, purpose and duration, grouped by category \u2014 built from your latest scan plus a built-in catalog of the most common third-party cookies. Strictly-necessary cookies are always listed, and the table updates automatically as you re-scan.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20wordpress%20multisite%3F\"><h3>Does it work on WordPress Multisite?<\/h3><\/dt>\n<dd><p>Yes. Each site stores its own settings. Activate per-site or network-activate from the network admin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.15.14<\/h4>\n\n<p><strong>Fixed: a blocked embed kept its shape on sites with a strict Content-Security-Policy.<\/strong> The placeholder that stands in for a blocked video or map carries the aspect ratio of the embed it replaces, so the page does not jump when the visitor accepts. That ratio is different for every embed, so it travelled in a style attribute \u2014 which such a policy discards, leaving the placeholder with no height: the collapsed layout this placeholder exists to prevent. The ratio now travels in a data attribute and the script applies it.<\/p>\n\n<h4>2.15.13<\/h4>\n\n<p><strong>Fixed: the plugin now behaves the same on sites that send a strict Content-Security-Policy.<\/strong> A CSP whose style-src and script-src do not allow 'unsafe-inline' makes the browser discard inline style attributes and inline event handlers. The banner and the dialog put some of their layout and behaviour there, so on those sites parts of the plugin silently stopped working. Everything moved to the stylesheet and to the script file, which the policy allows.\n* Fixed: the <code>[cookie-rocket-preferences]<\/code> and <code>[cookie-rocket-withdraw]<\/code> shortcodes did nothing under such a policy. They carried their call in an onclick attribute, which the browser refuses to execute, so a visitor could not reopen their choices or withdraw consent from the page where you had placed the button. The script now listens for them by class.\n* Fixed: in the preferences dialog each category's control fell below its label instead of sitting on the right, because the row built its columns with a style attribute.\n* Fixed: your Accept button text colour, your solid secondary-button colours and the dialog's fixed footer colours were only ever applied through style attributes, so a strict policy dropped them and the same settings rendered differently from one site to the next. They are part of the stylesheet now.\n* The banner-layout thumbnails in the editor drew \"floating\" and \"modal\" as wide bars, when both stack their buttons and render as tall cards. They now match what applying them produces.\n* The live preview was shorter than a floating banner, so the banner started above the frame and covered the previewed page. The preview is taller.\nStyle and markup only; no change to settings, consent records or blocking behaviour.<\/p>\n\n<h4>2.15.12<\/h4>\n\n<p><strong>Fixed: four things in the preferences dialog that were harder to use than they looked.<\/strong> The category controls were a sliding switch with its rounded shape removed, which read as neither a switch nor a checkbox \u2014 a square knob in a square track, where the only clue to the state was the colour of the track. They are now plain checkboxes: an empty square for off, a filled square with a checkmark for on, and a greyed checked one for strictly-necessary. Same square, no-radius look; you can tell the state at a glance.\n* The close button sat in the header at the same height as the title. It now sits anchored in the top-right corner of the dialog, which is where it is looked for, and it measures 28x28 instead of 13x22 \u2014 its width used to come from the width of the glyph itself, below the 24x24 minimum recommended by WCAG 2.5.8 and awkward to hit with a thumb.\n* Each category's description ran the full width and passed under the column of controls. On a phone the text reached the edge while the title above it stopped short, leaving a ragged right margin. Both now break on the same line.\n* Hardening: the dialog sets its own box-sizing instead of relying on the theme to set it globally.\nStyle only. Your settings, banner and consent log are unchanged.<\/p>\n\n<h4>2.15.11<\/h4>\n\n<p>The plugin description and the feature list now say what the plugin does instead of promising an outcome. The description no longer guarantees a PageSpeed score, which depends on your site and host rather than on this plugin, and the framework line no longer claims to grant legal compliance, which no plugin can grant. What it does say is accurate: it ships banner wording and consent rules for GDPR, CCPA \/ CPRA, LGPD and LFPDPPP, and you pick the one that applies. No functional change.<\/p>\n\n<h4>2.15.10<\/h4>\n\n<p>The plugin header now carries the same name as the listing.<\/p>\n\n<h4>2.15.9<\/h4>\n\n<p>The plugin is now listed as what it does \u2014 a cookie consent banner and script blocker \u2014 instead of claiming compliance, which no plugin can grant. CCPA \/ CPRA joins the tags now that the framework is fully supported. Code hardening around the new visitor-country field.<\/p>\n\n<h4>2.15.8<\/h4>\n\n<p><strong>New: the plugin now tells you what it found on your own site.<\/strong> Three notices that appear only when there is something real to say, and go away when you dismiss them or when the fact changes.\n* Your visitors' country is now recorded with each consent decision. It was already resolved in the browser by timezone and then thrown away. No IP, no external service, no new personal data.\n* If a meaningful share of your visitors comes from a region under a different framework than the one your banner applies, the plugin says so, with the percentage.\n* If a quarter or more of your visitors reject cookies, the plugin says so \u2014 and tells you whether Consent Mode v2 is on, which decides whether those visitors are measurable at all.\n* The review request now waits until Cookie Rocket has actually done something countable on your site, and says what it did, instead of appearing on a 14-day timer.<\/p>\n\n<h4>2.15.7<\/h4>\n\n<p><strong>Fixed: the cookie bar took a third of a phone screen.<\/strong> On mobile the three buttons stacked one per row \u2014 148px of controls on a 300px bar, tall enough to sit on top of a form's submit button. Accept now keeps its own full-width row and Customize and Reject share the next one: 282px instead of 300, in two rows instead of three. If your site turns off Customize or Reject, the remaining button grows into the whole row. Only the top and bottom bar layouts change; the popup, floating and drawer layouts are untouched.\n* Translations: removed a leftover string and refreshed the template.<\/p>\n\n<h4>2.15.6<\/h4>\n\n<p><strong>New: declare your own services.<\/strong> Cookie Rocket recognizes nine common providers. Anything else on your site \u2014 a chat widget, a heatmap tool, a newsletter script \u2014 was neither blocked nor listed on your cookie policy. Blocking \u2192 Your own services lets you name it, give the script address so it gets blocked, and describe its cookies so they appear on your policy with a real purpose and duration.<\/p>\n\n<p><strong>New: California.<\/strong> CCPA \/ CPRA joins GDPR, LGPD and LFPDPPP in the framework selector, with its own banner wording.<\/p>\n\n<p><strong>New: the scanner sees your shop.<\/strong> On WooCommerce sites it now also reads the shop, cart, checkout and account pages \u2014 where conversion pixels usually live and where a homepage-only scan never looked. It also tells you which trackers are new since your last scan.<\/p>\n\n<p><strong>Fixed: a failed scan no longer reads as a clean site.<\/strong> If a page could not be read, the result says so and lists which, instead of reporting zero trackers found.<\/p>\n\n<p><strong>Fixed: the scanner reports Google Tag Manager.<\/strong> The container is deliberately not blocked \u2014 Consent Mode governs it \u2014 but staying silent made a site that loads everything through GTM read \"no trackers found\". It is now listed with its real status.<\/p>\n\n<p><strong>Fixed: the blocking status tells the truth.<\/strong> A tracker pasted straight into your theme is not reached by script blocking unless raw-HTML blocking is on. That row used to claim it was blocked; it now says it is pasted directly into the HTML and links to the switch that handles it.<\/p>\n\n<p><strong>New: consent-log retention is yours to set.<\/strong> Records were deleted after 90 days with no way to change it and nothing on screen saying so. There is now a field, and the log states how long it keeps records.<\/p>\n\n<p><strong>Free: the Glass, Graphite and Branded banner themes<\/strong>, and the self-hosted font option.<\/p>\n\n<p><strong>Updated design.<\/strong> Squared corners, no shadows, no transitions and no entrance animation, throughout the banner, the preferences dialog and the admin screens. If you are updating an existing site, the banner will lose its drop shadow and slide-in and gain a hairline border; your saved corner radius is untouched.<\/p>\n\n<p><strong>Accessibility.<\/strong> The floating preferences button's focus ring is now visible on light backgrounds, and the category switches read clearly in both states.<\/p>\n\n<p>Polish, hardening &amp; fixes from a thorough audit \u2014 functionality, security, accessibility, reliability and translations. Nothing to reconfigure; your settings, banner and consent log are unchanged.\n* Fixed (accessibility): the banner no longer traps keyboard focus in the bar layout (you can Tab past it), while the popup, side panel and drawer still contain focus while open. The preferences dialog is announced by its title, traps focus even for a returning visitor who opens it from the floating button, returns focus to the control that opened it, and its cookie-category switches carry accessible names (WCAG 2.1.2 \/ 2.4.3).\n* Fixed (reliability): behind a full-page cache, a visitor's consent could go unrecorded when the cached page carried an expired security token \u2014 recording no longer depends on it. The consent-endpoint rate limit is now keyed on the real connection IP with a fixed one-minute window, so it cannot be side-stepped with spoofed headers or become a permanent block.\n* Fixed (privacy): blocked social\/media embeds (X, Instagram, TikTok, Facebook and similar) fully restore after consent, including embeds that load their own script; and the raw-HTML script blocker now also catches trackers whose src\/type attributes are unquoted.\n* Fixed (Consent Mode): the \"functionality_storage\" signal now follows the visitor's functional-cookie choice instead of always reporting granted.\n* Fixed: \"Save text\" and the Layout \/ position \/ width \/ backdrop controls now report or roll back a failed save instead of showing an unsaved change as applied; consent-log stats and retention compute their window in the site's own timezone; the preferences close button meets contrast; and the cookie-category grid no longer overflows on narrow phones.\n* Improved (translations): the whole interface, the cookie-declaration table (each cookie's purpose and duration) and the cleanup-schedule label are now complete in Spanish and Portuguese.<\/p>\n\n<h4>2.15.5<\/h4>\n\n<p>On some themes the Reject button could render unfilled; its fill now holds up against theme button styles.<\/p>\n\n<h4>2.15.4<\/h4>\n\n<p>Default banner aligned to the common consent-tool convention: Reject filled with equal prominence, Customize outline, subtle 2px corners.<\/p>\n\n<h4>2.15.3<\/h4>\n\n<p>Banner button order follows the common convention on every layout, and no button is pre-focused when the banner appears.<\/p>\n\n<h4>2.15.2<\/h4>\n\n<p>Banner buttons always take the same corner radius as the banner on every layout.<\/p>\n\n<h4>2.15.1<\/h4>\n\n<p>Live-preview button labels, a clean preview without the admin bar, instant style presets, contextual help tooltips, and a 0px default corner radius.<\/p>\n\n<h4>2.15.0<\/h4>\n\n<p>One-click setup, a live banner editor, blocked-embed placeholders that keep your layout, and consent that persists across localStorage clears.<\/p>\n\n<h4>2.14.x and earlier<\/h4>\n\n<p>Older release notes are available in the plugin\u2019s development history on WordPress.org.<\/p>","raw_excerpt":"Lightweight cookie consent banner that actually blocks trackers until consent. Google Consent Mode v2, cookie scanner \u2014 GDPR, LGPD &amp; LFPDPPP.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/316548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=316548"}],"author":[{"embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/templatesrocketwp"}],"wp:attachment":[{"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=316548"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=316548"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=316548"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=316548"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=316548"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/he.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=316548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}