IHS Strategic
Tüm Blog Yazıları
HowTo09 Eylül 2026•2 dk okuma

Web Sitelerinde SVG Kullanımı ve Vektörel Performans Optimizasyonu Rehberi

Modern web projelerinde SVG varlıklarını optimize etme, DOM yükünü düşürme ve sayfa yükleme hızını artırma rehberi.

S

Sistem Yöneticisi

Kıdemli Yazılım Mimarı

1. SVG Kullanım Yöntemleri ve Maliyet Analizi

SVG dosyaları XML tabanlı vektör formatıdır. Yanlış entegrasyon DOM şişmesi ve render gecikmesi yaratır. Modern web mimarilerinde dört temel yöntem kullanılır:

  • Inline SVG: CSS/JS ile tam kontrol sağlar. HTTP isteği sıfır. Fazla DOM node yaratır. Önbelleğe alınmaz.
  • IMG Etiketi: <img src="icon.svg">. Tarayıcı önbellekler. CSS ile manipüle edilemez, script çalışmaz.
  • CSS Background: UI dekorasyonları için uygundur. DOM temiz kalır. HTTP/2 multiplexing gerektirir.
  • SVG Sprite (Symbol / Use): En verimli yöntem. Tek dosya, çoklu kullanım, CSS kontrolü aktif.

2. Adım Adım SVG Optimizasyonu

Adım 1: Gereksiz Meta Verileri Temizleme

Figma, Illustrator ve Inkscape gibi araçlar çıktıya tonla çöp metadata ekler. Bunları SVGO (SVG Optimizer) CLI ile silin:

npx svgo input.svg -o output.svg --multipass

Temizlenenler: metadata, doctype, comments, editör katman bilgileri, boş etiketler.

Adım 2: Precision (Ondalık) Ayarını Düşürme

Koordinatlardaki küsuratlar dosya boyutunu şişirir. Ondalık hassasiyetini düşürün. SVGO ayarı:

plugins: [
  {
    name: 'cleanupNumericValues',
    params: { floatPrecision: 1 }
  }
]

Adım 3: SVG Sprite Sistemi Kurma

Bir dijital ajans iş akışında yüzlerce ikon bulunur. Hepsini tek bir sprite dosyasında toplayın:

<!-- sprite.svg -->
<svg xmlns="http://www.w3.org/2000/svg" style="display:none;">
  <symbol id="arrow" viewBox="0 0 24 24">
    <path d="M5 12h14M12 5l7 7-7 7"/>
  </symbol>
</svg>

<!-- Kullanım -->
<svg class="icon">
  <use href="/sprite.svg#arrow"></use>
</svg>

3. Performans ve Render İpuçları

Gereksiz path birleştirmesi yapın. Illustrator içindeki 'Compound Path' komutu bağımsız path sayısını ve çizim maliyetini azaltır.

  • CSS ile Boyutlandırın: SVG root elemanında hardcoded width ve height yerine sadece viewBox tutun. Boyutu CSS üzerinden yönetin.
  • GOPU Render: SVG animasyonlarında top/left yerine CSS transform ve opacity kullanın. CPU yerine GPU işletir.
  • Gzip/Brotli: SVG metin dosyasıdır. Sunucu tarafında Brotli sıkıştırması açık olsun; %80 oranında ek tasarruf sağlar.

4. 2026 Trendler: SVG Yerine CSS/Canvas Ne Zaman Seçilmeli?

Vektör grafiği 1000'den fazla path içeriyorsa SVG DOM ağacını kilitler. Bu senaryoda Canvas veya WebGL tercih edin. Basit UI ikonları ve logolar için SVG en hızlı çözümdür.