The first impression happens before anything is visible
A visitor forms a judgement about a site within the first moments, and a large part of that judgement is formed while the page is still loading. A blank screen, a layout that jumps as elements arrive, a button that does not respond to the first tap: each of these is read as carelessness, whether or not that is fair.
This matters disproportionately for organisations selling technical competence or professional services. The site is evidence.
In Uganda, speed is about data cost as well as time
A significant share of visitors will arrive on a mobile connection, and many are paying per megabyte. A 6MB homepage is not just slow. It is expensive for the person loading it.
Reducing page weight is therefore not only a performance optimisation. It lowers the real cost of visiting your site, which is a reasonable thing to care about.
What the Core Web Vitals actually measure
Google's Core Web Vitals get discussed as an SEO requirement, which undersells them. Each one corresponds to something a visitor genuinely notices.
- Largest Contentful Paint (LCP): how long until the main content appears. Target under 2.5 seconds.
- Interaction to Next Paint (INP): how quickly the page responds when someone interacts. Target under 200ms.
- Cumulative Layout Shift (CLS): how much the page moves around while loading. Target under 0.1.
Layout shift is the most annoying and the easiest to fix
Cumulative Layout Shift is the phenomenon where you go to tap something and the page moves, so you tap something else. It is almost always caused by elements that arrive without space reserved for them: images without dimensions, fonts that swap and change text size, banners injected above existing content.
Setting explicit width and height on images and reserving space for late-arriving elements removes most of it.
Where the weight usually is
In practice, page weight tends to concentrate in a few predictable places. Working through them in order gives the fastest return on effort.
- Uncompressed or oversized images, usually the single largest item
- Font files, particularly multiple weights of multiple families
- Third-party scripts: chat widgets, analytics, embedded video, tracking pixels
- JavaScript libraries loaded for a single small effect
Third-party scripts deserve particular scrutiny
A chat widget or embedded video player can easily outweigh everything else on the page, and it is code you do not control, loading from a server whose performance you cannot influence.
That does not mean never use them. It means each one should be a deliberate decision with a known cost, and embedded media should load on interaction rather than automatically.
Measure on a real connection
Testing on office broadband tells you very little. Use the throttling options in browser developer tools, or run a test that simulates a mid-range Android device on a 3G or slow 4G connection.
The number that matters is the one your actual visitors experience, not the one your laptop produces.
Written by Ntege Israel Charles, a Web Developer and WordPress Developer based in Kampala, Uganda. If any of this applies to a site you are responsible for, get in touch.