Home
Digitari

How to make a website faster

I have come across countless websites that load painfully slowly. The user waits, gets frustrated, and eventually hits the back button before the site has even finished loading. The result? A lost customer, a lost sale.

Website speed is not a ‘nice extra’; it is a necessity. Google penalizes slow pages in search results, users leave, and conversion rates fall. Research suggests that even a one-second delay in load time can reduce conversions by up to 7 percent. On mobile, patience is even lower.

In this article, I go through the concrete methods I use to speed up websites for my clients. These are real, working solutions, not theory.

Images are usually the biggest bottleneck - optimize them first

The first thing I check on a slow site is images. Often someone has uploaded a 5 MB JPG image straight from a camera to the website. That is like driving a Ferrari on a dirt road: unnecessary and inefficient.

Practical steps for image optimization:

  • Convert images to modern formats: WebP and AVIF offer up to 30-50% smaller file sizes than JPEG without visible quality loss. AVIF is the newest and most efficient, but WebP is already widely supported.
  • Compress images before uploading: Use tools such as TinyPNG, Squoosh, or ImageOptim. Squoosh is free and shows image quality and size in real time.
  • Use the right size: Do not upload a 4000px wide image if it is displayed at 800px on the page. Create different versions for different screen sizes (responsive images).
  • Lazy loading: Load images only when they come into view. This significantly reduces initial load time. In HTML this is simple: loading=‘lazy’
  • Use a CDN: A Content Delivery Network (such as Cloudflare Images or Cloudinary) distributes images globally and optimizes them on the fly.

When I optimize a client’s page images, I often see the load time cut in half with this step alone. It is low-hanging fruit: easy to do and high impact.

Choose the right technology - modern frameworks do the work for you

Technology choice has a massive effect on site speed. Older technologies and solutions require a lot of manual optimization, while modern frameworks handle many things automatically.

Why I recommend Next.js:

Next.js is a React-based framework designed with speed and SEO in mind. It offers:

  • Static site generation (SSG): Pages are generated during the build phase, so they load extremely quickly for the user.
  • Server-side rendering (SSR): When needed, content can be rendered on the server, which speeds up the first view.
  • Automatic code splitting: The user downloads only the JavaScript they need, not everything at once.
  • Built-in image optimization: The Next.js Image component automatically converts, compresses, and loads images in an optimized way.
  • Font optimization: Font loading is optimized so it does not slow the page down.

When I built the Eilola Logistics website with Next.js, the first content loaded 67% faster than on the old site (2.7s -> 0.9s). This was not magic; it was technology choice.

TailwindCSS also speeds things up:

TailwindCSS is a utility-first CSS framework that generates only the CSS code you actually use. No unnecessary styles, no extra weight. The result is a lightweight CSS file that loads quickly.

Other important optimizations - do not forget these

1. Minify and combine files

CSS and JavaScript files should be minified (remove empty spaces and comments) and combined where possible. Modern build tools such as Vite, Webpack, or Next.js do this automatically.

2. Use browser caching

When a downloaded resource (image, CSS, JavaScript) is stored in the user’s browser, it does not need to be downloaded again on the next page load. Configure the correct Cache-Control headers on your server and use versioned filenames so the browser knows when a file has changed.

3. Optimize fonts

Web fonts can slow a page down significantly. Use only the font families and weights you actually need. For example, if you use Google Fonts, load only the fonts and weights that are really needed. Also consider loading fonts locally instead of from a CDN and use font-display: swap so text appears immediately in a fallback font before the real font loads.

4. Avoid unnecessary third-party scripts

Every third-party script (Google Analytics, Facebook Pixel, chat widget, etc.) slows your page down. Ask yourself: do I really need all of these? Load scripts asynchronously or with the defer attribute so they do not block rendering.

5. Use CDN services

A Content Delivery Network (CDN) distributes your site content globally from multiple servers. When a user opens your site, the content loads from the server closest to them, for example from Europe instead of the United States. This can reduce load times by up to 50%. Popular CDN services include Cloudflare, AWS CloudFront, and Vercel (for Next.js projects).

6. Reduce the number of HTTP requests

Every resource (image, CSS, JS, font) requires a separate HTTP request. The fewer requests, the faster the site. Combine files, use CSS sprites (combine small images into one), and consider inlining critical CSS directly into HTML.

Measure and monitor - how to know whether you succeeded

You cannot improve what you do not measure. Use the following tools to monitor and optimize your website speed:

  • Google PageSpeed Insights: A free tool that analyzes your page speed on both mobile and desktop. It gives concrete improvement suggestions.
  • Lighthouse: Built into Chrome DevTools. Tests your site’s performance, accessibility, SEO, and best practices.
  • GTmetrix: Shows a detailed analysis of page load time and gives recommendations. You can also test from different locations.
  • WebPageTest: An advanced tool that shows a detailed waterfall chart of the order in which resources load.

Which metrics to track:

  • FCP (First Contentful Paint): How quickly the user sees the first content. Target: under 1.8 seconds.
  • LCP (Largest Contentful Paint): How quickly the largest element on the page (for example the hero image) loads. Target: under 2.5 seconds.
  • CLS (Cumulative Layout Shift): How much the content ‘jumps’ during loading. Target: under 0.1.
  • TTI (Time to Interactive): How quickly the page becomes fully interactive. Target: under 3.8 seconds.

Test your site regularly, at least once a month. When you add new content or features, check that they do not slow the page down. Maintaining speed is ongoing work, not a one-time project.

Summary: Speed is a competitive advantage

Speeding up a website is not rocket science, but it requires a systematic approach. Start with images, make sure the technology is in good shape, and optimize all the smaller details. Every saved second means better conversions, happier users, and higher Google rankings.

Remember that speed is not a one-time project. It is continuous optimization and monitoring. But when you do it correctly, the results are clearly visible, both in analytics and in customer behavior.

Speed is an essential part of high-quality websites as a whole. Also read about measuring website performance with Google Analytics and how to build websites that truly bring customers.

Photo of Jaakko Nikkilä

Author

Jaakko Nikkilä

Founder of Digitari