Performance

How to Fix First Contentful Paint (FCP)

First Contentful Paint measures how quickly any content appears on screen. Learn how to eliminate delays and get FCP under 1.8 seconds.

What Lighthouse Is Telling You

When Lighthouse flags First Contentful Paint, it means the browser took too long to render any text, image, SVG, or non-white canvas element. FCP carries a weight of 10 in the Performance score. While it is lighter than LCP and TBT, a slow FCP usually indicates problems that cascade into other metrics.

FCP is the earliest signal that the page is loading. Users perceive a blank screen as broken — even one second of nothing feels slow.

Why FCP Is Slow

The Old Way to Fix It

  1. Run Lighthouse and note the FCP time
  2. Check the Network panel waterfall for render-blocking resources
  3. Identify which CSS and JS files block rendering
  4. Manually extract critical CSS (above-the-fold styles) and inline it
  5. Defer non-critical CSS with media="print" or dynamic loading
  6. Add defer or async to script tags
  7. Add font-display: swap to web font declarations
  8. Eliminate redirect chains in your server config
  9. Re-run Lighthouse to check
  10. Repeat

Extracting critical CSS manually is especially painful — you need to identify every style rule that applies to above-the-fold content across every breakpoint.

The Frontman Way

Tell Frontman to fix your Lighthouse issues. That is the entire workflow.

Frontman has a built-in Lighthouse tool. It runs the audit, reads the failing scores, fixes the underlying code, and re-runs the audit to verify the score went up. If issues remain, it keeps going — iterating through fixes and re-checks until the metrics pass. You do not manually extract critical CSS or trace render-blocking resources through the network waterfall. You say “fix the Lighthouse issues on this page” and Frontman handles the rest.

Key Fixes for FCP

People Also Ask

Is FCP the same as Time to First Byte?

No. TTFB measures when the first byte of the HTML response arrives at the browser. FCP measures when the first content actually paints on screen. TTFB is one component of FCP — the browser still needs to parse HTML, download blocking resources, and render content after TTFB.

Can client-side rendering hurt FCP?

Yes. Single-page applications that rely entirely on client-side rendering show a blank page until JavaScript downloads, parses, and executes. Server-side rendering or static generation sends pre-rendered HTML, allowing FCP to happen before JavaScript loads.

What is the relationship between FCP and CLS?

They measure different things. FCP measures time to first paint; CLS measures visual stability. However, font loading issues can affect both: a slow font delays FCP, and a font swap after FCP can cause layout shifts.

Does a CDN help FCP?

Yes. A CDN serves content from edge nodes close to the user, reducing TTFB by 50–200 ms in many cases. Less time waiting for HTML means faster FCP.


You can use Frontman to automatically fix this and any other Lighthouse issue. Frontman runs the audit, reads the results, applies the fixes, and verifies the improvement — all inside the browser you are already working in. Get started with one install command.