How to Speed Up Your Website: 12 Practical Methods
Lists actionable methods that raise speed on the image, cache, code and server side, and shows what each one fixes and how to measure it with code examples.

To increase site speed, first measure with PageSpeed Insights; then serve images in WebP or AVIF at the right size, lazy-load off-screen images, remove unused CSS and JavaScript, simplify fonts, turn on browser caching and compression, shorten server response time and use a CDN if needed.
Why Does Site Speed Matter?
A page that opens slowly means losing the visitor before they see the content. On a mobile connection in particular, a wait of a few seconds is enough for the user to hit the back button. On a page you pay to advertise, this means paid clicks go to waste.
Speed also affects search visibility. Google uses the Core Web Vitals metrics to measure page experience: 2.5 seconds for LCP (loading of the largest content), 200 milliseconds for INP (response to interaction) and 0.1 for CLS (visual shift) are considered the “good” thresholds. We explain these metrics in detail in our What is Core Web Vitals article.
The 12 methods below are the steps that make the biggest difference on most sites. You do not need to apply them all at once; measure first and start with the biggest problem.
Measure First: Which Tools?
Optimization without measurement is like shooting in the dark. The free tools below show where the problem is.
- PageSpeed Insights: Shows both real user data (if available) and a lab test.
- The Lighthouse tab in Chrome DevTools: Local tests and detailed recommendations.
- The Core Web Vitals report in Search Console: Real user experience across all pages of the site.
- The Network tab: Shows which file loaded in how long and at what size.
Image Optimization
On most sites, images make up the largest part of page weight. That is why the quickest win is usually found here.
1. Switch to modern formats
Serving photos in WebP or AVIF gives much smaller files than JPEG and PNG at similar visual quality. For older browsers you can provide a fallback format with the picture tag.
<picture>
<source srcset="urun.avif" type="image/avif">
<source srcset="urun.webp" type="image/webp">
<img src="urun.jpg" alt="Product name" width="800" height="600">
</picture>2. Serve at the right size
Downloading a 3000-pixel file for an image that will be shown at 400 pixels wide on a phone is wasteful. Use the srcset and sizes attributes to let the browser pick the right file for the screen size.
3. Lazy loading and size declarations
Add loading=lazy to images below the fold; that way they load only when the user gets near them. Do not lazy-load the main image at the top of the page, because it is usually the LCP element. Giving all images width and height prevents the content from jumping (CLS).
Streamline Code and Resources
The browser has to download and process CSS and JavaScript files before showing the page. The bigger and more numerous these files are, the later the page appears and the later it responds to interaction.
4. Remove unused code
The Coverage panel in Chrome DevTools shows how much of each file is actually used. Strip out unused components and libraries, and minify the remaining files.
5. Defer blocking scripts
Load JavaScript files not needed for the first view of the page with defer. That way the browser keeps processing the HTML while the scripts download in the background.
<script src="/js/main.js" defer></script>6. Reduce third-party scripts
Third-party chat tools, tracking codes, social media plugins and video embeds can put a serious load on the page. Question whether each one is really needed; show videos as a small preview image until the user clicks.
Lighten Your Fonts
Web fonts define a site’s character, but when loaded wrongly they cause text to appear late or the page to shift.
7. Use WOFF2 and subsets
Serve fonts in WOFF2 format and only with the character set you need (for example Latin characters). Do not load weights you do not use; most sites can get by with two or three weights.
8. Set visibility and priority
With font-display: swap, make the text appear in a system font until the font loads. You can have the main font used at the top of the page loaded early with preload.
<link rel="preload" href="/fonts/ana-font.woff2" as="font" type="font/woff2" crossorigin>@font-face {
font-family: "AnaFont";
src: url("/fonts/ana-font.woff2") format("woff2");
font-display: swap;
}Server and Cache Settings
No matter how light the code and images are, if the server responds slowly the page still opens late. Improvements at this layer affect all pages at once.
9. Turn on browser caching
Define long-lived cache headers for files that rarely change, such as the logo, CSS, JavaScript and fonts. That way a returning visitor does not download these files again. When a file is updated, you can bust the cache by adding a version suffix to its name.
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/avif "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
</IfModule>10. Compression and a modern protocol
Send text-based files (HTML, CSS, JavaScript, SVG) compressed with Brotli or gzip. Make sure your server supports HTTP/2 or HTTP/3; these protocols make it easier to download many small files in parallel.
11. Shorten server response time
If the time to first byte (TTFB) is long, the problem is usually slow database queries, uncached dynamic pages or insufficient server resources. Using page caching, improving queries or moving to a more suitable hosting plan reduces this time.
12. Use a CDN
A content delivery network (CDN) distributes your static files from servers geographically close to the visitor. For sites that get visits from different cities and countries, it noticeably reduces latency and lightens the load on the main server.
Which Method Improves What?
Each method affects a different metric. Whichever metric is poor in your test report, focus first on the methods in that row.
| Problem | Affected metric | Priority methods |
|---|---|---|
| Main image appears late | LCP | 1, 2, 11, 12 |
| Clicks respond late | INP | 4, 5, 6 |
| Content jumps while the page loads | CLS | 3, 8 |
| First response is delayed | TTFB | 10, 11, 12 |
| Returning visitors wait too | Overall loading | 9 |
Speed Is Never Done Once
A newly added campaign banner, a large uploaded photo or an added tracking code can undo months of optimization in a few days. That is why you should make speed measurement part of regular maintenance; repeat the PageSpeed Insights test after every major update. You can find the other steps of the maintenance routine in our website maintenance article.
Speed is cheapest when it is planned from the start at the design stage. Lightweight components, a sound image layout and a clean code structure make most post-launch fixes unnecessary. We apply this approach together in our SEO-friendly web design and mobile-responsive design processes; we have gathered the checklist for the technical SEO side in our SEO-friendly web design guide.
For businesses that want to follow measurement and reporting regularly, our SEO and analytics service evaluates speed data together with search performance.
Frequently Asked Questions
01Does the PageSpeed score have to be 100?
No. The lab score is a guiding indicator; what really matters is that Core Web Vitals values for real users are within the “good” threshold. Giving up functionality to raise the score by a few points is not always the right call.
02Will changing hosting make the site faster?
If the problem is server response time, yes, it can make a clear difference. But on a site slowed down by heavy images or large JavaScript files, changing only the server will not solve the problem.
03Does compressing images hurt quality?
With the right settings, the difference is usually not visible to the eye. For images where quality is critical, such as product photos, compare different compression levels side by side and choose the best balance.
04How often should I measure site speed?
A general check once a month is enough for most sites. Beyond that, repeat the measurement right away whenever a new section, campaign, tracking code or large image is added; also monitor the Core Web Vitals report in Search Console regularly.
The answer to how to increase site speed starts with measurement and delivers results when the image, code, font and server layers are handled together. To identify your site’s speed problems and bring Core Web Vitals into the good threshold, explore our speed and performance optimization service; if you are planning a new project, get to know our web design approach that factors in performance from the start.


