Web Design & Development

Website Speed: Images, Fonts and Third-Party Scripts

Why a site loads slowly usually comes down to three things: oversized images, slow fonts and accumulated third-party scripts, and what to fix first.

rabbitclip teamPublished: 6 min read

Short answer

A slow website is rarely caused by one thing; it is usually the sum of three sources: images that are larger than they need to be, fonts that delay the page becoming visible, and third-party scripts that pile up over time. Fixing all three together makes a noticeable difference; fixing only one of them usually does not.

Google no longer measures speed only by how fast a page appears; it also measures how quickly the screen responds once a visitor taps a button. That metric is Interaction to Next Paint, or INP (web.dev, INP). Speed is no longer just 'did the page load'; it is 'can the page actually be used'.

This piece takes the three sources one at a time: images, fonts, third-party code. For each, where to start and what actually moves the needle.

Why images carry the biggest load

Most of a page's total weight usually comes from images. Take a product gallery for a flooring manufacturer: a fifty-megabyte page means several seconds of waiting, depending on the visitor's device and connection. That weight does not disappear unless the image is served at the right size and in the right format.

The fix has two steps. First, an image is cropped to the size it will actually appear at; an image that shows at four hundred pixels wide on a phone should not be sent at two thousand pixels. Second, the format is chosen: AVIF and WebP produce far smaller files than older JPEGs at comparable quality (web.dev, Optimise LCP). A framework such as Next.js automates this, so a developer does not have to prepare several versions by hand.

Why fonts slow a page down

A custom font is part of a brand's identity, but loaded the wrong way it delays the page becoming visible. If the browser hides text until the font file has downloaded, a visitor sees a blank screen for a second or two; this is known as flash of invisible text.

The font-display: swap setting removes that wait: the browser shows the text in a system font immediately, then swaps in the custom font once it arrives (web.dev, Best practices for fonts). A spa chain's booking page might only need two weights, regular and bold, yet the design file often carries five or six across to the live site; every extra weight is a separate download.

Why third-party scripts are the sneakiest weight

Analytics tools, live chat widgets, ad pixels, social media embeds: each one adds an external JavaScript file to the page. These accumulate quietly; a site with five or six different tools added over a year is common.

The problem is that these scripts occupy the browser's main thread; while that code runs, the browser cannot respond to a visitor's click, which directly worsens INP (web.dev, INP). Reviewing the list of tools in use every few months and removing an analytics panel nobody checks any more, or a chat widget nobody uses, is worth the ten minutes it takes.

The order to fix things in

All three sources do not need fixing at once; the order makes the job easier.

  • Measure the current state with PageSpeed Insights or Search Console
  • Bring the largest above-the-fold images to the right size and format
  • Cut the number of font weights and add font-display: swap
  • Remove unused third-party scripts, load the rest only when needed
  • Measure again with the same tool after the change

Is speed only a technical matter

Speed is also a marketing decision, because it is the visitor's first contact with the site. If a generator manufacturer's emergency-callout page loads slowly, the visitor goes back to the search result and tries the next firm; that loss happens quietly, without a complaint or a bounce report anyone reads.

Speed work is not a one-off project; it belongs in ongoing maintenance. The same discipline applies whenever a new tool is added or a new image goes up.

What Next.js 16 and React 19 change for speed

Next.js 16 and React 19, now mainstream in 2026, push server components further: most of a page is prepared on the server and sent to the browser already finished, cutting down how much JavaScript the browser has to download. That is an architectural choice that directly improves INP.

For a manufacturer's catalogue running to hundreds of pages, the difference is concrete: under an older React setup every page gets re-rendered in the browser, under the newer architecture the page arrives ready-made and the browser only takes over the interactive parts, a filter, an add-to-basket button. When weighing a move like this, that architectural difference belongs in the speed budget, not just the visual refresh.

Why server-side caching makes a difference

A page generated once and held in cache for a set period, rather than rebuilt from scratch on every visit, reaches later visitors far faster. That is a gain worth taking for any page whose content does not change often, an about page, a service description.

An event calendar on a trade association's site, updated often, needs a short cache duration; a static corporate page can sit on the same cached version for hours or even days. The right duration comes from how often the content actually changes.

Caching set up wrong causes its own problems: an old price staying cached and showing for a while after an update, for instance. That is why when and how the cache clears after an update needs planning from the start.

Images, fonts and third-party scripts, taken together, make a page load faster and respond to clicks sooner. In a discovery call, rabbitclip pulls a speed report on the current site so you can see together which source is costing the most.

FAQ

Where can I measure my site's speed?

Google PageSpeed Insights and the Core Web Vitals report in Search Console give separate readings for mobile and desktop.

Does AVIF work in every browser?

Most current browsers support it; a site can be set up to serve AVIF where supported and fall back to WebP or JPEG automatically where it is not.

How many third-party scripts is too many?

There is no fixed number; every extra script has a cost, so each one is worth checking regularly to see whether it is still actually used.

Does font-display: swap ruin the look of a brand font?

No, it only shows a system font briefly while the custom font downloads; the brand font takes over a moment later.

Is moving to Next.js 16 enough for speed on its own?

No, the architectural shift helps meaningfully, but without discipline on images, fonts and scripts it will not be enough by itself.

Share

Related serviceSoftware DevelopmentTurning an idea into a working product takes longer than it looks. From web and mobile apps to bespoke systems that automate your operations, we build software that’s simple and solid.

Related articles

If you don’t know where to start, that’s fine; you’re in the right place.

Your project might already be clear in your head, or still just an idea. Either works. On a short call we talk through where you are and where you could go, together.

Let’s set up a call
Let’s talk about your project