Kembali ke Blog
Performance 5 Januari 2024 12 min

Optimasi Performa Website: Panduan Lengkap dari A sampai Z

A
Admin
Content Writer
Optimasi Performa Website: Panduan Lengkap dari A sampai Z - Featured image

Pendahuluan

Kecepatan website adalah faktor krusial yang mempengaruhi user experience, SEO ranking, dan conversion rate. Research menunjukkan:

  • 53% users meninggalkan website jika loading > 3 detik
  • 1 detik delay menurunkan conversion hingga 7%
  • Google menggunakan page speed sebagai ranking factor

Mari kita bahas cara mengoptimasi performa website Anda dari A sampai Z.

1. Image Optimization

Images biasanya menyumbang 50-70% dari total page weight. Optimasi images adalah low-hanging fruit yang paling impactful.

Compression

Tools:

  • TinyPNG - lossy compression untuk PNG
  • ImageOptim - lossless optimization
  • Squoosh - modern compression dengan control

Best Practices:

  • Compress images sebelum upload
  • Target: < 200KB per image
  • Balance antara quality dan size

Modern Formats

WebP:

  • 25-35% lebih kecil dari JPEG
  • Support transparency seperti PNG
  • Supported di 95%+ browsers

AVIF:

  • 50% lebih kecil dari JPEG
  • Quality excellent
  • Support masih growing
<picture>
  <source srcset="image.avif" type="image/avif">
  <source srcset="image.webp" type="image/webp">
  <img src="image.jpg" alt="Fallback">
</picture>

Lazy Loading

Load images only when needed:

<img src="image.jpg" loading="lazy" alt="Description">

Responsive Images

Serve different sizes untuk different devices:

<img 
  srcset="
    image-320.jpg 320w,
    image-640.jpg 640w,
    image-1280.jpg 1280w
  "
  sizes="(max-width: 320px) 280px,
         (max-width: 640px) 600px,
         1200px"
  src="image-640.jpg"
  alt="Description"
>

2. Code Optimization

Minification

Remove whitespace dan comments dari production code.

HTML Minification:

<!-- Before (5.2 KB) -->
<div class="container">
  <h1>Welcome</h1>
  <p>Lorem ipsum dolor sit amet</p>
</div>

<!-- After (4.8 KB) -->
<div class="container"><h1>Welcome</h1><p>Lorem ipsum dolor sit amet</p></div>

CSS Minification:

  • Remove unused CSS (PurgeCSS)
  • Minify dengan cssnano
  • Critical CSS inline

JavaScript Minification:

  • Minify dengan Terser
  • Tree shaking untuk remove unused code
  • Code splitting

Bundle Optimization

Code Splitting:

// Dynamic import
const module = await import('./heavy-module.js');

// React lazy loading
const HeavyComponent = lazy(() => import('./HeavyComponent'));

Tree Shaking:

// ❌ Import entire library
import _ from 'lodash';

// ✅ Import only what you need
import debounce from 'lodash/debounce';

3. Caching Strategies

Browser Caching

Set proper cache headers:

# Nginx config
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
}

Service Workers

Cache assets untuk offline access:

// service-worker.js
self.addEventListener('install', (event) => {
  event.waitUntil(
    caches.open('v1').then((cache) => {
      return cache.addAll([
        '/',
        '/styles.css',
        '/script.js',
        '/logo.png'
      ]);
    })
  );
});

CDN

Benefits:

  • Reduced latency
  • Better availability
  • DDoS protection
  • Reduced bandwidth costs

Popular CDN:

  • Cloudflare (gratis tier available)
  • AWS CloudFront
  • Fastly
  • Bunny CDN

4. Server Optimization

Hosting

Shared Hosting: ❌ Slow, tidak recommended
VPS: ✅ Good balance
Cloud Hosting: ✅✅ Best performance
Dedicated: ✅✅✅ Enterprise level

Server-Side Caching

Redis:

// Laravel with Redis
$users = Cache::remember('users', 3600, function () {
    return DB::table('users')->get();
});

Memcached:

  • In-memory caching
  • Distributed caching
  • Very fast

Database Optimization

Indexing:

-- Add index untuk frequently queried columns
CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_posts_user_id ON posts(user_id);

Query Optimization:

-- ❌ N+1 problem
SELECT * FROM posts;
-- Then untuk each post:
SELECT * FROM users WHERE id = post.user_id;

-- ✅ Use JOIN
SELECT posts.*, users.* 
FROM posts 
LEFT JOIN users ON posts.user_id = users.id;

5. Core Web Vitals

Google’s metrics untuk measuring user experience:

LCP (Largest Contentful Paint)

Target: < 2.5 seconds

Optimizations:

  • Optimize images
  • Remove render-blocking resources
  • Use CDN
  • Implement server-side caching

FID (First Input Delay)

Target: < 100 milliseconds

Optimizations:

  • Minimize JavaScript execution
  • Break up long tasks
  • Use web workers untuk heavy computations

CLS (Cumulative Layout Shift)

Target: < 0.1

Optimizations:

  • Set dimensions untuk images dan videos
  • Avoid dynamically injected content
  • Use font-display: swap carefully
/* Prevent layout shift */
img {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}

6. Monitoring & Testing

Tools

Performance Testing:

  • Google PageSpeed Insights
  • GTmetrix
  • WebPageTest
  • Lighthouse

Real User Monitoring:

  • Google Analytics
  • New Relic
  • Datadog

Metrics to Track

  • Page Load Time
  • Time to First Byte (TTFB)
  • First Contentful Paint (FCP)
  • Time to Interactive (TTI)
  • Total Blocking Time (TBT)

Checklist Optimasi

Images

  • Compress all images
  • Convert to WebP/AVIF
  • Implement lazy loading
  • Use responsive images

Code

  • Minify HTML, CSS, JS
  • Remove unused code
  • Implement code splitting
  • Enable Gzip/Brotli compression

Caching

  • Set browser cache headers
  • Implement CDN
  • Server-side caching
  • Database query caching

Server

  • Upgrade hosting if needed
  • Enable HTTP/2 atau HTTP/3
  • Optimize database queries
  • Use Redis/Memcached

Monitoring

  • Setup performance monitoring
  • Track Core Web Vitals
  • Regular performance audits
  • Set performance budgets

Kesimpulan

Optimasi performa website adalah proses berkelanjutan. Start dengan quick wins (image optimization, caching), kemudian tackle hal-hal yang lebih complex.

Remember: Setiap 100ms improvement dalam page load time dapat meningkatkan conversion rate hingga 1%.

Butuh Bantuan Optimasi?

Tim kami expert dalam website performance optimization. Hubungi kami untuk audit dan optimasi website Anda!


Artikel terkait:

  • Panduan Lengkap Membuat Website Profesional
  • 10 Tips SEO untuk Meningkatkan Ranking
  • Mengenal Jamstack: Arsitektur Modern

Bagikan Artikel: