{"id":289650,"date":"2026-03-19T17:28:00","date_gmt":"2026-03-19T17:28:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kansleri-cookie-consent\/"},"modified":"2026-03-25T15:28:16","modified_gmt":"2026-03-25T15:28:16","slug":"kansleri-cookie-consent","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/kansleri-cookie-consent\/","author":23464912,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Kansleri Cookie Consent","header_author":"Kansleri.fi","header_description":"Free, no-ads GDPR cookie consent with script blocking, consent logging, Google Consent Mode v2, and AI-assisted setup. Perfect for personal sites and small businesses.","assets_banners_color":"f0f0f1","last_updated":"2026-03-25 15:28:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/kansleri.fi","rating":5,"author_block_rating":0,"active_installs":40,"downloads":383,"num_ratings":2,"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":"tapiokansleri","date":"2026-03-19 17:28:00"},"1.1.0":{"tag":"1.1.0","author":"tapiokansleri","date":"2026-03-20 10:52:10"},"1.2.0":{"tag":"1.2.0","author":"tapiokansleri","date":"2026-03-21 11:55:13"},"1.2.1":{"tag":"1.2.1","author":"tapiokansleri","date":"2026-03-21 12:02:05"},"1.3.0":{"tag":"1.3.0","author":"tapiokansleri","date":"2026-03-25 15:28:16"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3491024,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3491024,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3487063,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3487063,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0","1.2.1","1.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3486721,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3486721,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3486721,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3486721,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3486721,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3486721,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3486721,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3486721,"resolution":"8","location":"assets","locale":""}},"screenshots":{"1":"Cookie consent banner on the frontend (bottom bar style)","2":"General settings \u2014 customize banner style, colors, typography, and button texts","3":"Cookies tab \u2014 scan your site, auto-detect cookies, and use AI to generate descriptions","4":"Policy Page tab \u2014 select your policy page and generate a complete privacy policy with one AI prompt","5":"Integration tab \u2014 Google Consent Mode v2 and Site Kit \/ WP Consent API status","6":"Script Blocking tab \u2014 auto-detected third-party scripts blocked before consent","7":"Statistics tab \u2014 consent response summary with accept, reject, and custom breakdown","8":"Consent Log \u2014 anonymized per-visitor audit trail with CSV export"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[20272,16626,131785,234433,396],"plugin_category":[54],"plugin_contributors":[258595],"plugin_business_model":[],"class_list":["post-289650","plugin","type-plugin","status-publish","hentry","plugin_tags-cookie-banner","plugin_tags-cookie-consent","plugin_tags-gdpr","plugin_tags-google-consent-mode","plugin_tags-privacy","plugin_category-security-and-spam-protection","plugin_contributors-tapiokansleri","plugin_committers-tapiokansleri"],"banners":{"banner":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/banner-772x250.png?rev=3487063","banner_2x":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/banner-1544x500.png?rev=3487063","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/icon-128x128.png?rev=3491024","icon_2x":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/icon-256x256.png?rev=3491024","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/screenshot-1.png?rev=3486721","caption":"Cookie consent banner on the frontend (bottom bar style)"},{"src":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/screenshot-2.png?rev=3486721","caption":"General settings \u2014 customize banner style, colors, typography, and button texts"},{"src":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/screenshot-3.png?rev=3486721","caption":"Cookies tab \u2014 scan your site, auto-detect cookies, and use AI to generate descriptions"},{"src":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/screenshot-4.png?rev=3486721","caption":"Policy Page tab \u2014 select your policy page and generate a complete privacy policy with one AI prompt"},{"src":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/screenshot-5.png?rev=3486721","caption":"Integration tab \u2014 Google Consent Mode v2 and Site Kit \/ WP Consent API status"},{"src":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/screenshot-6.png?rev=3486721","caption":"Script Blocking tab \u2014 auto-detected third-party scripts blocked before consent"},{"src":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/screenshot-7.png?rev=3486721","caption":"Statistics tab \u2014 consent response summary with accept, reject, and custom breakdown"},{"src":"https:\/\/ps.w.org\/kansleri-cookie-consent\/assets\/screenshot-8.png?rev=3486721","caption":"Consent Log \u2014 anonymized per-visitor audit trail with CSV export"}],"raw_content":"<!--section=description-->\n<p>Kansleri Cookie Consent is a free, lightweight, and easy-to-use WordPress cookie consent plugin. There are no ads, no pro version, and no upsells. It is perfect for personal websites, small businesses, and hobby sites who want no-hassle cookie consent.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Three banner styles: bottom bar, centered modal, corner popup<\/li>\n<li>Customizable colors, texts, and button labels<\/li>\n<li>Theme or Plugin typography mode for consistent banner styling<\/li>\n<li>Four consent categories: Necessary, Analytics, Marketing, Preferences<\/li>\n<li><strong>Script auto-blocking<\/strong> \u2014 prevents third-party scripts from running until consent is given<\/li>\n<li><strong>YouTube &amp; Vimeo iframe blocking<\/strong> \u2014 video embeds are blocked until marketing cookies are accepted, with a user-friendly placeholder<\/li>\n<li>Google Consent Mode v2 integration with automatic default\/update signals<\/li>\n<li>GTM dataLayer push on consent changes<\/li>\n<li>Built-in cookie scanner that auto-identifies common cookies (Google Analytics, Meta Pixel, WordPress core, and more)<\/li>\n<li>AI-assisted cookie descriptions \u2014 copy a prompt, paste into an AI tool, import the result<\/li>\n<li><strong>AI-assisted policy page generation<\/strong> \u2014 generate a complete cookie\/privacy policy page with one prompt<\/li>\n<li>Auto-generated cookie policy page with a dynamic shortcode (theme or plugin styling)<\/li>\n<li>Floating settings button for visitors to update preferences (on by default)<\/li>\n<li><code>[kncc_cookie_settings]<\/code> shortcode \u2014 add a cookie settings link anywhere (footer, menu, etc.) with customizable text<\/li>\n<li>\"Edit cookie preferences\" button on the policy page for easy consent withdrawal<\/li>\n<li><strong>Per-user consent logging<\/strong> \u2014 anonymized audit trail for GDPR compliance with CSV export<\/li>\n<li>Consent statistics dashboard (no personal data stored)<\/li>\n<li><strong>Multilingual policy page detection<\/strong> \u2014 warns if policy page is missing a Polylang\/WPML translation<\/li>\n<li>Google Site Kit integration \u2014 auto-detects and avoids duplicate consent signals<\/li>\n<li>WP Consent API integration \u2014 shares consent status with other plugins<\/li>\n<li><strong>Full WPML and Polylang support<\/strong> \u2014 per-language banner texts, cookie descriptions, banner style, colors, and policy page<\/li>\n<li>Finnish translation included with auto-localized defaults<\/li>\n<li>Daily cron check for missing cookie descriptions with admin notifications<\/li>\n<li>Comprehensive documentations tab with installation guide, option explanations, and troubleshooting<\/li>\n<li>Clean uninstall \u2014 removes all data when deleted<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>kansleri-cookie-consent<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly through the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Navigate to <strong>Settings &gt; Cookie Consent<\/strong> to configure the banner.<\/li>\n<li>Use the <strong>Cookies<\/strong> tab to scan your site and register cookies.<\/li>\n<li>Publish the auto-created cookie policy page or add the <code>[kncc_cookie_policy]<\/code> shortcode to any page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20support%20google%20consent%20mode%20v2%3F\"><h3>Does this plugin support Google Consent Mode v2?<\/h3><\/dt>\n<dd><p>Yes. When enabled under the Integration tab, the plugin outputs consent defaults in <code>&lt;head&gt;<\/code> before any other scripts, and sends <code>consent update<\/code> signals whenever a visitor changes their preferences. If Google Site Kit is active, duplicate defaults are automatically avoided.<\/p><\/dd>\n<dt id=\"how%20does%20the%20cookie%20scanner%20work%3F\"><h3>How does the cookie scanner work?<\/h3><\/dt>\n<dd><p>The scanner loads your homepage in a hidden iframe, reads all cookies, and matches them against a built-in database of known cookie patterns (Google, Meta, WordPress, etc.). Known cookies are added automatically; unknown cookies are presented for categorization with an AI-assisted workflow.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20wpml%20or%20polylang%3F\"><h3>Does it work with WPML or Polylang?<\/h3><\/dt>\n<dd><p>Yes. When WPML or Polylang is active, you can set per-language banner texts, cookie descriptions, banner style, colors, and policy page. Switch to a secondary language in the admin bar and edit the settings. Values not customized for a language fall back to the default language. Cookie names, categories, providers, and durations are shared across all languages.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20google%20site%20kit%3F\"><h3>Does it work with Google Site Kit?<\/h3><\/dt>\n<dd><p>Yes. The plugin detects Site Kit automatically. If Site Kit is managing consent mode defaults, this plugin skips its own default output and only sends consent updates when visitors make a choice. Consent Mode v2 is forced on when Site Kit is active.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20wp%20consent%20api%3F\"><h3>Does it work with WP Consent API?<\/h3><\/dt>\n<dd><p>Yes. When the WP Consent API plugin is active, consent status is automatically shared with other plugins that support the API.<\/p><\/dd>\n<dt id=\"how%20are%20consent%20statistics%20tracked%3F\"><h3>How are consent statistics tracked?<\/h3><\/dt>\n<dd><p>Statistics are tracked server-side via lightweight AJAX calls when visitors make a consent choice. No personal data, IP addresses, or tracking cookies are used. Only daily aggregates (accept\/reject\/custom counts) are stored.<\/p><\/dd>\n<dt id=\"does%20it%20block%20youtube%20and%20vimeo%20embeds%3F\"><h3>Does it block YouTube and Vimeo embeds?<\/h3><\/dt>\n<dd><p>Yes. YouTube and Vimeo iframes are automatically blocked until the visitor accepts marketing cookies. A placeholder is shown in place of the video with an \"Accept marketing cookies\" button. If the visitor has already accepted cookies via the consent banner, videos load normally without any placeholder.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20a%20cookie%20settings%20link%20to%20my%20footer%3F\"><h3>How do I add a cookie settings link to my footer?<\/h3><\/dt>\n<dd><p>Use the shortcode <code>[kncc_cookie_settings]<\/code> in any widget, page, or template. You can customize the link text with <code>[kncc_cookie_settings text=\"Manage cookies\"]<\/code>. The shortcode is also shown with a copy button in the plugin settings page.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20the%20plugin%20is%20uninstalled%3F\"><h3>What happens when the plugin is uninstalled?<\/h3><\/dt>\n<dd><p>All plugin options (<code>kncc_settings<\/code>, <code>kncc_cookies<\/code>, <code>kncc_consent_stats<\/code>, <code>kncc_incomplete_cookies<\/code>, <code>kncc_show_activation_notice<\/code>, <code>kncc_defaults_localized<\/code>, <code>kncc_cron_error<\/code>) and the daily cron schedule are removed from the database. The auto-created policy page is not deleted to prevent accidental content loss.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>New: Policy page style setting \u2014 choose theme or plugin styling for the [kncc_cookie_policy] cookie declaration table<\/li>\n<li>Improved: Cookie policy table is now mobile-responsive \u2014 stacks into card layout on small screens<\/li>\n<li>Improved: Policy page theme mode adapts to dark and light backgrounds<\/li>\n<li>Improved: \"Edit cookie preferences\" button moved to top of policy page<\/li>\n<li>Fixed: Daily cron check not re-scheduling after plugin updates<\/li>\n<li>Updated: Finnish translations<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed: Direct file access protection added to uninstall.php<\/li>\n<li>Updated: Finnish translations for documentation tab strings<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: Full WPML and Polylang multilingual support \u2014 per-language banner texts, cookie descriptions, banner style, colors, and policy page<\/li>\n<li>New: Per-language cookie descriptions \u2014 cookie structure is shared, only descriptions are translatable<\/li>\n<li>New: AI prompts auto-generate in the current admin language<\/li>\n<li>Improved: Reliable language detection during AJAX saves for Polylang compatibility<\/li>\n<li>Improved: Iframe placeholder sizing \u2014 proper min-height and no overflow on mobile<\/li>\n<li>Improved: Documentation tab with multilingual guide, shortcode reference, and iframe blocking docs<\/li>\n<li>Fixed: Cookie deletion not persisting when saving from a secondary language<\/li>\n<li>Fixed: Scanner result strings showing mixed languages<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: YouTube and Vimeo iframe blocking \u2014 video embeds are blocked until marketing cookies are accepted<\/li>\n<li>New: <code>[kncc_cookie_settings]<\/code> shortcode to add a cookie settings link anywhere (footer, menu, widgets)<\/li>\n<li>New: Shortcode info box with copy button in admin settings<\/li>\n<li>Improved: Page reload on \"Reject all\" to ensure blocked content is properly hidden<\/li>\n<li>Improved: Server-side consent cookie check to avoid unnecessary placeholders for returning visitors<\/li>\n<li>Updated: Finnish translations for all new strings<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Free, no-ads, no-pro-version GDPR cookie consent with script blocking, consent logging, Google Consent Mode v2, and AI-assisted setup.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/289650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=289650"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tapiokansleri"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=289650"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=289650"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=289650"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=289650"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=289650"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=289650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}