SEO

PageSpeed Insights and Core Web Vitals: 10 fixes for an online store

PageSpeed Insights for an online store: what a good score is, the Core Web Vitals thresholds (LCP, INP, CLS) and 10 fixes ranked by impact in CloudCart.

The CloudCart team20 min read
A phone showing a product page, with three coloured gauges in green, orange and red above it showing how fast the page loads
In this article · 12 sections
  1. What PageSpeed Insights is and what it shows
  2. PageSpeed Insights, Lighthouse and Search Console: which tool for what
  3. How to run a website speed test: 6 steps in 20 minutes
  4. What a good PageSpeed score is
  5. Core Web Vitals: LCP, INP and CLS and their thresholds
  6. Does speed affect sales and Google rankings?
  7. What depends on the platform and what depends on you
  8. How to speed up an online store: 10 fixes ranked by impact
  9. How to check images across the whole catalog with Image Health
  10. How to track speed with an AI assistant instead of by hand
  11. Mistakes that chase 100 points and lose orders
  12. Frequently asked questions

In short: PageSpeed Insights is Google's tool that scores a page's speed from 0 to 100 on mobile and desktop. A good score is 90 or higher. For rankings, though, what counts is Core Web Vitals from real visitors: LCP within 2.5 seconds, INP within 200 milliseconds and CLS under 0.1. In an online store, speed is lost mostly to images, banners and third-party scripts.

This guide is for merchants selling in Bulgaria, from Bulgaria or across the EU. CloudCart facts come from the platform documentation and the Design and Domain, hosting and security pages, with admin menu names as they appear in English.

What PageSpeed Insights is and what it shows

PageSpeed Insights (PSI, often searched as Google PageSpeed) is a Google tool at pagespeed.web.dev that checks one page and returns two kinds of data: a lab test and data from real visitors (Google for Developers). There is no sign-up: you paste the address and in about a minute you see the result on two tabs, Mobile and Desktop. The same check runs through the PageSpeed Insights API when you want to test many addresses at once or on a schedule.

The two halves of the report answer different questions. Most merchants only look at the big number in the circle, and that number is the lab one.

Part of the reportWhere it comes fromWhat it tells youWhen to look at it
Top half: real-visitor data (field data)Chrome User Experience Report (CrUX): real Chrome visits over the last 28 daysWhether the page passes Core Web Vitals. This is what Google seesOnce a month, and 4 weeks after a big change
Bottom half: lab testLighthouse: one page load, simulated on a mid-range phone on a slow mobile connectionThe 0 to 100 score and a list of what slows the page downBefore and after every change, straight away

Field data only appears once the page has enough Chrome visits. For a new or small store, PSI shows the lab test alone, and field data arrives later or only for the whole domain (Origin).

PageSpeed Insights, Lighthouse and Search Console: which tool for what

PageSpeed Insights, Lighthouse and the Core Web Vitals report in Search Console use the same metrics, but each answers its own question. Lighthouse is the engine behind the PSI lab test and is built into Chrome (Chrome for Developers), while Search Console shows field data for every page of the store at once.

ToolWhat it measuresScopeWhat a merchant uses it for
PageSpeed InsightsField data (CrUX) and a lab test (Lighthouse)One URLChecking a specific page before and after a change
Lighthouse in Chrome (F12 → Lighthouse)Lab test only, from your own computer and connectionOne URLA quick test of a page that is not public yet, for example a new theme in live preview
Search Console → Core Web VitalsField data only, grouped by similar pagesThe whole storeWhich page groups (products, categories) fail, and whether a fix worked
Alternatives: GTmetrix and WebPageTestLab test with a detailed loading timeline (waterfall)One URLFinding the exact file (image, script, font) that slows the page when PSI is not enough

Lighthouse in Chrome often gives a different score from PSI, because it runs on your computer, with your extensions and your connection. GTmetrix and WebPageTest have their own grades that do not match PSI points; for Google, what counts is Core Web Vitals from real visitors. To compare over time, always use the same tool.

How to run a website speed test: 6 steps in 20 minutes

Test an online store by page type, because the homepage, a category and a product page are built differently. A test of the homepage alone tells you nothing about the product pages, which is where orders come from.

  1. Pick 4 URLs. The homepage, your most visited category, your best-selling product and a search results page. Google Analytics 4 or Search Console shows which pages get the most visits.
  2. Run each one through PageSpeed Insights. Open pagespeed.web.dev, paste the URL and choose the Mobile tab. In Bulgaria 63.37% of web visits in October 2026 came from a phone (StatCounter), so the mobile score is your score.
  3. Read the field data first. If the top says Core Web Vitals are passed, the store is fast in Google's eyes, whatever the score below says.
  4. Run the lab test 3 times. The score moves by a few points on every run. Note the median of the three, not the best one.
  5. Write down LCP, INP or TBT, CLS and page weight. A sheet with the date and the four URLs is enough. Without it, in a month you will not know whether a change helped.
  6. Open the Core Web Vitals report in Search Console. There Google groups every page of the store as good, needs improvement or poor, separately for mobile and desktop (Search Console Help). How to connect Search Console to your store is covered in Google Search Console for an online store.

Important: test the URL customers see, on your own domain and over https. A test of a page where you are logged in as admin, or in edit mode, measures something else.

What a good PageSpeed score is

A good PageSpeed Insights score is 90 to 100 (green), 50 to 89 needs improvement (orange), and under 50 is poor (red) (Chrome for Developers). The score is a weighted mix of five lab metrics.

Lighthouse metricWhat it measuresWeight in the score
Total Blocking Time (TBT)How long the browser is busy (scripts, rendering, animations) and the page does not respond30%
Largest Contentful Paint (LCP)When the largest element shows, usually the banner or the product image25%
Cumulative Layout Shift (CLS)How much the content jumps around while loading25%
First Contentful Paint (FCP)When the first text or image appears10%
Speed IndexHow quickly the visible part of the screen fills in10%

More than half of the score (TBT and LCP) depends on two things: how much work the browser has (scripts, animations, hundreds of images) and how heavy the first image is. That is why a store with five tracking pixels and a five-image slider often stays under 50 on mobile, whatever its hosting.

An example from our own Lighthouse mobile test of cloudcart.com. Both pages sit on the same hosting; the only difference is what is on them:

PageScoreLCPTBTWeightWhat is in the first screen
/pricing952.3 s180 ms152 KiBText and the plans table
Homepage494.6 s4,510 ms3,058 KiBA 1.32 MB video that is fully preloaded, and 268 images on one page

For the homepage, Lighthouse estimated 1,133 KiB of possible savings from images alone. The fixes for it are the same as in the list of 10 fixes below.

Core Web Vitals: LCP, INP and CLS and their thresholds

Core Web Vitals are the three metrics Google uses to measure how real people experience a page: loading (LCP), responsiveness (INP) and visual stability (CLS) (web.dev). A page passes when at least 75% of visits are in the green zone for all three.

MetricWhat it measures in a storeGoodNeeds improvementPoor
LCP (Largest Contentful Paint)When the customer sees the homepage banner or the main product imageup to 2.5 s2.5 to 4 sover 4 s
INP (Interaction to Next Paint)How fast the filter, the "Add to cart" button and the size picker respondup to 200 ms200 to 500 msover 500 ms
CLS (Cumulative Layout Shift)Whether the button or the price moves while banners and images loadup to 0.10.1 to 0.25over 0.25

INP replaced FID as a Core Web Vital in March 2024 (web.dev). The lab test cannot measure INP, because nobody taps any buttons there. The closest lab stand-in is TBT: a high TBT almost always means a weak INP.

In an online store each metric has a usual suspect. LCP is held back by a heavy banner or a video in the first screen. INP suffers from chat widgets, tracking pixels and review scripts that load on every page. CLS comes from banners with different proportions, bars inserted above the menu and fonts that change the size of the text as they load.

Does speed affect sales and Google rankings?

Yes, speed affects sales directly. In Deloitte's "Milliseconds Make Millions" study for Google (2020), a mobile site that got 0.1 seconds faster saw retail conversion rise by 8.4% (Think with Google). Conversion rate is the share of visits that end in an order.

For Google, speed is a ranking signal, though not the strongest one. Google says its ranking systems use Core Web Vitals, and that the most relevant page can still rank even with a weaker page experience (Google Search Central). In practice, speed decides between two equally good pages, and at equal positions the faster store sells more from the same traffic. The other ranking factors for a store are in SEO for an online store.

An online store should show its main content within 2.5 seconds on a phone with a mobile connection. Test on a phone, because an office computer on fibre shows a better picture than your customers get. How to check the mobile view in detail is covered in the mobile version of your online store.

What depends on the platform and what depends on you

Online store speed has two owners: the server and the network belong to the platform, while the images, banners and scripts are added by the merchant. With CloudCart, the Bulgarian ecommerce platform, hosting is part of every plan and you do not maintain a server.

What affects speedWho is responsible in CloudCartWhat is in place
Hosting and loadThe platformScalable hosting that grows with traffic during a promotion or Black Friday, with no bigger server to buy (domain, hosting and security)
Image deliveryThe platformProduct images are served from the Cloudflare network (CDN), from the point closest to the customer
SSL and protectionThe platformThe certificate is issued and renewed automatically, and Cloudflare DDoS protection comes on once the domain points to the store
Style cacheThe platformAfter every save in the theme editor the styles update and the cache clears by itself
Image size and countThe merchantA check with the Image Health app
Banners, sliders and videoThe merchantDesign → Modules
Pixels, chats and third-party codeThe merchantApps, and Design → Custom CSS/JS (the code there is kept separately for each theme)
Theme and fontsThe merchantDesign → Themes and Design → Colors and typography

If your store runs on WooCommerce, Magento or OpenCart, the first row of the table is yours: hosting, caching and plugin updates decide how fast the server responds. That is a common reason merchants switch platforms. How the move works step by step is in the WooCommerce migration guide.

How to speed up an online store: 10 fixes ranked by impact

An online store gets fastest from a lighter first image and fewer scripts. The fixes below go from the biggest to the smallest effect for a store on CloudCart. After each one, run PageSpeed Insights again on the same 4 URLs.

  1. Take the video out of the first screen. A background video on the homepage is the heaviest element and is almost always the LCP. Put an image in its place. If the video matters for the brand, embed it from YouTube or Vimeo further down the page instead of uploading an mp4 file to the store.
  2. One banner instead of a five-image slider. A slider downloads every image, while the customer sees only the first. In Design → Modules, open the slider module and keep 1 or 2 slides. If the theme also has a separate banner module, switch the slider off with its toggle and use a single banner.
  3. Images with a sensible size and format. Upload JPG or WEBP, with the shortest side between 800 and 2,000 pixels. Under 800 pixels Image Health flags low resolution for zoom, while a 6,000-pixel image straight from the camera weighs many times more and looks no different on a phone. You do not upload thumbnails: CloudCart serves every product image in the size the storefront asks for, through its CDN.
  4. Replace animated GIFs. An animated GIF is heavy for a phone and loads the processor. Image Health flags them and offers "Convert to JPEG", with no credits used and the option to restore the original.
  5. Review Design → Custom CSS/JS. Code there goes into the <head> of every storefront page, with no exceptions. Remove pixels from campaigns that no longer run, old tests and scripts for services you have stopped using.
  6. One route for tags. Connect Google Analytics 4, Google Tag Manager and ad pixels from Apps rather than as pasted code. Never put the same tag both in the app and in Tag Manager: a double tag slows the page and counts every order twice. More detail in GA4 and Google Tag Manager for an online store.
  7. Switch off storefront apps that bring no sales. A chat from an outside service, reviews from an outside platform and manufacturer content each load their own script from someone else's server, on every page or on the product page. If the chat gets 2 questions a month, it costs more speed than it earns.
  8. One font family. In Design → Colors and typography, choose one font for headings and body text, or two at most. Every font and every weight is a separate file the phone downloads before it shows the text.
  9. Fewer modules on the homepage. Five product rows, an Instagram strip, a blog block and a map add up to dozens of images and several scripts. Keep the modules customers click on and switch off the rest in Design → Modules.
  10. Same proportions for every banner. Banners and slides of different heights make the page jump (CLS). Crop all banners to the same ratio, for example 3:1 on desktop. If your theme is old, try a newer one: every theme in Design → Themes has a live preview address you can run through PageSpeed Insights before you switch. Products, customers and orders stay in place when you change theme, while modules the new theme lacks have to be added again.

Important: test after each fix separately. If you remove five things at once and the score drops, you will not know which one was to blame.

How to check images across the whole catalog with Image Health

Image Health is a CloudCart app that checks every product image for quality and for Google and Meta requirements, scores the catalog out of 100 and tells you what to fix first. It installs on any plan, and 50 credits a month are included.

  1. Open Apps → Image Health and install it. The app works inside the admin, and the storefront changes only when you apply a fix.
  2. On the Health score tab, click Scan catalog. A technical check of the products runs first, then an AI check of the images, starting with the main images of the best sellers. A large store is scanned in a few minutes, and you can leave the page in the meantime.
  3. Open the Issues tab. Products rejected by Google or Meta are at the top, then those with the most revenue over 90 days. Filter by problem: "Unsupported format", "GIF image", "Low resolution", "Unusual proportions".
  4. Apply the fixes. "Convert to JPEG" replaces GIFs and unsupported formats, and "Make square with white margins" turns a very wide or tall image into a square. Neither uses credits, and both keep the original. AI alt text costs 1 credit per image.
  5. Leave the automatic check on. On the Settings tab, "Check new and changed images automatically" is on by default. With it, every new or replaced image is checked about 10 minutes after the change.

The same scan also shows images that are too small for Google Shopping or the Meta catalog, and products Google Merchant Center has already reported a problem with. One check helps both speed and ads.

How to track speed with an AI assistant instead of by hand

An AI assistant such as Claude Code, ChatGPT Codex or Gemini CLI can run PageSpeed Insights for you and match the result with your sales. Google opens PageSpeed Insights through an API (PageSpeed Insights API), and an assistant connected to your CloudCart store reads products and orders through an access key (a PAT token).

Example requests merchants write to the assistant:

  • "Take my 10 best-selling products from the last 30 days, run their URLs through PageSpeed Insights on mobile and give me a table with the score, LCP, CLS and page weight."
  • "Compare today's mobile score for the homepage with last Monday's and tell me what changed."
  • "Which of my 50 highest-revenue products have fewer than 3 images?"

The difference is that the assistant sees speed and sales side by side. PageSpeed Insights does not know which product brings in revenue, and the store admin does not know how slowly the page loads.

TaskBy handWith an AI assistant connected to the store
Monthly check of 10 products, 3 runs each30 PSI tests copied into a sheetOne sentence, and the table arrives ready
Which slow pages to fix firstA separate comparison with the sales reportRanked by revenue for the period
Whether a change helpedFind the old sheet and run everything againCompared with the previous test by date
New product with a heavy or tiny imageYou notice when Google Shopping rejects itA weekly list of products to fix

Start with a "Read Only" key, and for changes ask the assistant to show what it will change first, then confirm, because changes in the store have no undo button.

Mistakes that chase 100 points and lose orders

The most expensive mistake is removing something that sells just to raise the score. PageSpeed Insights measures speed only; sales are not part of the score.

  • A removed ad pixel. The Meta Pixel and the Google Ads tag cost a few points, but without them your ads lose order data. Tidy them up through Apps instead of removing them.
  • Images compressed to mush. A 20 KB image loads fast, but a blurry image sells less and Google Shopping may reject it. Image Health flags blurry images as a high-severity problem.
  • Testing on desktop only. The desktop score is almost always higher. Your customers are on phones.
  • A score from a single run. A 3 to 5 point difference between two runs is ordinary noise.
  • Optimising only the homepage. Visitors from Google and from ads land straight on categories and products.
  • A new script with no test. Run every new storefront app through PSI before and after you switch it on.

The 0% commission applies to every plan and every sale: the terms are on the online store with no commission page. How to arrange the storefront, theme and modules is on the Design page. For questions about the speed of a specific store, write to support@cloudcart.com.

Frequently asked questions

Open pagespeed.web.dev, paste the page URL and choose the Mobile tab. Test at least the homepage, one category and your best-selling product, and run each test 3 times. For the whole store, use the Core Web Vitals report in Google Search Console.

90 to 100 is good, 50 to 89 needs improvement and under 50 is poor. For Google it matters more whether the page passes Core Web Vitals with real visitors: LCP within 2.5 seconds, INP within 200 milliseconds and CLS under 0.1. A store with a score of 75 that passes Core Web Vitals is in good shape.

Yes. In a Deloitte study for Google (2020), a mobile site that got 0.1 seconds faster raised retail conversion by 8.4%. A slow page loses customers before they even see the product, especially visitors from ads on a phone.

Start with the first screen: remove the video and the slider and keep one light banner. Then reduce image sizes, replace GIFs with JPEGs and remove forgotten scripts and apps. In CloudCart you check images in Apps → Image Health and switch modules off in Design → Modules.

The main content should be visible within 2.5 seconds on a phone (LCP), and the page should respond to a tap within 200 milliseconds (INP). These are Google's thresholds for a good experience. Test on mobile, because that is where most visits come from.

Lighthouse is the lab test, and PageSpeed Insights runs it from a Google server and adds real-visitor data (CrUX). Lighthouse in Chrome runs from your own computer and connection, so its score often differs. The score also moves by a few points between two runs of the same tool, so record the median of 3 tests.

Field data comes from the Chrome User Experience Report and appears only when the page has had enough Chrome visits in the last 28 days. For a new store or a low-traffic page you only see the lab test. Sometimes PSI shows data for the whole domain (Origin) instead of the single page.

Yes, Google uses Core Web Vitals in its ranking systems, but content and relevance weigh more. Speed decides between two equally good pages. The bigger gain from a fast store is more orders from the same traffic.

Sources

  1. pagespeed.web.devpagespeed.web.dev
  2. Google for Developersdevelopers.google.com
  3. Chrome for Developersdeveloper.chrome.com
  4. GTmetrixgtmetrix.com
  5. WebPageTestwww.webpagetest.org
  6. StatCountergs.statcounter.com
  7. Search Console Helpsupport.google.com
  8. Chrome for Developersdeveloper.chrome.com
  9. web.devweb.dev
  10. web.devweb.dev
  11. Think with Googlewww.thinkwithgoogle.com
  12. Google Search Centraldevelopers.google.com
  13. PageSpeed Insights APIdevelopers.google.com
The CloudCart teamChecked against the platform documentation. Questions: support@cloudcart.com

Build your online store

The first 3 months on every plan are €1/month. Questions: support@cloudcart.com

Create a store for €1