{"id":49501,"date":"2016-07-05T11:20:40","date_gmt":"2016-07-05T11:20:40","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/tiny-simple-adblock-detector\/"},"modified":"2026-03-30T20:28:12","modified_gmt":"2026-03-30T20:28:12","slug":"tiny-simple-adblock-detector","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/tiny-simple-adblock-detector\/","author":13709789,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.0","stable_tag":"1.2.0","tested":"7.0","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Tiny Simple AdBlock Detector","header_author":"MythThrazz","header_description":"","assets_banners_color":"2151cd","last_updated":"2026-03-30 20:28:12","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/marcindudek.dev\/","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/tiny-simple-adblock-detector\/","header_author_uri":"https:\/\/marcindudek.dev\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":1656,"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":"MythThrazz","date":"2016-07-05 11:24:03"},"1.0.1":{"tag":"1.0.1","author":"MythThrazz","date":"2016-07-13 11:36:29"},"1.1.0":{"tag":"1.1.0","author":"MythThrazz","date":"2022-11-23 18:26:26"},"1.2.0":{"tag":"1.2.0","author":"MythThrazz","date":"2026-03-30 20:28:12"}},"upgrade_notice":{"1.2.0":"<p>Verified for WordPress 7.0. Fixed admin page URL bug, added cache busting, improved documentation.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3494941,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3494941,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3494941,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3494941,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.1.0","1.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3494941,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3494941,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Zero-config admin page \u2014 plugin works immediately after activation","2":"Built-in debug mode showing real-time ad blocker detection on the frontend"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2571,2558,321,529,2560],"plugin_category":[35],"plugin_contributors":[215789],"plugin_business_model":[],"class_list":["post-49501","plugin","type-plugin","status-publish","hentry","plugin_tags-ad-blocker","plugin_tags-adblock","plugin_tags-ads","plugin_tags-content","plugin_tags-detect","plugin_category-advertising","plugin_contributors-myththrazz","plugin_committers-myththrazz"],"banners":{"banner":"https:\/\/ps.w.org\/tiny-simple-adblock-detector\/assets\/banner-772x250.png?rev=3494941","banner_2x":"https:\/\/ps.w.org\/tiny-simple-adblock-detector\/assets\/banner-1544x500.png?rev=3494941","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tiny-simple-adblock-detector\/assets\/icon-128x128.png?rev=3494941","icon_2x":"https:\/\/ps.w.org\/tiny-simple-adblock-detector\/assets\/icon-256x256.png?rev=3494941","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/tiny-simple-adblock-detector\/assets\/screenshot-1.png?rev=3494941","caption":"Zero-config admin page \u2014 plugin works immediately after activation"},{"src":"https:\/\/ps.w.org\/tiny-simple-adblock-detector\/assets\/screenshot-2.png?rev=3494941","caption":"Built-in debug mode showing real-time ad blocker detection on the frontend"}],"raw_content":"<!--section=description-->\n<p>Over 40% of internet users run an ad blocker. <strong>Tiny Simple AdBlock Detector<\/strong> gives you the power to respond \u2014 politely ask visitors to whitelist your site, gate premium content, or simply track awareness \u2014 all without touching a line of JavaScript yourself.<\/p>\n\n<h3>How it works<\/h3>\n\n<p>The plugin loads a tiny decoy script with a filename that ad blockers love to block. When the script gets blocked, a lightweight CSS class swap kicks in \u2014 revealing or hiding any element you've marked up. That's it. No jQuery, no external services, no tracking pixels, no cookie banners.<\/p>\n\n<h3>Two CSS classes. Infinite possibilities.<\/h3>\n\n<ul>\n<li><code>class=\"show-only-when-adblock\"<\/code> \u2014 Element appears <strong>only<\/strong> when an ad blocker is active.<\/li>\n<li><code>class=\"hide-only-when-adblock\"<\/code> \u2014 Element disappears when an ad blocker is active.<\/li>\n<\/ul>\n\n<p>Add them to any HTML element: a <code>&lt;div&gt;<\/code>, a Gutenberg block, an Elementor section, a WooCommerce notice \u2014 anything.<\/p>\n\n<h3>Real-world examples<\/h3>\n\n<ul>\n<li><strong>\"Please whitelist us\"<\/strong> \u2014 Show a polite banner only to ad-blocking visitors<\/li>\n<li><strong>Content gating<\/strong> \u2014 Hide exclusive articles or downloads from users blocking your ads<\/li>\n<li><strong>Alternative monetization<\/strong> \u2014 Show a \"Support us on Patreon\" box only when ads are blocked<\/li>\n<li><strong>Analytics<\/strong> \u2014 Pair with your analytics tool to track ad-blocker adoption rates on your site<\/li>\n<\/ul>\n\n<h3>Why this plugin?<\/h3>\n\n<ul>\n<li><strong>Zero configuration<\/strong> \u2014 Activate it and it works. No settings page, no wizard, no API key.<\/li>\n<li><strong>Ridiculously lightweight<\/strong> \u2014 Under 2 KB of JavaScript. Your visitors won't notice.<\/li>\n<li><strong>No external requests<\/strong> \u2014 Nothing leaves your server. Fully GDPR-friendly.<\/li>\n<li><strong>Works with all major ad blockers<\/strong> \u2014 uBlock Origin, AdBlock Plus, AdBlock, AdGuard, Brave Shield, Opera built-in blocker.<\/li>\n<li><strong>Page builder compatible<\/strong> \u2014 Works with Gutenberg, Elementor, Divi, WPBakery, Beaver Builder \u2014 anything that lets you add a CSS class.<\/li>\n<li><strong>Built-in debug mode<\/strong> \u2014 Append <code>?tsad_debug=1<\/code> to any URL to see live detection results.<\/li>\n<li><strong>Translation-ready<\/strong> \u2014 Includes Polish translation. PRs welcome for others.<\/li>\n<\/ul>\n\n<h3>From the maker of WP Multi Tool<\/h3>\n\n<p>This plugin is built by the same developer behind <a href=\"https:\/\/wpmultitool.com\/\">WP Multi Tool<\/a> \u2014 the Swiss Army knife for WordPress developers and site administrators. If you manage multiple WordPress sites, check it out.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install through the WordPress plugin directory, or upload to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin. That's it \u2014 it's already running.<\/li>\n<li>Add <code>class=\"show-only-when-adblock\"<\/code> or <code>class=\"hide-only-when-adblock\"<\/code> to any HTML element.<\/li>\n<li>(Optional) Visit the plugin's admin page for a quick reference and debug link.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20ad%20blockers%20does%20it%20detect%3F\"><h3>Which ad blockers does it detect?<\/h3><\/dt>\n<dd><p>Tested and confirmed with: uBlock Origin, AdBlock Plus, AdBlock, AdGuard, Brave Shield, and Opera's built-in blocker. It works by exploiting how ad blockers filter script filenames \u2014 so it catches most blockers that follow standard filter lists.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. The total JavaScript payload is under 2 KB (two tiny files), loaded asynchronously. It makes zero external HTTP requests. Your PageSpeed score won't budge.<\/p><\/dd>\n<dt id=\"is%20it%20gdpr%20compliant%3F\"><h3>Is it GDPR compliant?<\/h3><\/dt>\n<dd><p>Yes. The plugin doesn't collect, store, or transmit any user data. It doesn't set cookies, fingerprint browsers, or phone home. It's pure client-side CSS class toggling.<\/p><\/dd>\n<dt id=\"how%20do%20i%20test%20if%20it%27s%20working%3F\"><h3>How do I test if it's working?<\/h3><\/dt>\n<dd><p>Append <code>?tsad_debug=1<\/code> to any page on your site. A debug panel will appear at the bottom showing detection status in real-time. You can also find this link on the plugin's admin page.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20with%20elementor%20%2F%20gutenberg%20%2F%20page%20builders%3F\"><h3>Can I use it with Elementor \/ Gutenberg \/ page builders?<\/h3><\/dt>\n<dd><p>Absolutely. Just add the CSS class in your page builder's \"Advanced\" \u2192 \"CSS Classes\" field. Works with Gutenberg, Elementor, Divi, WPBakery, Beaver Builder, and any builder that supports custom CSS classes.<\/p><\/dd>\n<dt id=\"what%20if%20someone%20uses%20a%20blocker%20you%20don%27t%20detect%3F\"><h3>What if someone uses a blocker you don't detect?<\/h3><\/dt>\n<dd><p>The detection relies on ad blockers blocking scripts with \"ad-like\" filenames (like <code>showads.js<\/code>). Very aggressive blockers or custom filter lists will definitely get caught. Very minimal or niche blockers might slip through \u2014 but those cover a tiny fraction of users.<\/p><\/dd>\n<dt id=\"can%20i%20style%20the%20elements%20differently%20instead%20of%20show%2Fhide%3F\"><h3>Can I style the elements differently instead of show\/hide?<\/h3><\/dt>\n<dd><p>The plugin uses <code>display: none<\/code> and <code>display: initial<\/code> by default. You can override this in your own CSS by targeting <code>.show-only-when-adblock<\/code> and <code>.hide-only-when-adblock<\/code> with higher specificity.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Tested and verified with WordPress 7.0<\/li>\n<li>Fixed hardcoded localhost URL in admin page \u2014 now uses dynamic site URL<\/li>\n<li>Added proper version strings to enqueued scripts for cache busting<\/li>\n<li>Updated plugin headers (Requires PHP, Requires at least)<\/li>\n<li>Completely rewritten readme with real-world usage examples<\/li>\n<li>Added plugin icon and banner<\/li>\n<li>Added screenshots<\/li>\n<li>Code cleanup: removed broken .min.js references<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Tested the functionality with the latest version of WordPress<\/li>\n<li>Improved the UI<\/li>\n<li>Added more complex testing<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed the bug with the styling for class=\"hide-only-when-adblock\"<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Detect ad blockers in 2 KB. Show or hide any content depending on whether your visitor uses an ad blocker \u2014 zero config, no external requests, no perf &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/49501","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=49501"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/myththrazz"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=49501"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=49501"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=49501"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=49501"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=49501"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=49501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}