{"id":319302,"date":"2026-06-18T08:23:49","date_gmt":"2026-06-18T08:23:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/frontend-asset-scanner\/"},"modified":"2026-06-18T08:23:37","modified_gmt":"2026-06-18T08:23:37","slug":"nahnu-asset-scanner","status":"publish","type":"plugin","link":"https:\/\/es-mx.wordpress.org\/plugins\/nahnu-asset-scanner\/","author":14745143,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Nahnu Asset Scanner","header_author":"Nahnu Plugins","header_description":"Manually scan your site's front end to detect JavaScript files, CSS files, cookies, and external domains. Helps configure cache optimization and cookie consent settings accurately.","assets_banners_color":"cacfd4","last_updated":"2026-06-18 08:23:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/frontendassetscanner.com","header_author_uri":"https:\/\/www.nahnuplugins.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":50,"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":"ja1me4","date":"2026-06-18 08:23:37"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3576816,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3576816,"resolution":"256x256","location":"assets","locale":"","width":265,"height":265}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3576816,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3576816,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3576816,"resolution":"2","location":"assets","locale":"","width":3065,"height":1864},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3576816,"resolution":"3","location":"assets","locale":"","width":3065,"height":1864},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3576816,"resolution":"4","location":"assets","locale":"","width":3065,"height":1864},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3576816,"resolution":"5","location":"assets","locale":"","width":3065,"height":1864},"screenshot-6.jpg":{"filename":"screenshot-6.jpg","revision":3576816,"resolution":"6","location":"assets","locale":"","width":3065,"height":1864}},"screenshots":{"1":"<strong>Pages tab<\/strong> \u2014 select which pages to include in the scan","2":"<strong>JS tab<\/strong> \u2014 every script with plugin attribution and third-party badges","3":"<strong>CSS tab<\/strong> \u2014 every stylesheet with source identification","4":"<strong>Cookies tab<\/strong> \u2014 complete cookie inventory with category, plugin source, and expiry","5":"<strong>Domains tab<\/strong> \u2014 all external domains detected during the scan","6":"<strong>Settings tab<\/strong> \u2014 scan configuration","7":"<strong>About tab<\/strong> \u2014 use-case guides for cache and performance configuration"}},"plugin_section":[],"plugin_tags":[7626,146,389,131785,247],"plugin_category":[52,54],"plugin_contributors":[267678],"plugin_business_model":[],"class_list":["post-319302","plugin","type-plugin","status-publish","hentry","plugin_tags-assets","plugin_tags-cache","plugin_tags-cookies","plugin_tags-gdpr","plugin_tags-performance","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-ja1me4","plugin_committers-ja1me4"],"banners":{"banner":"https:\/\/ps.w.org\/nahnu-asset-scanner\/assets\/banner-772x250.png?rev=3576816","banner_2x":"https:\/\/ps.w.org\/nahnu-asset-scanner\/assets\/banner-1544x500.png?rev=3576816","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/nahnu-asset-scanner\/assets\/icon-128x128.png?rev=3576816","icon_2x":"https:\/\/ps.w.org\/nahnu-asset-scanner\/assets\/icon-256x256.png?rev=3576816","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/nahnu-asset-scanner\/assets\/screenshot-2.jpg?rev=3576816","caption":"<strong>JS tab<\/strong> \u2014 every script with plugin attribution and third-party badges"},{"src":"https:\/\/ps.w.org\/nahnu-asset-scanner\/assets\/screenshot-3.jpg?rev=3576816","caption":"<strong>CSS tab<\/strong> \u2014 every stylesheet with source identification"},{"src":"https:\/\/ps.w.org\/nahnu-asset-scanner\/assets\/screenshot-4.jpg?rev=3576816","caption":"<strong>Cookies tab<\/strong> \u2014 complete cookie inventory with category, plugin source, and expiry"},{"src":"https:\/\/ps.w.org\/nahnu-asset-scanner\/assets\/screenshot-5.jpg?rev=3576816","caption":"<strong>Domains tab<\/strong> \u2014 all external domains detected during the scan"},{"src":"https:\/\/ps.w.org\/nahnu-asset-scanner\/assets\/screenshot-6.jpg?rev=3576816","caption":"<strong>Settings tab<\/strong> \u2014 scan configuration"}],"raw_content":"<!--section=description-->\n<p><strong>Nahnu Asset Scanner<\/strong> manually scans the pages you choose and builds a complete inventory of everything loaded on your site's front end. Instead of guessing which scripts to defer or which cookies need a consent banner, you get a precise, plugin-attributed list to work from.<\/p>\n\n<h3>What it scans<\/h3>\n\n<ul>\n<li><strong>JavaScript<\/strong> \u2014 every script, inline or external, with file path, size, whether it's first- or third-party, and which plugin or theme registered it<\/li>\n<li><strong>CSS<\/strong> \u2014 every stylesheet with the same attribution detail<\/li>\n<li><strong>Cookies<\/strong> \u2014 every cookie set during page load, categorized as Necessary \/ Preferences \/ Analytics \/ Marketing, with the plugin that sets it identified from a bundled database of 600+ known cookie patterns covering 400+ plugins<\/li>\n<li><strong>Domains<\/strong> \u2014 every third-party domain contacted, identified by category using the bundled vendor map<\/li>\n<\/ul>\n\n<h3>Why it matters<\/h3>\n\n<p><strong>Cache configuration<\/strong> \u2014 cache plugins need to know which cookies bypass the cache (WooCommerce cart, WPML language, login cookies) and which JS\/CSS files to exclude from minification or combination. This plugin gives you those exact file paths and cookie names from a real scan of your site, not a generic list.<\/p>\n\n<p><strong>Cookie consent<\/strong> \u2014 before configuring Complianz, CookieYes, or Real Cookie Banner, run a scan to get an accurate, categorized cookie inventory. The bundled database covers WooCommerce, membership plugins, LMS platforms, builders, security plugins, analytics services, ad networks, chat widgets, and more.<\/p>\n\n<p><strong>Performance auditing<\/strong> \u2014 identify render-blocking scripts, bloated third-party embeds, and unnecessary tracking pixels. The JS and CSS tabs show inline vs. external, first-party vs. third-party, and file size at a glance.<\/p>\n\n<p><strong>Third-party auditing<\/strong> \u2014 the Domains tab reveals every external service your site contacts. Use it as the starting point for a Content Security Policy or to assess your GDPR third-party processor list.<\/p>\n\n<h3>Cookie database<\/h3>\n\n<p>The plugin ships with a bundled cookie database covering 600+ patterns from 400+ WordPress plugins and services. No external requests are made \u2014 everything is included in the plugin:<\/p>\n\n<ul>\n<li><strong>WooCommerce ecosystem<\/strong> \u2014 WooCommerce, YITH plugins, CartFlows, FunnelKit, Dokan, and payment gateways (Stripe, PayPal, Klarna, Mollie, Braintree)<\/li>\n<li><strong>Membership &amp; LMS<\/strong> \u2014 MemberPress, Paid Memberships Pro, Restrict Content Pro, s2Member, WishList Member, LearnDash, LifterLMS, Tutor LMS, Sensei, Masteriyo, LearnPress<\/li>\n<li><strong>Community<\/strong> \u2014 BuddyPress, BuddyBoss, bbPress, PeepSo, wpForo<\/li>\n<li><strong>Page builders<\/strong> \u2014 Elementor, Divi, Beaver Builder, Brizy, Bricks, Oxygen, WPBakery<\/li>\n<li><strong>Security<\/strong> \u2014 Wordfence, Solid Security (iThemes), Sucuri, Shield Security, WP Cerber, CleanTalk, MalCare<\/li>\n<li><strong>Caching<\/strong> \u2014 WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Fastest Cache, WP Optimize, SiteGround Optimizer, Hummingbird, Swift Performance<\/li>\n<li><strong>Analytics<\/strong> \u2014 Google Analytics (UA + GA4), Hotjar, Matomo, Heap, Lucky Orange, FullStory, Mouseflow, Inspectlet, VWO, Optimizely, Microsoft Clarity<\/li>\n<li><strong>Advertising<\/strong> \u2014 Meta Pixel, Google Ads, Microsoft Ads, TikTok, LinkedIn, Pinterest, Google DoubleClick, Taboola, Outbrain, Criteo, The Trade Desk, Marketo, Oracle Eloqua, Salesforce Pardot<\/li>\n<li><strong>Live chat<\/strong> \u2014 Tawk.to, LiveChat, Tidio, Crisp, Zendesk, Freshchat, Intercom, Drift, Olark, HubSpot<\/li>\n<li><strong>Consent platforms<\/strong> \u2014 CookieYes, Complianz, Borlabs Cookie, Real Cookie Banner, Cookiebot, OneTrust, Osano, Cookie Notice<\/li>\n<li><strong>Email marketing<\/strong> \u2014 Klaviyo, Brevo, Omnisend, ActiveCampaign, ConvertKit, Drip, MailPoet, Mailster, MC4WP<\/li>\n<li><strong>Accessibility<\/strong> \u2014 accessiBe, UserWay, EqualWeb, AudioEye<\/li>\n<\/ul>\n\n<h3>Key features<\/h3>\n\n<ul>\n<li>Manual scan \u2014 you choose which pages to scan (up to 10 per run)<\/li>\n<li>No external requests \u2014 everything runs on your server with bundled data<\/li>\n<li>Plugin attribution \u2014 JS, CSS, and cookies are matched to the plugin that registered\/sets them<\/li>\n<li>CSV export on every tab<\/li>\n<li>Fully self-contained \u2014 no account, no API key, no internet connection required<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>Nahnu Asset Scanner makes no external HTTP requests of any kind. All scans run entirely on your server. All cookie identification data is bundled within the plugin. No data about your site or visitors is ever sent anywhere.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>nahnu-asset-scanner<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Activate the plugin<\/li>\n<li>Go to <strong>Tools \u2192 Asset Scanner<\/strong><\/li>\n<li>Select the pages you want to scan on the Pages tab<\/li>\n<li>Click <strong>Run Scan<\/strong><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20slow%20down%20my%20site%3F\"><h3>Does this plugin slow down my site?<\/h3><\/dt>\n<dd><p>No. The scanner only runs when you manually click \"Run Scan\" in the admin. It makes no changes to your front end and loads no assets for visitors.<\/p><\/dd>\n<dt id=\"how%20many%20pages%20can%20i%20scan%20at%20once%3F\"><h3>How many pages can I scan at once?<\/h3><\/dt>\n<dd><p>Up to 10 pages per scan. You can run multiple scans to cover different sections of your site.<\/p><\/dd>\n<dt id=\"how%20is%20this%20different%20from%20a%20cookie%20consent%20plugin%3F\"><h3>How is this different from a cookie consent plugin?<\/h3><\/dt>\n<dd><p>This is an audit\/inventory tool, not a consent banner plugin. It helps you understand what your site is doing so you can configure consent plugins, cache rules, and performance tools accurately. It works well alongside Complianz, CookieYes, or Real Cookie Banner.<\/p><\/dd>\n<dt id=\"how%20do%20i%20use%20the%20results%20with%20a%20cache%20plugin%3F\"><h3>How do I use the results with a cache plugin?<\/h3><\/dt>\n<dd><ul>\n<li><strong>Cookies tab<\/strong> \u2014 copy cookie names into your cache plugin's \"bypass cache for these cookies\" list (WooCommerce cart, login, language cookies must bypass the cache)<\/li>\n<li><strong>JS tab<\/strong> \u2014 copy file paths into your cache plugin's \"exclude from defer\/delay\" list for critical scripts<\/li>\n<li><strong>CSS tab<\/strong> \u2014 copy file paths into your cache plugin's \"exclude from combine\/minify\" list if you experience layout issues<\/li>\n<\/ul><\/dd>\n<dt id=\"does%20the%20plugin%20make%20any%20external%20requests%3F\"><h3>Does the plugin make any external requests?<\/h3><\/dt>\n<dd><p>No. The plugin makes zero external HTTP requests. All cookie identification uses data bundled within the plugin itself.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20on%20a%20multisite%3F\"><h3>Can I use this on a multisite?<\/h3><\/dt>\n<dd><p>The plugin is currently designed for single-site installations. Multisite support is planned for a future release.<\/p><\/dd>\n<dt id=\"where%20is%20scan%20data%20stored%3F\"><h3>Where is scan data stored?<\/h3><\/dt>\n<dd><p>All data is stored in your own database in custom tables (<code>nahnuas_scans<\/code>, <code>nahnuas_pages<\/code>, <code>nahnuas_assets<\/code>, <code>nahnuas_cookies<\/code>, <code>nahnuas_domains<\/code>). Everything is removed cleanly when you uninstall the plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Scans JS files, CSS files, cookies, and external domains across selected pages.<\/li>\n<li>600+ bundled cookie patterns covering 400+ WordPress plugins and services.<\/li>\n<li>No external HTTP requests \u2014 fully self-contained.<\/li>\n<li>Four tabs: JS, CSS, Cookies, Domains \u2014 each with CSV export.<\/li>\n<li>Fully translatable.<\/li>\n<li>No license required \u2014 completely free.<\/li>\n<\/ul>","raw_excerpt":"Scan your site&#039;s front end to inventory every JS file, CSS file, cookie, and external domain \u2014 the foundation for accurate cache configuration an &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/319302","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=319302"}],"author":[{"embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ja1me4"}],"wp:attachment":[{"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=319302"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=319302"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=319302"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=319302"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=319302"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-mx.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=319302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}