Google has been clear about it for years: load speed is a ranking factor. But beyond SEO, user behavior data is devastating. If your site takes more than 3 seconds to load, you lose approximately 53% of mobile visitors before they see a single line of your content. That's not an estimate: it's the result of Google's studies on millions of pages.
The good news is that the most common culprits for a slow web are always the same. And most can be corrected without touching a single line of code.
The most frequent culprit: images
Images represent, on average, more than 60% of a web page's total weight. The typical problem is that they are uploaded directly from a mobile or camera — 4, 6, or 8 MB files — without any prior processing. The visitor's browser has to download those whole megabytes before showing the page.
WebP: the format you should always use
The WebP format produces images visually identical to JPEG or PNG but with a size between 25% and 35% smaller. It has been compatible with all modern browsers for years. If your site still serves JPEG or PNG images, you are sending more data than necessary on each visit.
To convert images, you can use free online tools like Squoosh (squoosh.app) or simply install a plugin if you use WordPress, such as ShortPixel or Imagify, which automatically convert and compress on upload.
Lazy loading: don't load what isn't seen
By default, a browser tries to load all the site's images before showing it. Lazy loading tells the browser to only load images that are within the visible area of the screen, and to load the rest as the user scrolls. The result is that the page seems to load almost instantly.
In modern HTML, it's enough to add the loading="lazy" attribute to the image tag. In WordPress, there are plugins that do it globally without touching anything.
Pro rule: no image on your web should weigh more than 200 KB. Hero or cover images, 400 KB max. If you have images over 1 MB, that's a large part of the problem.
Excessive plugins and third-party scripts
Every plugin installed on WordPress, Prestashop, or other CMS adds code that the browser must download and execute. Many plugins also load third-party scripts: external fonts, analytics trackers, chat widgets, advertising pixels, social media scripts. Each of those scripts is an additional request to an external server that can take tens or hundreds of milliseconds.
How many plugins are too many? There's no magic number, but more than 20-25 active plugins on WordPress is an alert sign. The problem isn't so much the number as the code quality of each. One poorly programmed plugin can slow down more than ten well-written ones.
How to detect which script is slowing down your web
Open Chrome, go to your site, press F12 to open developer tools, and go to the "Network" tab. Reload the page. You'll see moving bars for each resource loaded, ordered by time. Those that appear in red or take more than 500ms are the usual suspects.
- Review which WordPress plugins haven't been updated for more than two years: they are usually the slowest.
- Social media scripts (share buttons, embedded Instagram feeds) are especially costly. Assess if they contribute enough to justify the speed cost.
- If you have several cache plugins active at once, they might be clashing. You only need one.
Hosting: the foundation that holds it all
You can optimize every image and remove all unnecessary plugins, but if your hosting is low quality, the performance ceiling you can reach is very low. The server is where your web lives, and its response speed is the first link in the chain.
Low-end shared hostings — those costing €2-3 a month — literally host thousands of webs on the same physical server. When another customer has a traffic peak, your site suffers. Also, they usually have servers far from the final user, adding latency.
The real difference between a €2/month hosting and a €10-15/month one is not the price: it's that the second usually includes NVMe SSD instead of hard drives, modern PHP versions, server-level caching, and servers in Europe with much lower response times. For most SME webs, hosting like SiteGround, Webempresa, or Raiola Networks offers a notable performance jump without being an exorbitant expense.
The server response time (TTFB, Time To First Byte) should be below 200ms. If it's above 500ms, the problem is the hosting, not the code.
How to use Google PageSpeed Insights
Go to pagespeed.web.dev, enter your web's URL, and hit analyze. In less than a minute, you have a complete report divided into mobile and desktop. The score goes from 0 to 100. Below 50 is urgent; between 50 and 89 there's room for improvement; above 90 you're good.
The most valuable part of the report is not the score, but the "Opportunities" section, where PageSpeed tells you exactly what is dragging the speed down and how much time correcting it would save you. It shows things like "Eliminate render-blocking resources", "Properly size images", or "Reduce unused JavaScript".
What to prioritize first
Don't try to fix everything at once. The logical order to get the most impact with the least effort is:
- First: Compress and convert all images to WebP. It's the highest impact and easiest change.
- Second: Activate a cache plugin if you use WordPress (WP Rocket, W3 Total Cache, or LiteSpeed Cache depending on your hosting).
- Third: Review and deactivate plugins you don't actively use.
- Fourth: If the TTFB is high, consider a hosting change.
- Fifth: More advanced code optimizations (CSS/JS minification, deferring non-critical scripts).
When it makes sense to hire help
The first four points can be done by anyone with a little patience and the right tools. The fifth already requires technical knowledge. If after compressing images, installing cache, and reviewing plugins your score is still below 60, or if the problem is in the template code your site uses, it's time to ask for help from someone who knows what they're looking at.
A professional performance audit detects specific bottlenecks in a few hours and prioritizes actions with the highest return. In many cases, a 3-4 hour intervention can double the PageSpeed score and cut load time in half.