Teknik SEO
2025
WordPress Hızlandırma 2025: Core Web Vitals, Önbellek, CDN ve Görsel Optimizasyonu (Tam Rehber)
2025’te WordPress hız optimizasyonu, Core Web Vitals (LCP–INP–CLS) odağıyla teknik ve içerik tarafında
bütüncül bir yaklaşım gerektirir. Bu rehberde tema/eklenti hijyeni, sunucu ve PHP ayarları,
sayfa & nesne önbelleği, CDN/edge cache, WebP/AVIF görsel dönüşümü,
kritik CSS ve bloklayıcı JS azaltma gibi pratikleri adım adım, kopyalanabilir örneklerle anlatıyoruz.
- CWV Odaklı: LCP/INP/CLS metriklerinde iyileşme → daha yüksek sıralama ve dönüşüm.
- Edge Performans: CDN + tam sayfa cache + görsel CDN ile global hızlanma.
- Bakım Kolaylığı: Sürdürülebilir tema/eklenti mimarisi ve değişmez kurallar.
1) Core Web Vitals 2025: LCP – INP – CLS
Kullanıcı deneyimini ölçen üç temel metrik: LCP (en büyük içerik boyaması), INP (etkileşim gecikmesi) ve CLS (görsel kararlılık).
Neye Odaklanmalı?
- LCP: Hero görseli/başlık için kritik kaynakları öne alın (preload, inline kritik CSS).
- INP: Ağır JS ve 3P script’leri azaltın; defer/async ve idle yüklemeyi kullanın.
- CLS: Görsellere en/boy, reklam/yer tutuculara sabit alan tanımlayın.
Destekleyici Metrikler
- TTFB/FCP: Sunucu yanıtı ve ilk boyamayı kısaltmak için edge cache + Brotli.
- FID → INP: Anlık değil, etkileşim sonrası tüm gecikmeyi gözleyin.
* Eşikler örnek amaçlıdır; saha verisi (field) odaklı değerlendirin.
2) Ölçüm Araçları: PSI, Lighthouse, GSC, CrUX & RUM
Araç | Veri Tipi | Kullanım |
---|---|---|
PageSpeed Insights | Lab + Field (CrUX) | Hızlı sağlık kontrolü |
Lighthouse | Lab | Yerel/test ortamı deneyi |
Search Console | Field (site kapsamlı) | URL grupları ve CWV raporu |
CrUX Dashboard | Field | Trend ve ülke/cihaz kırılımı |
RUM (Gerçek Kullanıcı) | Field (JS SDK) | Gerçek oturum bazlı ölçüm |
RUM Snippet (örnek)
3) Sunucu & PHP: HTTP/3, OPcache, Brotli
Önerilen Yapı
- PHP 8.2+ ve OPcache aktif, bellek/TTL ayarlı.
- HTTP/2–HTTP/3 (QUIC) destekli web sunucusu.
- Brotli (yoksa Gzip) sıkıştırma.
- DNS/TTFB için edge ve coğrafi yakınlık.
Nginx (örnek parçalar)
# Brotli brotli on; brotli_comp_level 6; brotli_types text/html text/css application/javascript image/svg+xml; # Cache Headers location ~* \.(css|js|png|jpg|jpeg|gif|svg|webp|avif)$ { expires 30d; add_header Cache-Control "public, immutable"; }
.htaccess (Apache) örneği
# Sıkıştırma AddOutputFilterByType DEFLATE text/html text/css application/javascript # Uzun ÖnbellekHeader set Cache-Control "public, max-age=2592000, immutable"
Not: Barındırıcınıza göre yönergeler değişebilir.
4) WordPress Hijyen: Tema/Eklenti, Render Engelleyiciler
Altın Kurallar
- Hafif tema: Fazla builder bağımlılığından kaçının.
- Eklenti diyeti: Zorunlu olmayan eklentileri kaldırın.
- Render engelleyici kaynakları minimize edin (kritik CSS, defer JS).
- Emojiyi kapatın,
jquery-migrate
’ı devre dışı bırakın (uyumluluk uygunsa).
functions.php (örnek)
remove_action('wp_head','print_emoji_detection_script',7); remove_action('wp_print_styles','print_emoji_styles');
5) Önbellek: Sayfa, Nesne (Redis/Memcached), Opcode
Tür | Kapsam | Örnek |
---|---|---|
Sayfa Cache | HTML | Full page cache / Edge cache |
Nesne Cache | WP Queries | Redis / Memcached |
Opcode | PHP bytecode | OPcache |
Redis wp-config.php
define('WP_CACHE_KEY_SALT','site_123_'); define('WP_REDIS_MAXTTL', 3600);
6) CDN & Edge Cache: Kurulum ve Ayarlar
Adım Adım
- CDN pull zone oluşturun; full-page cache (mümkünse) açın.
- HTML TTL ve varyasyonları tanımlayın (cihaz/ülke/dil gerekliyse).
- Bypass kuralları: /wp-admin/, sepet/ödeme, girişli kullanıcı.
- Görselleri image CDN ile dönüştürün (WebP/AVIF, akıllı sıkıştırma).
Örnek Edge Kuralı
if (request.cookie['wordpress_logged_in'] || url.path.startsWith('/cart') || url.path.startsWith('/checkout')) { cache = 'bypass'; } else { cache = 'force'; }
* Tipik kazanımlar; site yapısına göre değişir.
7) Görsel Optimizasyonu: WebP/AVIF, srcset, Lazyload
Uygulama Prensipleri
- Yüksek etkili görselleri AVIF/WebP’ye çevirin; kahraman (hero) görselini preload edin.
srcset
+sizes
ile responsive sunum.- Yer tutucu (blur/skeleton) + lazyload (görünüm alanına yakın eşik).
HTML Resim Örneği
8) Font Stratejisi: preload, swap, değişken font
Adımlar
- WOFF2 dosyalarını
<link rel="preload" as="font" crossorigin>
ile öne alın. - CSS’te
font-display: swap
kullanın. - Varyant sayısını azaltın; mümkünse değişken font.
@font-face Örneği
@font-face{font-family:'InterVar';src:url('/fonts/inter-var.woff2') format('woff2');font-display:swap;}
9) CSS/JS İyileştirmeleri: Kritik CSS, defer/async
Yol Haritası
- Üstte görünen alan için kritik CSS üretin/inline ekleyin.
- Bloklayıcı JS’leri defer ile sona taşıyın; 3P’leri mümkünse idle yükleyin.
- Kullanılmayan CSS’i temizleyin; admin bar/yorumlar için koşullu yükleme.
Kritik CSS Kalıbı
Defer/Async Örneği
Not: İzleme piksel/etiketlerini geç yükleyin; kritik dönüşümlere etkisini test edin.
10) Veritabanı & Cron Optimizasyonu
Temizlik ve Endeksler
- Revizyon, çöp ve geçici (transients) verilerini temizleyin.
- Yorum/posta meta tablolarında indeks stratejisi uygulayın.
DISABLE_WP_CRON
+ sistem cron ile kuyruk çalıştırın.
wp-config.php
define('DISABLE_WP_CRON', true);
11) WooCommerce: Şablon ve Sepet Performansı
Hız Notları
- Mini sepet (fragments) AJAX yüklerini kısıtlayın; koşullu etkinleştirin.
- Ürün gridlerinde lazyload + server-side pagination.
- Checkout’ta 3P scriptlerini minimumda tutun; Apple/Google Pay çağrılarını idle yükleyin.
functions.php (fragmanlar)
add_filter('woocommerce_cart_fragments_enabled','__return_false');
12) 30-60-90 Gün Gelişim Planı
- Server: HTTP/3 + Brotli + OPcache
- WP: hafif tema, eklenti diyeti, emoji/jQuery migrate kapalı
- CDN: pull zone + temel edge kuralları
- Kritik CSS + hero preload
- AVIF/WebP dönüşümü + srcset
- INP için JS ayrıştırma ve 3P azaltma
- WooCommerce özel istisnalar
- RUM kurulumu + GSC CWV iyileşme takibi
- Aylık raporlama ve regresyon alarmları
13) Yaygın Hatalar & Çözümler
Çakışma ve ek JS/CSS yüküne neden olur.
HTTP/2’de aşırı birleştirme fayda sağlamayabilir.
Yanlış sizes
= devasa dosyalar.
sizes
tanımlayın.Yer ayırmadan reklam/yerleşim eklemek.
14) Sık Sorulan Sorular