Skip to content

Works with your stack

Cookie banner for a personal website or blog

free for non-commercial sites

← Cookie Rocks for your stack

A personal site or blog still uses cookies when it counts visits, embeds a video or loads a font from Google. A non-commercial site can ask for a free Community key: every feature, exactly like a paid key. The only counterpart: a credit sentence at the end of the cookie policy.

Cookie Rocks with a free Community key

Everything Cookie Rocks does, free for personal sites and blogs

A Community key opens the complete plugin, exactly like a paid key. Here is what matters most for this kind of site.

    Placeholders, not holes

    Videos, maps, music, social media posts and forms (YouTube, Vimeo, Google Maps, Spotify, Instagram, X, TikTok, Typeform…) show a placeholder with a load button, in place, without breaking your layout.

  • Social posts in place

    Instagram, Threads, X and TikTok posts show a short message and a Load button while their script waits for consent, instead of a bare link.

    Microsoft, Matomo and WP Statistics

    Clarity and Microsoft Advertising wait for consent like any other tool, then receive the visitor’s choice. Matomo loads as usual and writes no cookie before consent. WooCommerce and WP Statistics load as usual and read the choice through the WP Consent API plugin.

  • Your words

    Write your own banner texts, language by language, or keep ours in 54 languages.

  • In their language

    The banner, its details panel and the cookie policy in 54 languages: English, Arabic, Azerbaijani, Bulgarian, Bangla, Catalan, Czech, Danish, German, Greek, Spanish (Spain), Spanish (Mexico), Estonian, Finnish, French, Irish, Hindi, Croatian, Hungarian, Armenian, Indonesian, Icelandic, Italian, Japanese, Georgian, Kazakh, Korean, Kyrgyz, Lithuanian, Latvian, Macedonian, Mongolian, Malay, Maltese, Norwegian Bokmål, Nepali, Dutch, Polish, Portuguese (Brazil), Portuguese (Portugal), Romanian, Russian, Slovak, Slovenian, Albanian, Serbian (Cyrillic), Serbian (Latin), Swedish, Turkish, Ukrainian, Uzbek, Vietnamese, Chinese (Simplified) and Chinese (Traditional). With Polylang or WPML, the banner follows the language of each page. One option shows it in the visitor’s browser language instead, even when your site has no version in that language. The dashboard comes in 28 languages, the law sheets in 28.

  • Light on every page

    11.43 kB on a first visit, banner included, then 1.00 kB on each next page. Measured on a blank WordPress. And the engine is built for your site: it only carries the options you use. The measured figures.

Every feature →

What matters for consent with personal sites and blogs

A free key, every feature

Personal pages and hobby blogs written by people can ask for a free Community key. It opens the complete plugin, exactly like a paid key, for one domain or subdomain, renewed each year in one click as long as the site stays non-commercial. The credit sentence at the end of the cookie policy stays: it is the counterpart of the free key.

Statistics

Counting visitors with Google Analytics needs consent under the GDPR and similar laws. Plugins that count on your own site can still set a cookie or keep IP addresses.

Videos and embeds

YouTube videos, Instagram posts and other embeds wait behind a message with a Load button, and load in place after the click.

Fonts

A font loaded from Google’s servers sends the visitor’s address to Google. The same font served from your own site sends nothing.

What our tests found on personal sites and blogs

  • Depends on a setting · Cookie RocksExempt measurement for Koko and Independent Analytics

    With exempt audience measurement on, in a country that allows it, Cookie Rocks 2.11.1 lets Koko Analytics in fingerprint mode and Independent Analytics with a daily salt count a visit before the choice, with no cookie. After Refuse they stop. Koko in cookie mode, and Independent Analytics without the daily salt, stay held until consent.

    Seen in our tests, 6 November 2026, Cookie Rocks.

  • Good to know · Koko AnalyticsKoko Analytics stays silent for automated browsers

    A driven browser sees nothing, while a real visitor gets the cookie in the default mode.

    Seen in our tests, 6 November 2026, Koko Analytics 2.5.3.

    Full detail

    Koko Analytics sends no page view when navigator.webdriver is true, or when the user agent looks like a bot. An automatic test in a driven browser therefore sees no request and no cookie, although a real visitor gets the cookie in the default mode.

  • Good to know · Cookie RocksEmbed Plus setup stops when released after load

    When Cookie Rocks 2.11.0 releases Embed Plus for YouTube after the page has loaded, the video plays, but its setup does not finish: ytprefs.js waits for the window load event, which has already passed, so apiInit never runs and its player events do not start. Sending the load event again finishes the setup.

    Seen in our tests, 6 November 2026, Cookie Rocks.

  • Set before the choice · Cookie RocksCookie Rocks holds Jetpack Stats 16.4 until the visitor accepts

    Script and pixel wait for Accept, no reload is needed, and nothing is sent after Refuse.

    Seen in our tests, 5 November 2026, Cookie Rocks.

    Full detail

    Cookie Rocks 2.10.0 holds both the Jetpack Stats 16.4 script and its inline code before any choice, with or without WP Consent API. After Accept, the script loads and the pixel is sent without a page reload. After Refuse, nothing goes to stats.wp.com or pixel.wp.com.

See the 25 other findings
  • Set before the choice · JetpackWP Consent API alone does not make Jetpack Stats 16.4 wait

    With no banner on the site, the script and the pixel both go out on the first page view.

    Seen in our tests, 5 November 2026, Jetpack 16.4.

    Full detail

    With the WP Consent API plugin active but no consent banner on the site, Jetpack Stats 16.4 still loads its script and sends its pixel on the first page view: nothing refuses, so the gate lets it through. Installing WP Consent API alone does not make Stats wait.

  • Good to know · JetpackWhat Jetpack stores in visitors' browsers

    Jetpack: 21 cookie(s) or browser key(s) for visitors, recognised by Cookie Rocks from 2.9.8.

    NameKept inCategoryWhat it is for
    eucookielawcookieNecessaryRemembers the visitor's choice on the Jetpack cookie banner
    personalized-ads-consentcookieNecessaryRemembers the visitor's choice on the Jetpack cookie banner
    tk_aicookieStatisticsAnonymous identifier for Jetpack and WooCommerce usage statistics (Automattic Tracks)
    wp-jp-premium-content-sessioncookieNecessaryGives a subscriber access to paid or subscriber-only content
    jetpack-subscription-modal-on-comment-scroll-tolocalStoragePreferencesLimits how often the subscription pop-up is shown to the visitor
    jetpack-subscription-modal-shown-countsessionStoragePreferencesLimits how often the subscription pop-up is shown to the visitor
    jetpack_blog_subscribe_*cookieNecessaryShows the visitor the result of a subscription
    jetpack_comments_subscribe_*cookieNecessaryShows the visitor the result of a subscription
    jpp_math_passcookieNecessaryRemembers that the visitor solved the anti-robot sum on the login form
    verbum-wp-postpasscookieNecessaryLets the visitor comment on a password-protected post
    jetpack_sso_noncecookieNecessaryKeeps the sign-in with WordPress.com going
    jetpack_sso_original_requestcookieNecessaryKeeps the sign-in with WordPress.com going
    jetpack_sso_redirect_tocookieNecessaryKeeps the sign-in with WordPress.com going
    jetpack_sso_wpcom_gravatar_*cookieNecessaryKeeps the sign-in with WordPress.com going
    jetpack_sso_wpcom_name_*cookieNecessaryKeeps the sign-in with WordPress.com going
    jetpack_sso_wpcom_referrercookieNecessaryKeeps the sign-in with WordPress.com going
    tk_lrcookieStatisticsAutomattic Tracks usage statistics (referrer)
    tk_orcookieStatisticsAutomattic Tracks usage statistics (original referrer)
    tk_r3dcookieStatisticsAutomattic Tracks usage statistics
    tk_tccookieStatisticsAutomattic Tracks usage statistics (session)
    devicePixelRatiocookiePreferencesServes images sized for the visitor's screen

    Read in its code, 2 November 2026, Jetpack.

    Full detail

    Jetpack can store 21 cookies or browser keys for visitors: eucookielaw, personalized-ads-consent, tk_ai, wp-jp-premium-content-session, jetpack-subscription-modal-on-comment-scroll-to, jetpack-subscription-modal-shown-count, jetpack_blog_subscribe_*, jetpack_comments_subscribe_*, jpp_math_pass, verbum-wp-postpass, jetpack_sso_nonce, jetpack_sso_original_request, jetpack_sso_redirect_to, jetpack_sso_wpcom_gravatar_*, jetpack_sso_wpcom_name_*, jetpack_sso_wpcom_referrer, tk_lr, tk_or, tk_r3d, tk_tc, devicePixelRatio. Cookie Rocks recognises them from 2.9.8 and lists them in the cookie policy, each with its category and purpose, when it sees them.

  • Good to know · Cookie RocksThe audit names the local fonts setting of your theme

    When the home page loads Google Fonts, the Cookie Rocks 2.9.5 audit names the setting of the active theme or plugin that serves them from the site: Elementor, WP Rocket, Spectra, Kadence Blocks, OMGF, Local Google Fonts, Astra, Kadence, OceanWP or Neve. Otherwise it suggests a plugin such as OMGF. Divi, Bricks, Oxygen and Beaver Builder have no such setting. With Cookie Rocks Pro, it points to « Serve Google Fonts from this site » instead.

    Read in its code, 1 November 2026, Cookie Rocks.

  • Good to know · Cookie Rocks ProCookie Rocks Pro leaves local fonts alone

    Cookie Rocks Pro 2.9.5 reads the page as it is served. Fonts that a theme or another plugin already serves from the site leave no Google address in the page, and the Pro does not touch them. It copies only what still points to Google: for example when Elementor falls back to Google after a failed download, or when OMGF is still in test mode.

    Read in its code, 1 November 2026, Cookie Rocks Pro.

  • Set before the choice · Embed Plus for YouTubeEmbed Plus for YouTube loads YouTube before the choice, even with the video held

    Embed Plus for YouTube loads its own script, which injects YouTube's iframe API before the choice even when the video frame is held; YouTube then sets its cookies. Cookie Rocks 2.5.1 holds that script with YouTube.

    Seen in our tests, 17 October 2026, Embed Plus for YouTube.

  • Good to know · Yoast SEO, Rank Math SEO, All in One SEO, Wordfence, Really Simple SSL, WP Armour, AkismetSeven SEO and security plugins set nothing for visitors by default

    by default: Default settings

    Yoast SEO, Rank Math, All in One SEO, Wordfence, Really Simple SSL, WP Armour and Akismet set no cookie, use no storage and load no known third-party tool.

    Seen in our tests, 17 October 2026, Yoast SEO, Rank Math SEO, All in One SEO, Wordfence, Really Simple SSL, WP Armour, Akismet 28.7, 1.0.280, 5.0.3, 9.0.2, 9.8.3, 2.4.02, 5.7.2. Source

    Full detail

    On a fresh WordPress home page with default settings, Yoast SEO, Rank Math SEO, All in One SEO, Wordfence, Really Simple SSL, WP Armour and Akismet set no cookie for the visitor, keep nothing in the browser's storage and load no known third-party tool, after Accept all.

  • Depends on a setting · WP StatisticsWP Statistics Bypass Ad Blockers hides the tracker's name

    setting “Bypass Ad Blockers” · by default: off

    With this option on (off by default), the tracker loads from an address without the plugin name. Only the tag ID wp-statistics-tracker-js stays recognisable.

    Read in its code, 16 October 2026, WP Statistics 14.16.17.

    Full detail

    With Bypass Ad Blockers on (off by default), WP Statistics serves its tracker from an address like /?<6-character key>=<hash>, without the plugin name, and sends hits to admin-ajax.php; only the tag ID wp-statistics-tracker-js stays recognisable.

  • Good to know · WP StatisticsWP Statistics anonymises and hashes IP addresses by default

    The IP address is anonymised, then hashed with a salt renewed every day. Hits go to the site itself, and visitors' browsers contact no other site.

    Read in its code, 16 October 2026, WP Statistics 14.16.17.

    Full detail

    By default WP Statistics anonymises the IP address with WordPress' wp_privacy_anonymize_ip, then hashes it with sha256 of a salt renewed every day, the IP and the user agent; the full user agent is not stored. Hits are POSTed to the site's own REST route (or admin-ajax.php). Its geolocation database is downloaded by the server from cdn.jsdelivr.net or MaxMind; visitors' browsers contact no other site.

  • Sent from your server · WP StatisticsWP Statistics server-side tracking records visits before any banner can act

    setting “Tracking method (use_cache_plugin)” · by default: JavaScript (client side)

    With JavaScript tracking off, the visit is recorded while the page is built. Cookie Rocks 2.5.2 flags this mode on its dashboard, with a button to WP Statistics' settings.

    Read in its code, 16 October 2026, WP Statistics 14.16.17.

    Full detail

    When WP Statistics' JavaScript tracking is turned off (server-side tracking), it records the visit in PHP while the page is built, before any banner can act, conditioned only on its consent integration read with wp_has_consent in PHP; it also cannot work with a page cache. Cookie Rocks 2.5.2 flags this mode on its dashboard with a button to WP Statistics' settings, and the warning disappears when client-side tracking is chosen again.

  • Good to know · Koko AnalyticsKoko Analytics cookieless mode keeps a daily session on the server

    The session file is named by a hash of a daily seed, the user agent and the IP address, and deleted after midnight. Its tracker is now in the page, so address patterns no longer match it.

    Read in its code, 16 October 2026, Koko Analytics 2.5.3.

    Full detail

    Koko Analytics' cookieless method keeps a server-side session file named by a hash of a daily seed, the user agent and the IP address, deleted after midnight. Since 2.x the tracking script is printed inline in wp_footer, so address patterns on assets/dist/js/script.js no longer match anything. It has no WP Consent API code.

  • Set before the choice · JetpackSeveral Jetpack modules contact WordPress.com without any consent check
    • Comments (jetpack.wordpress.com), Likes (widgets.wp.com) and VideoPress (videopress.com).
    • Google Fonts module: fonts.gstatic.com. Site Accelerator: images from i0.wp.com.
    • Jetpack's own visitor cookies are set only after an action.

    Read in its code, 16 October 2026, Jetpack 16.3.1.

    Full detail

    Several Jetpack modules contact WordPress.com without reading any consent signal: Comments loads an iframe from jetpack.wordpress.com, Likes from widgets.wp.com, VideoPress from videopress.com, the Google Fonts module loads from fonts.gstatic.com, and Site Accelerator serves images from i0.wp.com. Jetpack's own visitor cookies (comment_author_*, jetpack_*_subscribe_*, jpp_math_pass) are set only after an action.

  • Depends on a setting · OMGFSome fonts still come from Google with OMGF free

    setting “Test mode”

    • Fonts loaded by @import, inline @font-face, webfont.js or JavaScript.
    • Fonts inside third-party frames (maps, videos, reCAPTCHA), listed in its dashboard.
    • In test mode, visitors still load Google; only administrators get local fonts.
    • If a download fails, the original link is kept.

    Read in its code, 16 October 2026, OMGF 6.3.13.

    Full detail

    With OMGF's free version, fonts loaded by @import, inline @font-face, webfont.js or JavaScript still come from Google, as do fonts inside third-party iframes (maps, videos, reCAPTCHA), which its dashboard lists. If a download fails, the original link is kept (since 6.3.12). In test mode, only administrators get local fonts and visitors still load Google. A request with ?nomgf returns the unprocessed page.

  • Sent from your server · Akismet Anti-spamAkismet sends form data and visitor details from the server

    setting “Privacy notice under the comment form” · by default: hidden

    When a comment or supported form is sent, the server sends Akismet the visitor's IP, browser details, all headers except Cookie and every field. No banner can hold this.

    What to do: Mention Akismet in the privacy policy.

    Read in its code, 16 October 2026, Akismet Anti-spam 5.7.2.

    Full detail

    When a comment or a supported form (Jetpack, Gravity Forms, Contact Form 7, Formidable, Fluent Forms) is sent, the site's server sends rest.akismet.com the visitor's IP address, user agent, referrer, every HTTP header except Cookie, the request URI and all submitted fields. A banner cannot hold this. Akismet's one-line privacy notice under the comment form is off by default.

  • Good to know · Akismet Anti-spamAkismet sets no cookie but records key press and mouse timings in forms

    Its script, served by the site, runs only on pages with a supported form, once an API key is set. It adds counts and timings to the form, without the typed text.

    Read in its code, 16 October 2026, Akismet Anti-spam 5.7.2.

    Full detail

    Akismet sets no cookie and uses no browser storage on visitor pages, and the visitor's browser contacts no Akismet host. Its script, akismet-frontend.js, is served by the site (defer) only on pages with a comment form or a supported form shortcode and only once an API key is set; it records counts and timings of key presses, clicks, mouse, touch and scroll and adds them as hidden ak_* fields when a form is sent, without the typed text. A compatibility run of 5.7.2 without an API key observed nothing.

  • Good to know · OMGFOMGF serves Divi's Google Fonts from the site, with no request to Google

    The free version did this by itself on activation. Its warning about unused fonts concerns fonts the browser does not download.

    Seen in our tests, 9 October 2026, OMGF.

    Full detail

    On a Divi site, OMGF (free version) replaced the Google Fonts stylesheets with local copies by itself on activation: every font, Divi's included, was served from /wp-content/uploads/omgf/ on the site's own domain, and the page sent no request to Google's font servers. OMGF's warning about unused fonts concerns @font-face declarations the browser does not download.

Questions

Who can get a Community key?

A site that sells nothing and promotes no business, such as a personal page or a hobby blog. Not an SEO blog, a site of AI-generated content, or a site with ads or affiliate links. One key per person, for one site. See the Community rules.

Does my blog need a banner at all?

If nothing on it needs consent, the banner can say so: the site only uses the cookies it needs to work. As soon as a video, a map or statistics come in, consent comes first under the GDPR and similar laws.

Where are fonts and statistics covered?

See fonts and statistics plugins.

What happens after the 30-day trial?

The banner, your visitors’ choices and your proofs of consent keep working. Without a key, most settings lock, updates and support stop. Take a key at any time and everything opens again.

For personal sites

Every feature, free for your personal site.

free for non-commercial sites

Three fields, one minute, read by a person. Your key arrives by e-mail, renewed each year in one click while the site stays non-commercial.