{"id":389898,"date":"2026-10-20T17:49:21","date_gmt":"2026-10-20T17:49:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/scruter-cmp\/"},"modified":"2026-10-20T17:49:03","modified_gmt":"2026-10-20T17:49:03","slug":"scruter-cmp","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/scruter-cmp\/","author":23589599,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.3","requires":"6.7","requires_php":"7.4","requires_plugins":null,"header_name":"Scruter CMP","header_author":"Scruter","header_description":"Consent banner and cookie blocking by Scruter CMP, a European consent management platform. Adds the Scruter tag first in the head of every page and shares the visitor's choice with the WP Consent API.","assets_banners_color":"787580","last_updated":"2026-10-20 17:49:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/scruter.net\/cmp","header_author_uri":"https:\/\/scruter.net","rating":0,"author_block_rating":0,"active_installs":0,"downloads":32,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"scruter","date":"2026-10-20 17:49:03","revision":3757228}},"upgrade_notice":{"1.1.0":"<p>Connect the plugin to your Scruter account in one click.<\/p>","1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3757228,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3757228,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3757228,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3757228,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3757228,"resolution":"1","location":"assets","locale":"","width":1280,"height":860},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3757228,"resolution":"2","location":"assets","locale":"","width":1280,"height":860},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3757228,"resolution":"3","location":"assets","locale":"","width":1280,"height":860},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3757228,"resolution":"4","location":"assets","locale":"","width":1280,"height":860}},"screenshots":{"1":"Settings \u203a Scruter CMP: \u00ab Connect to Scruter \u00bb, or the site code typed by hand.","2":"In the Scruter console, choose the site this WordPress belongs to.","3":"The console names the destination before sending the public site code back.","4":"Back in WordPress: connected, the tag is printed first in the head of every page."}},"plugin_section":[],"plugin_tags":[20011,20272,389,131785,396],"plugin_category":[54],"plugin_contributors":[287772],"plugin_business_model":[],"class_list":["post-389898","plugin","type-plugin","status-publish","hentry","plugin_tags-consent","plugin_tags-cookie-banner","plugin_tags-cookies","plugin_tags-gdpr","plugin_tags-privacy","plugin_category-security-and-spam-protection","plugin_contributors-scruter","plugin_committers-scruter"],"banners":{"banner":"https:\/\/ps.w.org\/scruter-cmp\/assets\/banner-772x250.png?rev=3757228","banner_2x":"https:\/\/ps.w.org\/scruter-cmp\/assets\/banner-1544x500.png?rev=3757228","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/scruter-cmp\/assets\/icon-128x128.png?rev=3757228","icon_2x":"https:\/\/ps.w.org\/scruter-cmp\/assets\/icon-256x256.png?rev=3757228","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/scruter-cmp\/assets\/screenshot-1.png?rev=3757228","caption":"Settings \u203a Scruter CMP: \u00ab Connect to Scruter \u00bb, or the site code typed by hand."},{"src":"https:\/\/ps.w.org\/scruter-cmp\/assets\/screenshot-2.png?rev=3757228","caption":"In the Scruter console, choose the site this WordPress belongs to."},{"src":"https:\/\/ps.w.org\/scruter-cmp\/assets\/screenshot-3.png?rev=3757228","caption":"The console names the destination before sending the public site code back."},{"src":"https:\/\/ps.w.org\/scruter-cmp\/assets\/screenshot-4.png?rev=3757228","caption":"Back in WordPress: connected, the tag is printed first in the head of every page."}],"raw_content":"<!--section=description-->\n<p>Scruter CMP shows a consent banner on your site, holds back the trackers until the visitor agrees, and keeps a proof of every choice. This plugin installs it on WordPress:<\/p>\n\n<ul>\n<li>prints the Scruter tag <strong>first in the head<\/strong> of every page, before any other script, so trackers are blocked before they can run;<\/li>\n<li>\u00ab Connect to Scruter \u00bb: one click opens your Scruter account, you choose the site and come back with its code filled in (or paste the code yourself, Settings \u203a Scruter CMP);<\/li>\n<li>shares the visitor's choice with the <a href=\"https:\/\/wordpress.org\/plugins\/wp-consent-api\/\">WP Consent API<\/a>, so that plugins that follow it (analytics, maps, forms\u2026) respect the banner;<\/li>\n<li>keeps the tag in place against caching and optimisation plugins (it is never deferred, delayed or combined).<\/li>\n<\/ul>\n\n<p>The banner, its texts, its colours, the classification of the trackers, Google Consent Mode and the IAB TCF are set in the Scruter console, not in WordPress. A change reaches visitors within five minutes.<\/p>\n\n<p>You need a Scruter CMP account and a site: <a href=\"https:\/\/scruter.net\/cmp\">scruter.net\/cmp<\/a>.<\/p>\n\n<h4>How the choice reaches the WP Consent API<\/h4>\n\n<p>When the WP Consent API plugin is active, the choice made in the banner is copied to its categories on each page load and on each decision:<\/p>\n\n<ul>\n<li>necessary: functional (always allowed);<\/li>\n<li>functional and personalization: preferences;<\/li>\n<li>analytics: statistics and statistics-anonymous;<\/li>\n<li>advertising: marketing.<\/li>\n<\/ul>\n\n<p>Embedded contents and custom purposes have no category in the API: the Scruter script holds them back itself.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects your site to Scruter CMP, a consent management service operated by Scruter (a European company, servers in the European Union). It is the plugin's purpose: without a Scruter CMP site, the plugin prints nothing.<\/p>\n\n<p><strong>1. The Scruter CMP site script, on the public pages of your site.<\/strong> Once a site code is set and the tag is switched on, every page of the public site includes <code>https:\/\/cdn.scruter.net\/cmp\/&lt;site code&gt;.js<\/code> (not the WordPress admin, the feeds or the embeds). The visitor's browser loads it from the Scruter CDN on each page view: it shows the consent banner, blocks the trackers until the visitor agrees and records the choice. What reaches Scruter: the usual HTTP request (the visitor's IP address and user agent are used to answer and are not stored), the address of the page, and, when the visitor decides, the choice made (consent proof: date, banner version, purposes accepted or refused). Scruter sets no cookie other than the first-party <code>scruter_consent<\/code> cookie that stores the visitor's choice (and <code>scruter_tcf<\/code> when the IAB TCF is enabled for the site).<\/p>\n\n<p><strong>2. The Scruter console, when an administrator clicks \u00ab Connect to Scruter \u00bb.<\/strong> The browser of the administrator goes to <code>https:\/\/app.scruter.net\/integrations\/connect<\/code> with the address of this settings page and a random, single-use value; after signing in and choosing the site, the console sends the browser back with the site's public code. Nothing about your WordPress installation, its users or its content is sent, and nothing happens unless the administrator clicks the button.<\/p>\n\n<p>The plugin itself makes no request from your server.<\/p>\n\n<p>Service provided by Scruter: <a href=\"https:\/\/scruter.net\/en\/legal\/terms\">terms of use<\/a>, <a href=\"https:\/\/scruter.net\/en\/legal\/privacy\">privacy policy<\/a>, <a href=\"https:\/\/scruter.net\/en\/legal\/dpa\">data processing agreement<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to Settings \u203a Scruter CMP and click \u00ab Connect to Scruter \u00bb: sign in to your Scruter account (or create one: the free plan covers one site), choose the site and confirm. You come back with the site code filled in. The site must cover the domain of your WordPress admin; you can also paste the code yourself (for example <code>ATMONA01<\/code>, shown in the Scruter console, Integration page of your site).<\/li>\n<li>Deactivate any other cookie banner plugin.<\/li>\n<li>Open your site in a private window: the banner shows and nothing optional runs before you choose.<\/li>\n<\/ol>\n\n<p>Optional: install the WP Consent API plugin so that plugins that follow it respect the choice.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20find%20my%20site%20code%3F\"><h3>Where do I find my site code?<\/h3><\/dt>\n<dd><p>\u00ab Connect to Scruter \u00bb fills it in. Otherwise: in the Scruter console, open your site, then Integration. It looks like <code>ATMONA01<\/code>. You can paste the script address or the whole tag, the plugin extracts the code.<\/p><\/dd>\n<dt id=\"%C2%AB%20connect%20to%20scruter%20%C2%BB%20says%20that%20no%20site%20matches.\"><h3>\u00ab Connect to Scruter \u00bb says that no site matches.<\/h3><\/dt>\n<dd><p>The console only sends the code back to a domain the site covers: the site's domain, its subdomains, or a domain added to the covered domains (Scruter console \u203a your site \u203a Integration). Add the domain of your WordPress admin there, or paste the code by hand.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20scruter%20account%3F\"><h3>Do I need a Scruter account?<\/h3><\/dt>\n<dd><p>Yes. Scruter CMP is a service: the banner, the blocking rules and the consent proofs live in your Scruter account. The free plan covers one site; the paid plans are described on <a href=\"https:\/\/scruter.net\/en\/cmp\/pricing\">scruter.net\/cmp\/pricing<\/a>.<\/p><\/dd>\n<dt id=\"the%20banner%20does%20not%20show.\"><h3>The banner does not show.<\/h3><\/dt>\n<dd><p>Check that the site code is right, that the tag is switched on, and that no caching plugin serves an old copy of the page. View the page source: the first <code>script<\/code> in the head must be <code>https:\/\/cdn.scruter.net\/cmp\/&lt;your code&gt;.js<\/code>. The Integration page of the console can also verify the installation.<\/p><\/dd>\n<dt id=\"a%20caching%20or%20optimisation%20plugin%20moved%20the%20tag.\"><h3>A caching or optimisation plugin moved the tag.<\/h3><\/dt>\n<dd><p>The tag carries the attributes those plugins recognise to leave it alone. If yours still moves it, exclude <code>cdn.scruter.net<\/code> from its JavaScript options (deferral, delay, combination).<\/p><\/dd>\n<dt id=\"can%20i%20add%20a%20%22manage%20my%20cookies%22%20link%3F\"><h3>Can I add a \"Manage my cookies\" link?<\/h3><\/dt>\n<dd><p>Yes: <code>&lt;a href=\"#scruter-consent\"&gt;Manage my cookies&lt;\/a&gt;<\/code> opens the preference centre. In JavaScript, <code>window.scruterCmp.open()<\/code> does the same from your own code.<\/p><\/dd>\n<dt id=\"which%20filters%20can%20i%20use%3F\"><h3>Which filters can I use?<\/h3><\/dt>\n<dd><p>scruter_cmp_should_print (bool) to keep the tag off some requests, and <code>scruter_cmp_script_nonce<\/code> (string) to add a CSP nonce to the tag.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>\u00ab Connect to Scruter \u00bb: the site code is filled in from your Scruter account.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Cookie consent banner and automatic blocking of trackers by Scruter CMP, a European consent management platform. One site code, no code to write.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/389898","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=389898"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/scruter"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=389898"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=389898"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=389898"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=389898"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=389898"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=389898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}