Render Blocking
Resources (CSS, JavaScript, fonts) that prevent the browser from rendering page content until they are fully downloaded and processed. Render-blocking resources directly delay First Contentful Paint and Largest Contentful Paint.
Render-blocking resources force the browser to pause rendering while it downloads and parses them. External CSS files block rendering because the browser needs style information to lay out the page. Synchronous JavaScript blocks both parsing and rendering. Web fonts can cause invisible text while loading. Together, these resources can add seconds to perceived load time even when server response is fast.
For engineering teams, minimizing render-blocking resources is one of the most impactful performance optimizations. Inline critical CSS (the styles needed for above-the-fold content) and defer the rest. Add async or defer attributes to JavaScript files that are not needed for initial render. Use font-display: swap or optional to prevent font files from blocking text rendering. Preload critical resources with link rel="preload" to start downloads earlier. Use Chrome DevTools Coverage panel to identify unused CSS and JavaScript that can be removed or deferred. For Next.js, the framework handles much of this automatically, but third-party scripts often reintroduce render-blocking issues and need careful management.
Related Terms
Core Web Vitals
A set of three Google-defined metrics that measure real-world user experience for loading performance, interactivity, and visual stability. Core Web Vitals are a confirmed ranking factor in Google Search.
Largest Contentful Paint (LCP)
A Core Web Vital that measures the time from page load start until the largest visible content element (image, video, or text block) is rendered on screen. Good LCP is 2.5 seconds or less.
Interaction to Next Paint (INP)
A Core Web Vital that measures the latency of all user interactions (clicks, taps, keyboard input) throughout the page lifecycle, reporting the worst interaction. Good INP is 200 milliseconds or less.
Cumulative Layout Shift (CLS)
A Core Web Vital that measures the total amount of unexpected layout shifts that occur during a page's entire lifespan. Good CLS is 0.1 or less, where layout shifts are calculated from the impact and distance of moving elements.
Time to First Byte (TTFB)
The duration from the user's request to the first byte of the server response reaching the browser. TTFB measures server-side processing speed and network latency, directly impacting all subsequent loading metrics.
Crawl Budget
The number of pages a search engine bot will crawl on your site within a given timeframe, determined by crawl rate limit and crawl demand. Crawl budget optimization ensures important pages are discovered and indexed efficiently.