Skip to main content
Back to Blog
Web Development

How I Build Sites That Load Under 2s

Speed impacts Google ranking and conversions. Here are the techniques I use to build blazing-fast sites scoring 95+ on Lighthouse.

Muhammad Noman 8 min read
PerformanceSpeedLighthouseNext.js

Why Speed Matters More Than You Think

53% of mobile users abandon websites that take more than 3 seconds to load. Google has confirmed that page speed is a ranking factor, meaning slow websites rank lower in search results.

But speed isn't just about SEO — it's about revenue. Amazon found that every 100ms of latency costs them 1% in sales. For small businesses, the impact is proportionally similar.

Here's exactly how I build websites that load in under 2 seconds.

The Foundation: Choosing the Right Technology

Next.js for Server-Side Rendering

I use Next.js for most projects because it gives me:

  • Server-Side Rendering (SSR) — HTML is generated on the server, so users see content immediately
  • Static Site Generation (SSG) — Pages are pre-built at deploy time for instant loading
  • Automatic code splitting — Users only download the JavaScript they need for the current page
  • Built-in image optimization — Automatic WebP/AVIF conversion and lazy loading

Why Not WordPress?

WordPress can be fast, but it requires significant optimization effort. Out of the box, a typical WordPress site with a few plugins loads in 3-5 seconds. With Next.js, the same content loads in under 1 second.

Technique 1: Optimized Images

Images are usually the heaviest elements on a page. Here's what I do:

  • Next/Image component with automatic format conversion to WebP and AVIF
  • Responsive sizing — different image sizes for different screen widths
  • Lazy loading — images below the fold only load when scrolled into view
  • Priority loading — hero images are loaded with high priority for instant visibility
  • Aggressive caching — static images cached for 1 year with immutable headers

Impact: Typically reduces page weight by 60-80%.

Technique 2: Minimal JavaScript

Many websites load megabytes of JavaScript that users never need:

  • Tree shaking — unused code is automatically removed at build time
  • Dynamic imports — heavy components only load when needed
  • No unnecessary libraries — I replace heavy npm packages with lightweight alternatives or custom code
  • Client vs Server components — React Server Components send zero JavaScript for static content

Impact: Reduced JS bundle from typical 500KB+ to under 100KB.

Technique 3: Font Optimization

Web fonts can block page rendering. Here's how I handle them:

  • Google Fonts with next/font — automatically self-hosted and optimized
  • Font display: swap — text shows immediately with system font, then swaps when custom font loads
  • Subset fonts — only load the character sets you actually need (Latin for English sites)
  • Variable fonts — one font file instead of multiple weight files

Impact: Eliminates font-related layout shift and reduces render-blocking time by 200-500ms.

Technique 4: Caching Strategy

Proper caching means returning visitors see pages instantly:

  • Static assets — Cache-Control headers with max-age=31536000 (1 year) and immutable flag
  • HTML pages — Stale-while-revalidate for fresh content without waiting
  • API responses — Cached at the edge for global performance
  • Service Workers — Offline-first for PWAs with smart cache invalidation

Technique 5: Security Headers That Don't Slow You Down

I add security headers that improve both security and SEO:

  • HSTS (Strict-Transport-Security) — forces HTTPS connection
  • X-Content-Type-Options — prevents MIME type sniffing
  • Removed X-Powered-By — reduces response size and hides framework info
  • Compressed responses — Brotli/gzip for smaller payloads

Real Results: Lighthouse Scores

Here are Lighthouse performance scores from recent projects:

ProjectPerformanceAccessibilitySEO
Portfolio Website98100100
Image Optimizer Tool9698100
Salon Business Site97100100

How to Test Your Website Speed

  1. Google PageSpeed Insights — insights.google.com
  2. GTmetrix — gtmetrix.com
  3. WebPageTest — webpagetest.org
  4. Chrome DevTools Lighthouse — right-click → Inspect → Lighthouse tab

The Bottom Line

Speed isn't a luxury — it's a requirement. Every second your website takes to load costs you visitors, customers, and Google rankings. The techniques I've described aren't theoretical — they're exactly what I implement in every project.

If your current website takes more than 3 seconds to load, it's costing you money. Let's fix that.

Have a Project in Mind?

Let's discuss how I can build a practical solution for your business.

Get in Touch