A slow mobile site costs visitors and trust. Often there isn't a single mistake but several small issues stacking up: heavy media, render-blocking CSS/JS, third-party scripts, slow server responses, and missing caching.
You can find most problems yourself with a few tools and a clear testing routine. Test under realistic network conditions, measure impact, and prioritize fixes that reduce the first meaningful paint and perceived load time.
Five common causes and how to test them
1) Large images and media
Mobile connections have less bandwidth and higher latency. Serving desktop-sized images or uncompressed video to mobile is a frequent cause of slow loads.
How to test
- Use Chrome DevTools -> Network with throttling (Slow 3G) and reload the page.
- Sort by transferred bytes to spot the heaviest resources.
How to fix
- Serve responsive images with srcset and modern formats (WebP/AVIF).
- Lazy-load non-critical media. Keep the hero LCP image optimized and preload it.
Indicative cost
- Image optimization can range €100–€600 depending on automation and volume (varies per project).
2) Render-blocking JavaScript and CSS
If CSS or JavaScript blocks rendering, the browser must wait before showing content. Large framework bundles or unnecessary styles are common culprits.
How to test
- Run Lighthouse or PageSpeed Insights to get a list of render-blocking resources.
- Use Coverage in DevTools to find unused CSS/JS.
How to fix
- Inline critical CSS for the first view and load the rest asynchronously.
- Split JS bundles and use defer or dynamic imports for non-critical code.
3) Third-party scripts (analytics, widgets, ads)
Every external script can add DNS lookups, TLS handshakes, and CPU work. Chat widgets, tag managers and social embeds often slow mobile experiences.
How to test
- Record a Performance trace in DevTools and look for long tasks and external resources.
- Disable third-party scripts temporarily to measure the impact.
How to fix
- Load third-party tags asynchronously or delay them until after the main content.
- Audit which services are essential and remove unused ones.
4) Slow backend / high TTFB and network latency
If the server takes time to respond, the browser can’t start rendering. Causes include slow database queries, lack of caching, or servers far from users.
How to test
- Check Time to First Byte (TTFB) in DevTools -> Network.
- Use curl timing: curl -w '%{time_starttransfer}\n' -o /dev/null -s https://your-site.example to measure server transfer start.
How to fix
- Optimize database queries and add server-side caching.
- Use a CDN for static assets and consider edge caching for HTML.
Indicative cost
- Backend optimizations can range €300–€3.000 depending on complexity.
5) Missing caching or incorrect cache headers
If files are not cached, repeat visits re-download everything. That’s costly on mobile data and slows perceived speed.
How to test
- Check response headers for Cache-Control, Expires and Vary in DevTools.
- Lighthouse highlights caching opportunities.
How to fix
- Add long max-age for fingerprinted static files and use revalidation where needed.
- Configure CDN edge caching and rules for dynamic endpoints.
Which tools to use when?
Chrome DevTools
- Measures
- Network, TTFB, performance traces
- Best for
- Local debugging and reproducing throttled scenarios
- Output
Lighthouse / PageSpeed Insights
- Measures
- Core Web Vitals and suggestions
- Best for
- Quick site-wide audit and prioritized recommendations
- Output
curl / server tools
- Measures
- Raw server timings
- Best for
- Checking server response and caching behavior
- Output
| Tool | Measures | Best for | Output |
|---|---|---|---|
| Chrome DevTools | Network, TTFB, performance traces | Local debugging and reproducing throttled scenarios | |
| Lighthouse / PageSpeed Insights | Core Web Vitals and suggestions | Quick site-wide audit and prioritized recommendations | |
| curl / server tools | Raw server timings | Checking server response and caching behavior |
For Core Web Vitals background and measurement, see the official guide at Core Web Vitals. For the LCP definition and how browsers measure it, consult Largest Contentful Paint (LCP).
Quick priority list
- Identify your LCP element and optimize it first.
- Toggle third-party scripts and measure immediate gains.
- Implement caching and add a CDN for static assets.
- Reduce JS bundle sizes and defer non-critical scripts.
- Automate image conversion to modern formats.
Practical checklist for the first hour
- Emulate a mobile device and Slow 3G in DevTools.
- Run Lighthouse and collect LCP, CLS and INP results.
- Sort resources by bytes and time in Network and pick top three for action.
- Measure TTFB via curl and compare before/after CDN.
- Make one change (e.g., enable gzip or lazy-load an image), deploy, retest.
SEO and mobile-first indexing
Google uses mobile-first indexing, so the mobile experience affects indexing and ranking. Combine performance improvements with technical SEO checks; see guidance on mobile-first indexing for more context: Mobile-first indexing. Also integrate fixes in your technical SEO workflow and ongoing maintenance processes. For ongoing upkeep consider a support plan such as the one described on our maintenance and support page.
DevCru is a senior-led web and app development studio. We build custom sites and advise on practical performance steps you can run yourself. If you want a short audit or a tailored fix plan, ask for a quick quote at /quote.
Sources
- https://web.dev/articles/vitals — Core Web Vitals (web.dev)
- https://web.dev/articles/lcp — Largest Contentful Paint (web.dev)
- https://web.dev/articles/responsive-web-design-basics — Responsive web design basics (web.dev)
Sources
Every figure and guideline in this article can be checked in the sources below.
- Core Web Vitals — web.dev (Google)
- Largest Contentful Paint (LCP) — web.dev (Google)
- Responsive web design basics — web.dev (Google)
- Mobile-first indexing — Google Search Central
Got a project in mind?
Tell us briefly what you want to build. You get an honest read on scope, price and timeline within one business day.
Request a quoteRelated services
Continue on the page that matches this topic.
Keep reading
Other articles that pair well with this one.
