{"id":697,"date":"2025-09-18T23:18:10","date_gmt":"2025-09-18T23:18:10","guid":{"rendered":"https:\/\/www.pofii.com\/blog\/?p=697"},"modified":"2025-09-18T23:18:26","modified_gmt":"2025-09-18T23:18:26","slug":"inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english","status":"publish","type":"post","link":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/","title":{"rendered":"INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English)"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">On Pofii\u2019s <strong>Pofii-Tuned LiteSpeed<\/strong> &amp; uncapped plans you already get a fast base. Pair that with the fixes below and your site will feel instant.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#How_to_profile_a_slow_interaction_2_minutes\" >How to profile a slow interaction (2 minutes)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#Step_1_Reproduce_the_jank\" >Step 1: Reproduce the jank<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#Step_2_Record_the_interaction\" >Step 2: Record the interaction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#Step_3_Zoom_into_the_%E2%80%9CLongest_Interaction%E2%80%9D\" >Step 3: Zoom into the \u201cLongest Interaction\u201d<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#Step_4_Identify_the_culprits\" >Step 4: Identify the culprits<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#Fix_playbook_prioritized\" >Fix playbook (prioritized)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#1_Defer_and_delay_non-critical_JavaScript\" >1) Defer and delay non-critical JavaScript<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#2_Split_long_tasks_into_small_chunks\" >2) Split long tasks into small chunks<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#3_Cut_third-party_bloat_or_load_when_its_needed\" >3) Cut third-party bloat (or load when it\u2019s needed)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#4_Reduce_work_at_the_moment_of_click\" >4) Reduce work at the moment of click<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#5_Keep_the_DOM_light_predictable\" >5) Keep the DOM light &amp; predictable<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#6_WooCommerce_specifics_that_help_INP\" >6) WooCommerce specifics that help INP<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#Verify_the_win_repeat_the_profile\" >Verify the win (repeat the profile)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#10-point_INP_checklist_copypaste\" >10-point INP checklist (copy\/paste)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#FAQ\" >FAQ<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#Final_word\" >Final word<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"h-how-to-profile-a-slow-interaction-2-minutes\"><span class=\"ez-toc-section\" id=\"How_to_profile_a_slow_interaction_2_minutes\"><\/span>How to profile a slow interaction (2 minutes)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-1-reproduce-the-jank\"><span class=\"ez-toc-section\" id=\"Step_1_Reproduce_the_jank\"><\/span>Step 1: Reproduce the jank<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open the page that feels slow (menu open, add-to-cart, search). Use a real device or simulate <strong>CPU 4\u00d7 slow-down<\/strong> in DevTools for clarity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-2-record-the-interaction\"><span class=\"ez-toc-section\" id=\"Step_2_Record_the_interaction\"><\/span>Step 2: Record the interaction<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Open Chrome DevTools \u2192 Performance<\/strong><\/li>\n\n\n\n<li>Click <strong>Record<\/strong>, perform the action (e.g., open mobile menu, add to cart), then <strong>Stop<\/strong> after ~5\u201310 seconds.<\/li>\n\n\n\n<li>In the timeline, enable <strong>Web Vitals<\/strong> lane (three-dot menu \u2192 \u201cWeb Vitals\u201d). DevTools highlights <strong>Longest Interaction<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-3-zoom-into-the-longest-interaction\"><span class=\"ez-toc-section\" id=\"Step_3_Zoom_into_the_%E2%80%9CLongest_Interaction%E2%80%9D\"><\/span>Step 3: Zoom into the \u201cLongest Interaction\u201d<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Click the <strong>purple Interactions<\/strong> marker.<\/li>\n\n\n\n<li>On the <strong>Main<\/strong> thread below, look for <strong>Long tasks<\/strong> (thick bars; red triangle corners).<\/li>\n\n\n\n<li>Expand the task \u2192 expand <strong>Evaluate Script<\/strong> \/ <strong>Function Call<\/strong> to see <strong>which file &amp; function<\/strong> caused the stall (e.g., <code>theme.js<\/code>, <code>mega-menu.js<\/code>, <code>analytics.js<\/code>).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-4-identify-the-culprits\"><span class=\"ez-toc-section\" id=\"Step_4_Identify_the_culprits\"><\/span>Step 4: Identify the culprits<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Common jank sources:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Big theme bundles firing on <strong>every page<\/strong><\/li>\n\n\n\n<li>Third-party scripts (chat, heatmaps, A\/B, old tag managers)<\/li>\n\n\n\n<li>WooCommerce add-ons binding too many handlers<\/li>\n\n\n\n<li>\u201cCart fragments\u201d refreshing mini-cart on every view (fix here: <a href=\"https:\/\/www.pofii.com\/blog\/woocommerce-cart-fragments-stop-the-ajax-drag\/\">WooCommerce Cart Fragments<\/a>)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Now fix what you just found.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-fix-playbook-prioritized\"><span class=\"ez-toc-section\" id=\"Fix_playbook_prioritized\"><\/span>Fix playbook (prioritized)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-defer-and-delay-non-critical-javascript\"><span class=\"ez-toc-section\" id=\"1_Defer_and_delay_non-critical_JavaScript\"><\/span>1) Defer and delay non-critical JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If a script doesn\u2019t need to run <strong>before<\/strong> the first interaction, push it back.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LiteSpeed Cache quick win:<\/strong> turn on <strong>JS Defer<\/strong> and <strong>Delay JS<\/strong> (safe defaults here: <a href=\"https:\/\/www.pofii.com\/blog\/litespeed-cache-for-wordpress-safe-defaults-for-speed-woo-included\/\">LiteSpeed Cache for WordPress<\/a>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Manual delay on interaction (vanilla JS):<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script&gt;\n(function() {\n  let loaded = false;\n  function loadScriptOnce(src){ if(loaded) return; loaded = true;\n    var s = document.createElement('script'); s.src = src; document.head.appendChild(s);\n  }\n  &#91;'click','touchstart','keydown','mousemove','scroll'].forEach(evt=&gt;{\n    window.addEventListener(evt, ()=&gt;loadScriptOnce('\/js\/noncritical-bundle.js'), {once:true, passive:true});\n  });\n})();\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Loads your heavy bundle <strong>after<\/strong> the first user signal\u2014INP improves because the main thread is free <strong>when they actually click<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-split-long-tasks-into-small-chunks\"><span class=\"ez-toc-section\" id=\"2_Split_long_tasks_into_small_chunks\"><\/span>2) Split long tasks into small chunks<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If a function runs for 120 ms, break it into <strong>micro-tasks<\/strong> so the browser can paint between chunks.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Bad: one giant loop blocks UI ~120ms\ndoExpensiveWork(items);\n\n\/\/ Better: chunk work; let the browser breathe\nconst CHUNK = 50;\nfunction chunkedWork(list, i=0){\n  const end = Math.min(i+CHUNK, list.length);\n  for(let x=i; x&lt;end; x++){ doUnit(list&#91;x]); }\n  if(end &lt; list.length) setTimeout(()=&gt;chunkedWork(list, end), 0); \/\/ yield\n}\nchunkedWork(items);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For truly heavy stuff, consider <strong>Web Workers<\/strong> (off-main-thread).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-cut-third-party-bloat-or-load-when-it-s-needed\"><span class=\"ez-toc-section\" id=\"3_Cut_third-party_bloat_or_load_when_its_needed\"><\/span>3) Cut third-party bloat (or load when it\u2019s needed)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Move chat\/heatmap\/AB<\/strong> tools to <strong>after interaction<\/strong> (see snippet above) or fire only on pages that need them.<\/li>\n\n\n\n<li>In WordPress, dequeue scripts on sensitive pages (cart\/checkout\/search):<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>add_action('wp_enqueue_scripts', function () {\n  if (is_cart() || is_checkout()) {\n    wp_dequeue_script('hotjar');      \/\/ example handles\n    wp_dequeue_script('crazyegg');\n    wp_dequeue_script('ab-test');\n  }\n}, 100);\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-reduce-work-at-the-moment-of-click\"><span class=\"ez-toc-section\" id=\"4_Reduce_work_at_the_moment_of_click\"><\/span>4) Reduce work at the moment of click<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When the user clicks, do the <strong>minimum<\/strong> needed; schedule the rest.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>button.addEventListener('click', () =&gt; {\n  \/\/ immediate feedback\n  button.setAttribute('aria-busy','true');\n\n  \/\/ do the critical thing first\n  submitOrder();\n\n  \/\/ non-critical: postpone\n  requestIdleCallback(()=&gt; { preloadAccountTab(); prefetchRecommendations(); }, {timeout: 2000});\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If <code>requestIdleCallback<\/code> isn\u2019t available, use a short <code>setTimeout<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-5-keep-the-dom-light-amp-predictable\"><span class=\"ez-toc-section\" id=\"5_Keep_the_DOM_light_predictable\"><\/span>5) Keep the DOM light &amp; predictable<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Avoid re-rendering <strong>entire containers<\/strong> on click; update <strong>only the part<\/strong> that changed.<\/li>\n\n\n\n<li>Use <strong>event delegation<\/strong> (one listener on a parent instead of hundreds on children).<\/li>\n\n\n\n<li>Pre-measure dynamic elements (width\/height) to avoid extra layout work.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-6-woocommerce-specifics-that-help-inp\"><span class=\"ez-toc-section\" id=\"6_WooCommerce_specifics_that_help_INP\"><\/span>6) WooCommerce specifics that help INP<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Disable\/Delay Cart Fragments<\/strong> outside Cart\/Checkout:<br><a href=\"https:\/\/www.pofii.com\/blog\/woocommerce-cart-fragments-stop-the-ajax-drag\/\">Stop the AJAX Drag<\/a><\/li>\n\n\n\n<li><strong>Payment SDKs<\/strong>: enqueue only on checkout; avoid loading them site-wide.<\/li>\n\n\n\n<li><strong>Search &amp; filtering<\/strong>: prefer <strong>server-rendered<\/strong> results + fast <strong>object cache<\/strong>.<br>Pair with Redis: <a href=\"https:\/\/www.pofii.com\/blog\/wordpress-object-cache-redis-vs-memcached-setup-guide\/\">Object Cache (Redis vs Memcached)<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-verify-the-win-repeat-the-profile\"><span class=\"ez-toc-section\" id=\"Verify_the_win_repeat_the_profile\"><\/span>Verify the win (repeat the profile)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Re-record the exact interaction.<\/li>\n\n\n\n<li>Confirm the <strong>Longest Interaction<\/strong> shrank and the <strong>main-thread long tasks<\/strong> are now &lt;50 ms.<\/li>\n\n\n\n<li>Check <strong>INP<\/strong> in PageSpeed Insights after you deploy (field data trails; expect a few days to reflect).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Also make sure LCP is in good shape\u2014fast render helps perceived responsiveness:<br><a href=\"https:\/\/www.pofii.com\/blog\/woocommerce-image-speed-webp-avif-correct-sizes-lazy-load\/\">WooCommerce Image Speed<\/a> and<br><a href=\"https:\/\/www.pofii.com\/blog\/core-web-vitals-for-websites-lcp-inp-cls-in-2025\/\">Core Web Vitals (Plain English)<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-10-point-inp-checklist-copy-paste\"><span class=\"ez-toc-section\" id=\"10-point_INP_checklist_copypaste\"><\/span>10-point INP checklist (copy\/paste)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Defer &amp; delay non-critical JS (LSCache or manual)<\/li>\n\n\n\n<li>Load third-party scripts <strong>after interaction<\/strong> or only where needed<\/li>\n\n\n\n<li>Break big functions into <strong>micro-tasks<\/strong> (yield with <code>setTimeout(\u2026,0)<\/code>)<\/li>\n\n\n\n<li>Use <strong>event delegation<\/strong>; remove duplicate handlers<\/li>\n\n\n\n<li>Avoid full container re-renders on click<\/li>\n\n\n\n<li>Keep checkout\/cart pages <strong>clean<\/strong> (no chat\/heatmap there)<\/li>\n\n\n\n<li>Limit cart fragments to Cart\/Checkout<\/li>\n\n\n\n<li>Use <strong>object cache<\/strong> for backend load (Redis)<\/li>\n\n\n\n<li>Re-profile the interaction; confirm long tasks &lt;50 ms<\/li>\n\n\n\n<li>Monitor <strong>field INP<\/strong> in Search Console over time<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-faq\"><span class=\"ez-toc-section\" id=\"FAQ\"><\/span>FAQ<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How fast is \u201cgood\u201d INP?<\/strong><br>\u2264<strong>200 ms<\/strong> for the vast majority of interactions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Do I have to rewrite my theme?<\/strong><br>Usually not. Deferring\/delaying JS and trimming third-party scripts solve most INP issues.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Why do lab and field INP differ?<\/strong><br>Field data reflects real users (devices, networks). Ship the fixes, then watch GSC over a few weeks.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-final-word\"><span class=\"ez-toc-section\" id=\"Final_word\"><\/span>Final word<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">INP improves when you <strong>do less at the moment of click<\/strong>. Use the Chrome Profiler to pinpoint long tasks, then defer, delay, or split them. On Pofii\u2019s <strong>LiteSpeed-tuned<\/strong> stack, these changes shine\u2014your pages stay responsive even under load.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>INP (Interaction to Next Paint) measures how quickly your page visually responds after a user action (tap, click, key). Bad INP usually means the main thread is stuck doing long JavaScript tasks (\u226550 ms). This guide shows you, step by step, how to find those tasks with Chrome DevTools and fix them\u2014without breaking WooCommerce or WordPress.<\/p>\n","protected":false},"author":5,"featured_media":701,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,50,4],"tags":[260],"class_list":["post-697","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hosting","category-tutorials","category-wordpress","tag-inp"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English) - Pofii Insights<\/title>\n<meta name=\"description\" content=\"Improve INP fast: find long JS tasks with Chrome Profiler and fix\u2014defer\/delay scripts, split work, trim third-party. Plain-English guide.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English)\" \/>\n<meta property=\"og:description\" content=\"Improve INP fast: find long JS tasks with Chrome Profiler and fix\u2014defer\/delay scripts, split work, trim third-party. Plain-English guide.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/\" \/>\n<meta property=\"og:site_name\" content=\"Pofii Insights\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/PofiiCOM\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-18T23:18:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-18T23:18:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2025\/09\/inp-fixes.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"John Cavil\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@PofiiGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@PofiiGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Cavil\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/\"},\"author\":{\"name\":\"John Cavil\",\"@id\":\"https:\/\/www.pofii.com\/blog\/#\/schema\/person\/82dd56bd4b7d1ae512907145b3a68873\"},\"headline\":\"INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English)\",\"datePublished\":\"2025-09-18T23:18:10+00:00\",\"dateModified\":\"2025-09-18T23:18:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/\"},\"wordCount\":687,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.pofii.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2025\/09\/inp-fixes.png\",\"keywords\":[\"INP\"],\"articleSection\":[\"Hosting Tips &amp; Tricks\",\"Tutorials\",\"WordPress Mastery\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/\",\"url\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/\",\"name\":\"INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English) - Pofii Insights\",\"isPartOf\":{\"@id\":\"https:\/\/www.pofii.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2025\/09\/inp-fixes.png\",\"datePublished\":\"2025-09-18T23:18:10+00:00\",\"dateModified\":\"2025-09-18T23:18:26+00:00\",\"description\":\"Improve INP fast: find long JS tasks with Chrome Profiler and fix\u2014defer\/delay scripts, split work, trim third-party. Plain-English guide.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#primaryimage\",\"url\":\"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2025\/09\/inp-fixes.png\",\"contentUrl\":\"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2025\/09\/inp-fixes.png\",\"width\":1280,\"height\":720,\"caption\":\"inp fixes\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/nl.pofii.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.pofii.com\/blog\/#website\",\"url\":\"https:\/\/www.pofii.com\/blog\/\",\"name\":\"Pofii\",\"description\":\"Success Simplified.\",\"publisher\":{\"@id\":\"https:\/\/www.pofii.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.pofii.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.pofii.com\/blog\/#organization\",\"name\":\"Pofii\",\"url\":\"https:\/\/www.pofii.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.pofii.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2024\/12\/cropped-cropped-pofiiinsights-2.png\",\"contentUrl\":\"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2024\/12\/cropped-cropped-pofiiinsights-2.png\",\"width\":2079,\"height\":221,\"caption\":\"Pofii\"},\"image\":{\"@id\":\"https:\/\/www.pofii.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/PofiiCOM\",\"https:\/\/x.com\/PofiiGlobal\",\"https:\/\/www.instagram.com\/PofiiGlobal\",\"https:\/\/www.linkedin.com\/company\/Pofii\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.pofii.com\/blog\/#\/schema\/person\/82dd56bd4b7d1ae512907145b3a68873\",\"name\":\"John Cavil\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.pofii.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.pofii.com\/brand\/logo-icon-circle-friendly.png\",\"contentUrl\":\"https:\/\/www.pofii.com\/brand\/logo-icon-circle-friendly.png\",\"caption\":\"John Cavil\"},\"description\":\"WordPress Expert, Head of technical support at Pofii Ltd.\",\"sameAs\":[\"https:\/\/www.pofii.com\/blog\/author\/JohnC\"],\"url\":\"https:\/\/www.pofii.com\/blog\/author\/johnc\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English) - Pofii Insights","description":"Improve INP fast: find long JS tasks with Chrome Profiler and fix\u2014defer\/delay scripts, split work, trim third-party. Plain-English guide.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/","og_locale":"en_US","og_type":"article","og_title":"INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English)","og_description":"Improve INP fast: find long JS tasks with Chrome Profiler and fix\u2014defer\/delay scripts, split work, trim third-party. Plain-English guide.","og_url":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/","og_site_name":"Pofii Insights","article_publisher":"https:\/\/www.facebook.com\/PofiiCOM","article_published_time":"2025-09-18T23:18:10+00:00","article_modified_time":"2025-09-18T23:18:26+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2025\/09\/inp-fixes.png","type":"image\/png"}],"author":"John Cavil","twitter_card":"summary_large_image","twitter_creator":"@PofiiGlobal","twitter_site":"@PofiiGlobal","twitter_misc":{"Written by":"John Cavil","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#article","isPartOf":{"@id":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/"},"author":{"name":"John Cavil","@id":"https:\/\/www.pofii.com\/blog\/#\/schema\/person\/82dd56bd4b7d1ae512907145b3a68873"},"headline":"INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English)","datePublished":"2025-09-18T23:18:10+00:00","dateModified":"2025-09-18T23:18:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/"},"wordCount":687,"commentCount":0,"publisher":{"@id":"https:\/\/www.pofii.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2025\/09\/inp-fixes.png","keywords":["INP"],"articleSection":["Hosting Tips &amp; Tricks","Tutorials","WordPress Mastery"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/","url":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/","name":"INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English) - Pofii Insights","isPartOf":{"@id":"https:\/\/www.pofii.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#primaryimage"},"image":{"@id":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2025\/09\/inp-fixes.png","datePublished":"2025-09-18T23:18:10+00:00","dateModified":"2025-09-18T23:18:26+00:00","description":"Improve INP fast: find long JS tasks with Chrome Profiler and fix\u2014defer\/delay scripts, split work, trim third-party. Plain-English guide.","breadcrumb":{"@id":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#primaryimage","url":"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2025\/09\/inp-fixes.png","contentUrl":"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2025\/09\/inp-fixes.png","width":1280,"height":720,"caption":"inp fixes"},{"@type":"BreadcrumbList","@id":"https:\/\/www.pofii.com\/blog\/inp-fixes-kill-long-tasks-with-chrome-profiler-plain-english\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nl.pofii.com\/blog\/"},{"@type":"ListItem","position":2,"name":"INP Fixes: Kill Long Tasks with Chrome Profiler (Plain English)"}]},{"@type":"WebSite","@id":"https:\/\/www.pofii.com\/blog\/#website","url":"https:\/\/www.pofii.com\/blog\/","name":"Pofii","description":"Success Simplified.","publisher":{"@id":"https:\/\/www.pofii.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pofii.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.pofii.com\/blog\/#organization","name":"Pofii","url":"https:\/\/www.pofii.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pofii.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2024\/12\/cropped-cropped-pofiiinsights-2.png","contentUrl":"https:\/\/www.pofii.com\/blog\/wp-content\/uploads\/2024\/12\/cropped-cropped-pofiiinsights-2.png","width":2079,"height":221,"caption":"Pofii"},"image":{"@id":"https:\/\/www.pofii.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/PofiiCOM","https:\/\/x.com\/PofiiGlobal","https:\/\/www.instagram.com\/PofiiGlobal","https:\/\/www.linkedin.com\/company\/Pofii"]},{"@type":"Person","@id":"https:\/\/www.pofii.com\/blog\/#\/schema\/person\/82dd56bd4b7d1ae512907145b3a68873","name":"John Cavil","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pofii.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.pofii.com\/brand\/logo-icon-circle-friendly.png","contentUrl":"https:\/\/www.pofii.com\/brand\/logo-icon-circle-friendly.png","caption":"John Cavil"},"description":"WordPress Expert, Head of technical support at Pofii Ltd.","sameAs":["https:\/\/www.pofii.com\/blog\/author\/JohnC"],"url":"https:\/\/www.pofii.com\/blog\/author\/johnc\/"}]}},"_links":{"self":[{"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/posts\/697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/comments?post=697"}],"version-history":[{"count":1,"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/posts\/697\/revisions"}],"predecessor-version":[{"id":698,"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/posts\/697\/revisions\/698"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/media\/701"}],"wp:attachment":[{"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/media?parent=697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/categories?post=697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pofii.com\/blog\/wp-json\/wp\/v2\/tags?post=697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}