{"id":331220,"date":"2026-06-24T14:26:21","date_gmt":"2026-06-24T14:26:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/naveencodes-core-web-vitals\/"},"modified":"2026-06-24T14:26:00","modified_gmt":"2026-06-24T14:26:00","slug":"naveencodes-core-web-vitals","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/naveencodes-core-web-vitals\/","author":16310057,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.0","stable_tag":"1.5.0","tested":"7.0","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"NaveenCodes Core Web Vitals","header_author":"Naveen Goyal","header_description":"Measure LCP, CLS, INP, FCP, TTFB from real visitors. Script Manager with CSS coverage, Plugin Impact analyzer, conflict detector, hook inspector, global handle disable, page analysis, database optimizer and 13 one-click speed fixes \u2014 the complete WordPress performance powerhouse.","assets_banners_color":"2e3417","last_updated":"2026-06-24 14:26:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/naveencodes-core-web-vitals\/","header_author_uri":"https:\/\/naveencodes.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":30,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.5.0":{"tag":"1.5.0","author":"shinu1503","date":"2026-06-24 14:26:00"}},"upgrade_notice":{"1.1.0":"<p>Major update \u2014 adds Page Analysis, Database Optimizer, CSS\/JS\/HTML minification, slow request detection and per-page settings.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3584922,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3584922,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3584922,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3584922,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.5.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Dashboard \u2014 metric cards with traffic-light status and 7-day sparklines","2":"Page Analysis \u2014 all pages with CWV, issues and Quick Fix button","3":"Optimizer \u2014 13 one-click speed fixes with toggle switches","4":"Assets \u2014 slowest resources detected from real visitors","5":"Database \u2014 cleanup + optimize tables with table size breakdown","6":"Settings \u2014 collection configuration and data management"}},"plugin_section":[],"plugin_tags":[215387,187460,194867,5896,247],"plugin_category":[54],"plugin_contributors":[232463],"plugin_business_model":[],"class_list":["post-331220","plugin","type-plugin","status-publish","hentry","plugin_tags-cls","plugin_tags-core-web-vitals","plugin_tags-lcp","plugin_tags-page-speed","plugin_tags-performance","plugin_category-security-and-spam-protection","plugin_contributors-shinu1503","plugin_committers-shinu1503"],"banners":{"banner":"https:\/\/ps.w.org\/naveencodes-core-web-vitals\/assets\/banner-772x250.png?rev=3584922","banner_2x":"https:\/\/ps.w.org\/naveencodes-core-web-vitals\/assets\/banner-1544x500.png?rev=3584922","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/naveencodes-core-web-vitals\/assets\/icon-128x128.png?rev=3584922","icon_2x":"https:\/\/ps.w.org\/naveencodes-core-web-vitals\/assets\/icon-256x256.png?rev=3584922","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>NaveenCodes Core Web Vitals<\/strong> is the most complete free performance plugin for WordPress. It measures Core Web Vitals from your actual visitors, shows you exactly which pages are slow and why, and gives you the tools to fix every issue \u2014 from CSS minification to database cleanup.<\/p>\n\n<p><strong>Real User Monitoring (RUM):<\/strong>\nUnlike lab tools (Lighthouse, PageSpeed Insights), this plugin measures from your real visitors on real devices and networks \u2014 the same signal Google uses for Search ranking.<\/p>\n\n<p><strong>Metrics collected from every visitor:<\/strong>\n* <strong>LCP<\/strong> (Largest Contentful Paint) \u2014 loading performance\n* <strong>CLS<\/strong> (Cumulative Layout Shift) \u2014 visual stability\n* <strong>INP<\/strong> (Interaction to Next Paint) \u2014 responsiveness\n* <strong>FCP<\/strong> (First Contentful Paint) \u2014 time to first render\n* <strong>TTFB<\/strong> (Time to First Byte) \u2014 server response speed<\/p>\n\n<p><strong>Slow Request Detection:<\/strong>\nThe collector uses the browser's Resource Timing API to identify the slowest network requests on each page \u2014 scripts, stylesheets, images, fonts \u2014 and surfaces them in the Assets page with load time, file size and render-blocking status.<\/p>\n\n<p><strong>Page Analysis:<\/strong>\n* See every published post and page with its real CWV scores\n* Per-page issues with specific fix suggestions\n* Quick Fix button \u2014 automatically enables the right optimizer settings\n* Per-page overrides \u2014 exclude specific scripts\/styles on individual pages\n* Preload a specific URL (hero image, font) for a page<\/p>\n\n<p><strong>Built-in Speed Optimizer \u2014 13 one-click fixes:<\/strong><\/p>\n\n<p><em>Images:<\/em>\n* Lazy Load Images (LCP)<\/p>\n\n<p><em>Resources:<\/em>\n* Preconnect hints for Google Fonts (FCP)\n* Defer non-critical JavaScript (LCP)\n* Remove version query strings<\/p>\n\n<p><em>WordPress Cleanup:<\/em>\n* Remove emoji scripts (-33 KB)\n* Disable Dashicons for guests (-30 KB)\n* Disable self-pingbacks<\/p>\n\n<p><em>Minification:<\/em>\n* Minify CSS files \u2014 local files with cache\n* Minify JavaScript files \u2014 local files with cache\n* Minify HTML output<\/p>\n\n<p><em>Advanced Resources:<\/em>\n* Google Fonts \u2014 non-blocking async load (FCP)\n* DNS prefetch for external domains (TTFB)\n* Preload theme stylesheet (FCP)<\/p>\n\n<p><strong>Database Optimizer:<\/strong>\n* Clean post revisions\n* Remove spam comments\n* Delete trashed posts and comments\n* Remove expired transients\n* Delete auto-draft posts\n* Remove orphaned post meta\n* OPTIMIZE TABLE \u2014 defragment and reclaim disk space\n* Visual table size breakdown<\/p>\n\n<p><strong>Dashboard:<\/strong>\n* Per-metric traffic-light status (Good \/ Needs Work \/ Poor)\n* 7-day trend sparklines\n* Slowest pages table\n* Device filter (mobile \/ tablet \/ desktop)<\/p>\n\n<p><strong>Privacy &amp; Architecture:<\/strong>\n* No external service \u2014 all data in your WordPress database\n* Configurable sampling rate (1\u2013100%)\n* Configurable data retention (7\u2013365 days)\n* Exclude specific URLs or logged-in users\n* Automatic daily cleanup cron<\/p>\n\n<p>This plugin is 100% free \u2014 no premium tier, no ads, no upsells. Made with love by MAA Labs in memory of Maa \u2764\ufe0f<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>Core Web Vitals \u2192 Dashboard<\/strong>.<\/li>\n<li>Visit a few pages \u2014 data appears within minutes.<\/li>\n<li>Enable optimizations under <strong>Core Web Vitals \u2192 Optimizer<\/strong>.<\/li>\n<li>Check <strong>Core Web Vitals \u2192 Page Analysis<\/strong> for per-page issues.<\/li>\n<li>Use <strong>Core Web Vitals \u2192 Database<\/strong> to clean up your database.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20long%20until%20i%20see%20data%3F\"><h3>How long until I see data?<\/h3><\/dt>\n<dd><p>Data appears within minutes of activation. Visit a few pages on your site, then check the Dashboard.<\/p><\/dd>\n<dt id=\"does%20this%20affect%20page%20load%20speed%3F\"><h3>Does this affect page load speed?<\/h3><\/dt>\n<dd><p>The collector script is tiny (~3 KB), non-blocking, and sends data on page unload using <code>navigator.sendBeacon<\/code>. Zero impact on your Core Web Vitals scores.<\/p><\/dd>\n<dt id=\"how%20does%20css%2Fjs%20minification%20work%3F\"><h3>How does CSS\/JS minification work?<\/h3><\/dt>\n<dd><p>Local CSS and JS files are read, minified using a pure-PHP minifier, and cached in <code>uploads\/ncwv-min\/<\/code>. The cached version is served instead of the original. Clear the cache from the Assets page after updating your theme.<\/p><\/dd>\n<dt id=\"is%20data%20sent%20to%20an%20external%20server%3F\"><h3>Is data sent to an external server?<\/h3><\/dt>\n<dd><p>No. All data is stored locally in your WordPress database.<\/p><\/dd>\n<dt id=\"what%20does%20the%20database%20optimizer%20do%3F\"><h3>What does the Database Optimizer do?<\/h3><\/dt>\n<dd><p>It finds and removes post revisions, spam comments, trashed items, expired transients, auto-draft posts and orphaned post meta. It also runs <code>OPTIMIZE TABLE<\/code> to reclaim disk space.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20certain%20pages%20or%20scripts%3F\"><h3>Can I exclude certain pages or scripts?<\/h3><\/dt>\n<dd><p>Yes \u2014 use <strong>Page Analysis \u2192 Settings<\/strong> to exclude specific script\/style handles on individual pages. Use <strong>Settings \u2192 Exclude URLs<\/strong> to skip pages from CWV collection.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Fix: Resolved all Plugin Check (PHPCS) warnings for WP.org submission \u2014 escape output, nonce ignore blocks, WP_Filesystem for rmdir, prefixed globals in uninstall, load_plugin_textdomain removed, table name interpolation safety<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Fix: Added output buffer flush at the start of every AJAX handler \u2014 clears any stray PHP output from other plugins before sending JSON, resolving \"Error. Try again.\" across all pages despite HTTP 200 responses<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Fix: Removed $.ajaxPrefilter that caused jQuery 3 parseerror on all AJAX responses, breaking every button sitewide<\/li>\n<li>Fix: Removed global ob_start\/ob_end_clean in wp_die_ajax_handler filter that disrupted PHP output buffers<\/li>\n<li>Fix: Load Hooks no longer causes PHP fatal \u2014 WP_Hook iterator accessed via -&gt;callbacks directly<\/li>\n<li>Fix: Plugin Impact analyzer uses shallow glob scan to avoid memory exhaustion on large plugins (WooCommerce etc.)<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: Script Manager \u2014 scan any URL to see every script\/style loaded, handles, async\/defer status, render-blocking indicator<\/li>\n<li>New: CSS Coverage \u2014 compare CSS class selectors in each stylesheet vs classes actually used in page HTML; reports unused %<\/li>\n<li>New: Global Script\/Style Disable \u2014 sitewide dequeue of any handle by name, stored in settings, applied at priority 999<\/li>\n<li>New: Plugin Impact Analyzer \u2014 scan active plugins for hook count, script\/style count, PHP files and size; ranked by footprint score<\/li>\n<li>New: Conflict Detector \u2014 detects multiple cache plugins, SEO plugins, analytics scripts, jQuery Migrate, double minification<\/li>\n<li>New: Hook Inspector \u2014 shows all registered WordPress actions\/filters (top 150 by callback count) with live filter search<\/li>\n<li>New: Image Audit \u2014 page scanner reports images missing width\/height (CLS risk) and images without lazy loading<\/li>\n<li>Improvement: Optimizer now applies globally disabled handles via wp_dequeue_script\/wp_dequeue_style at priority 999<\/li>\n<li>Improvement: Admin tabs updated with Script Manager and Plugins &amp; Hooks pages<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: Page Analysis \u2014 all pages with per-page CWV scores, issues and Quick Fix<\/li>\n<li>New: Per-page settings \u2014 exclude scripts\/styles and add preload hints per page<\/li>\n<li>New: Assets page \u2014 slow resource audit from Resource Timing API<\/li>\n<li>New: Database Optimizer \u2014 revisions, spam, transients, orphaned meta, OPTIMIZE TABLE<\/li>\n<li>New: CSS minification with file cache<\/li>\n<li>New: JavaScript minification with file cache<\/li>\n<li>New: HTML minification via output buffer<\/li>\n<li>New: Google Fonts async (non-render-blocking) loader<\/li>\n<li>New: DNS prefetch hints for external domains<\/li>\n<li>New: Preload theme stylesheet hint<\/li>\n<li>New: Resources REST endpoint \u2014 collector now sends slow resource data<\/li>\n<li>New: ncwv_resources table in database<\/li>\n<li>Improvement: Cron now cleans old resource records<\/li>\n<li>Improvement: Clear Data also clears resource table<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Real-user LCP, CLS, INP, FCP, TTFB collection<\/li>\n<li>Dashboard with metric cards, sparklines, worst-pages table<\/li>\n<li>Real Users per-page metrics table with device filter<\/li>\n<li>Built-in Speed Optimizer with 7 optimizations<\/li>\n<li>Daily cron cleanup, WP.org review notice<\/li>\n<\/ul>","raw_excerpt":"Measure LCP, CLS, INP, FCP and TTFB from real visitors. 13 optimizer fixes, database cleaner, script manager and conflict detector.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/331220","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=331220"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shinu1503"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=331220"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=331220"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=331220"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=331220"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=331220"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=331220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}