Skip to content

Slow site and poor Core Web Vitals scores: how to speed up your site

Medium 90 min Updated:

Quick answer

Poor Core Web Vitals scores usually come from a slow server, oversized images, render-blocking scripts and lack of caching. First measure the state in PageSpeed Insights and Search Console, then fix the biggest causes one by one: hosting and caching, images, blocking scripts and fonts.

How to recognize the problem

  • Pages take several seconds to load, especially on mobile internet
  • Google Search Console shows poor scores for LCP, INP or CLS
  • The site jumps while loading because images and ads are inserted afterwards
  • PageSpeed Insights shows red for mobile
  • Visitors complain that the page freezes when scrolling or clicking

Most common causes

Underpowered or overloaded hosting

Shared hosting with little RAM and no OPcache processes PHP requests slowly, so the first byte (TTFB) takes too long.

Unoptimized images

Multi-megabyte full-resolution images are the most common cause of poor LCP, especially on mobile.

Render-blocking scripts and styles

A large number of external scripts, ads and analytics tools delay content rendering and worsen INP.

No caching and compression

Without server-side and browser caching, and without compression, every visitor downloads all files again.

Unstable element layout

Images and banners without defined dimensions shift content and create poor CLS.

Step-by-step fix

  1. 1

    Measure the current state

    Open PageSpeed Insights and enter the URL of the homepage and the most visited page, especially for mobile. In Google Search Console, look at Core Web Vitals under the Experience section to see which page groups are failing. Write down the LCP, INP and CLS values before any changes so you have a measurable comparison later.

  2. 2

    Check server response time

    In PageSpeed Insights, pay attention to TTFB. If it is greater than about 0.8 seconds, the problem is most likely hosting or the database. In your hosting control panel, enable OPcache if available and check that the site is on the latest PHP version supported by your CMS. If traffic has grown, consider a stronger plan or moving to faster hosting.

  3. 3

    Enable caching and compression

    In the hosting panel or through a caching plugin, enable page caching and compression (Gzip or Brotli). Check that static files (images, CSS, JS) are cached in the browser for at least a few days. After each change, clear the cache and measure again.

  4. 4

    Optimize images

    Resize images to their actual display size, save them in WebP format and enable lazy loading (loading="lazy") for images below the fold. Do not lazy-load the main visual at the top of the page; preload it instead. In WordPress, you can handle this with an image optimization plugin or by processing images manually before upload.

  5. 5

    Reduce blocking scripts

    Remove plugins and external scripts you do not use, and load the remaining ones with defer or async where possible. Insert ads and chat tools only after the main content is rendered. Also check whether the same file (for example jQuery) is loaded multiple times.

  6. 6

    Tidy up fonts and CSS

    Limit yourself to one or two fonts and load only the necessary weights. Enable font-display: swap so text is visible while the font loads. Remove unused CSS where feasible, because a large number of styles delays first render.

  7. 7

    Define element dimensions

    Set width and height in advance for every image, video player and banner, or reserve space with CSS, so content does not shift during loading. Place ad blocks in fixed frames. This is the fastest way to fix the CLS score.

  8. 8

    Measure again and compare

    After changes, wait for the cache and CDN to refresh, then repeat the measurement in PageSpeed Insights and check Search Console when data refreshes, usually after two to four weeks. Compare with the initial values and keep only the changes that actually improved the result.

If scores still do not improve after everything

If the basic changes are done and LCP is still delayed, the cause is often at the infrastructure level: a distant server, a slow-responding database or a heavy CMS with many queries. Then it is worth enabling a CDN for static files, checking slow database queries and removing unnecessary plugins. For sites with a large catalog or many dynamic pages, consider full-page caching and a separate database server. Always measure on the same page and the same device, because results change from hour to hour and it is easy to draw the wrong conclusion from a single measurement.

How to prevent it

  • Regularly check Core Web Vitals in Search Console, at least once a month
  • Optimize images before upload and do not upload files larger than a few hundred kilobytes
  • Install only the plugins and scripts you really need
  • Monitor server response time and plan stronger hosting before major campaigns

When to call a professional

If after basic changes the site still has poor response time or crashes under traffic, the problem is probably in the hosting environment or database, and it is better to have someone with server access review it.

Website development · Fast, SEO-ready, multilingual websites

FAQ

How quickly are results visible after optimization?

PageSpeed Insights immediately shows a new lab score after clearing the cache, while field data and Search Console lag by weeks because they are calculated from real visits. Keep measuring and do not change too many things at once.

Is installing a caching plugin enough?

No. A plugin helps, but it does not solve oversized images, blocking scripts or a slow server. Caching is just one of the steps.

Why is the mobile score usually worse than the desktop score?

Mobile measurement often uses a slower connection and a weaker processor, so the same site is scored more strictly. That is why images and scripts should be optimized for mobile first.

Share
Didn't find a fix?The AI IT assistant is available 24/7. Describe the problem or send a screenshot of the error and get instructions for your case.Ask the AI IT assistant