Barındırma ve performans

WordPress sitelerini nasıl hızlandırıyoruz: LiteSpeed Enterprise, LSCache ve site başına Redis

En hızlı WordPress isteği, hiç çalıştırılmayanıdır — işte altyapımızın, PHP veya MySQL çağrılmadan önce çoğu ziyareti önbellekten nasıl yanıtladığı ve bunun Core Web Vitals için ne anlama geldiği.

Hiç çalışmayan istek, en hızlı istektir

Standart bir WordPress isteği maliyetlidir. Web sunucusu süreci PHP'ye devreder, PHP WordPress'i başlatır, eklentileri çalıştırır, MySQL'e birkaç düzine kez sorgu gönderir, HTML'yi birleştirir ve ancak o zaman baytları geri gönderir. Yoğun bir sitede bu süreç her ziyaretçi için tekrarlanır ve ilk bayt sürenizin (time-to-first-byte) neredeyse tamamı burada harcanır.

Cevabımız, çoğu ziyaret için bunların hiçbirinin gerçekleşmemesini sağlamaktır. Barındırdığımız sitelerde — 100.000'den fazla PBN sitesi ve ana akım yönetilen WordPress dahil — ön uç sayfa görüntülemelerinin büyük çoğunluğu, PHP'yi çalıştırmadan veya veritabanına dokunmadan, doğrudan önbellekten önceden oluşturulmuş tam bir sayfa olarak sunulur. Bu yazının geri kalanı, bunu mümkün kılan katmanların nasıl bir araya geldiği ve her birinin yerini nasıl hak ettiği hakkındadır.

Önemli olan nokta, bunların arasından seçim yapacağınız birbiriyle yarışan önbellekler olmadığıdır. Tam sayfa önbelleği, nesne önbelleği ve CDN kenarı (edge) her biri farklı bir istek sınıfını yakalar ve asıl değer, birbirlerine nasıl aktarım yaptıklarında yatar.

LiteSpeed Enterprise + LSCache: tam sayfa katmanı

Her site, sunucu düzeyinde LSCache özellikli LiteSpeed Enterprise üzerinde çalışır. Ön uç yanıtı önbelleğe alınabilir olduğunda, web sunucusu bunu LiteSpeed önbellek denetimi ve etiket başlıklarıyla damgalar ve LiteSpeed sonraki istekte tam sayfanın sunumunu doğrudan gerçekleştirir; PHP süreci başlatılmaz, MySQL sorgusu çalıştırılmaz. Bu, WordPress TTFB üzerindeki en büyük etki unsurudur, çünkü uygulamanın tamamının yüklenme sürecini kritik yoldan tamamen çıkarır.

LSCache bir PHP eklentisi yerine doğrudan web sunucusunun içinde çalıştığı için, istek yaşam döngüsünde daha erken devreye girer ve sayfaları sunucunun anında dışarı aktarabileceği bir biçimde saklar. Bir önbellek tarayıcısı popüler sayfaları güncel tutar; böylece bir temizleme sonrasındaki ilk ziyaretçi, sayfanın yeniden oluşturulma maliyetini ödemek zorunda kalmaz. Sonuç, önbelleğin hâlâ PHP'nin arkasında yer aldığı genel bir yığın üzerine eklenmiş yalnızca eklenti tabanlı bir önbelleğe kıyasla, belirgin şekilde daha düşük ve tutarlı bir TTFB'dir.

Depo kalitesindeki kendi önbellek eklentimiz her sitede önceden yüklenmiş ve otomatik olarak güncellenmiş şekilde gelir ve WordPress'i kutudan çıkar çıkmaz LSCache'e doğru şekilde bağlar. LiteSpeed ​​olmayan bir kaynakta, tam sayfa başlıkları yaymaz ve aradan çekilir; nesne önbelleği ve hariç tutma kuralları ise işlerini yapmaya devam eder — böylece taşınan bir site asla bozuk, yarı yapılandırılmış bir durumda bırakılmaz.

Hızdan ödün vermeden bayat içerik sunmamak: ESI ve akıllı otomatik temizleme

Agresif tam sayfa önbelleklemenin iki klasik hata modu vardır: oturum açmış bir kullanıcıya başkasının sayfasını sunmak ve değişmesi gereken bir sayfayı herkese sunmak. Her ikisi de daha az önbelleğe alarak değil, önbellekleme katmanında çözülür.

ESI (Edge Side Includes), canlı kalması gereken kısımlar için delikler açarken sayfayı önbelleğe almamıza olanak tanır. Bir WooCommerce mağazasında katalog, ürün ve kategori sayfaları olası en hızlı TTFB için tam sayfa önbellek olarak sunulurken; ESI, sepet parçasını, mini sepet toplamlarını ve hesap durumunu istek başına oluşturur. Sepet, ödeme, hesabım ve tüm nonce veya oturum sayfaları varsayılan olarak hariç tutulur. Alışveriş yapanlar her zaman kendi sepetlerini ve çalışan bir ödeme sayfasını görür; herkes yine de mağaza önünü önbellekten alır.

Önbellek güncelliği akıllı otomatik temizleme ile yönetilir. İçerik, ürünler, fiyatlar veya siparişler değiştiğinde temizleme kancaları otomatik olarak tetiklenir; böylece ilgili önbelleğe alınmış sayfalar bir zamanlayıcıya bağlı kalmadan anında yenilenir ve ayrıca panelden veya WordPress içinden isteğe bağlı olarak temizleme yapabilirsiniz. Etiket tabanlı temizleme, tek bir gönderiyi düzenlemenin tüm önbelleği değil, yalnızca o gönderiyi ve arşivlerini temizlemesi anlamına gelir; böylece tek bir düzenleme tüm sitenin soğuk başlatılmasına neden olmaz.

Site başı Redis nesne önbelleği: tam sayfa olamayacak içerikler için

Her istek statik tam bir sayfa olamaz. Oturum açmış kullanıcılar, WordPress admin paneli, WooCommerce sepetleri, arama ve ESI'ın canlı bıraktığı dinamik parçaların tümü PHP çalıştırmak zorundadır. Bunlar için amaç, 'uygulama katılımını atlamak' yerine 'veritabanını atlamak' olarak değişir.

Her siteye özel bir Redis nesne önbelleği atanır. WordPress; seçenekler, geçiciler, gönderi ve terim aramaları ile WooCommerce ürün ve oturum verileri gibi tekrarlanan veritabanı okumalarının sonuçlarını bellekte önbelleğe alır; böylece her istekte aynı sorgu MySQL üzerinde çalıştırılmaz. Bu etki, tam sayfa önbelleğinin yardımcı olamadığı yerlerde en net şekilde görülür: daha hızlı panolar, daha hızlı sepetler ve trafik altında çok daha düşük veritabanı yükü.

Nesne önbelleği paylaşılmaz, site başına özeldir; bu durum hem performans hem de yalıtım açısından önem taşır. Site başına veritabanı kısıtlamasıyla birleştirildiğinde, bir sitenin yoğun veya kötü yazılmış sorguları, komşu siteler için veritabanı kaynaklarını tüketip onları aç bırakamaz. Tüm bu çok katmanlı yapının nasıl bir araya geldiği hakkında daha fazla bilgiyi önbellekleme özellik sayfamızda, kiracılar arasındaki sınırlar hakkında ise yalıtım altında okuyabilirsiniz.

Uç nokta ve altındaki aktarım katmanı

Orijin üzerinde barınan önbelleğin hâlâ ağ üzerinden geçmesi gerekir. Sunucunun önünde CDN kenarı yer alır; böylece statik varlıklar ve önbelleklenebilir sayfalar ziyaretçinin yakınındaki bir yayın noktasından sunulur ve origin, yük altında bile sessiz kalır. Footprint-Free barındırma serimiz için aynı kenar, hem bir performans hedefine hem de bir footprint hedefine hizmet eden birkaç sağlayıcıya yayılmış çoklu CDN havuzudur; mainstream WordPress üzerinde ise bu, origin'leri boşta tutan hızlı, iyi huylu bir katmandır.

Temelde teknik detaylardan ödün verilmez. Siteler HTTP/3 destekli NVMe depolama üzerinde çalışır; böylece önbelleğin gönderdiği baytlar modern ve çoklayıcılı bir aktarım üzerinden gelir, önbellek isabet etmediğinde ise arkasında hızlı depolama yer alır. Bu katmanların hiçbiri bir eklenti değildir: LiteSpeed, LSCache, site başına Redis, NVMe ve HTTP/3 her planda standart bir temoldür, üst paketlere geçiş zorunluluğu değildir.

Core Web Vitals değerlerini gerçekten ne etkiler

Core Web Vitals konusunda hosting genellikle aşırı övüldüğü için hassas olmakta fayda var. TTFB denklemin sunucuya ait olan kısmıdır ve bunu düşüren unsur üstteki önbellekleme yığınıdır; HTTP/3 üzerinden uç bir noktadan (edge) sunulan önbelleğe alınmış tam bir sayfa, TTFB'nin alabileceği en düşük seviyelerden biridir. TTFB, Largest Contentful Paint'in başlangıç noktası olduğu için hızlı bir kaynak sunucu, akıştaki diğer tüm metriklerin başka türlü elde edemeyeceği bir başlangıç avantajına sahip olmasını sağlar.

Ancak LCP, CLS ve INP büyük ölçüde tarayıcıda, sayfanın kendisi tarafından belirlenir: optimize edilmemiş bir manşet görseli (hero image), render'ı engelleyen CSS ve JavaScript, fontlar ile reklamlar yüklenirken kayan düzen ve eklentilerden kaynaklanan yoğun ana iş parçacığı (main-thread) çalışması. Hiçbir sunucu önbellekleme miktarı, 2 MB'lık bir manşeti veya megabaytlarca JavaScript gönderen bir temayı düzeltemez. Dürüst barındırma, sunucu katkısını etkili bir şekilde ücretsiz ve tutarlı hale getirir, sonrasında ön yüzü sade tutmak sitenin sorumluluğundadır.

İş bölümü faydalı bir zihinsel modeldir. İsteklerin tarayıcıya hızla ulaşmasını ve trafik altında hızlı kalmasını biz garanti ederiz; siz de yükü küçük ve kararlı tutarsınız. Bu ikisinin buluştuğu nokta —önbellek ısıtma, kenar (edge) teslimi ve dinamik sayfaların duraksamaması için veritabanının duyarlı tutulması— tam olarak yığınımızın ayarlandığı yerdir; bu platformda yönetilen WordPress barındırma hizmetini, sıradan bir sunucudaki aynı siteden daha hızlı yapan da budur.

Sıkça sorulan sorular

Hâlâ WP Rocket gibi bir önbellekleme eklentisine ihtiyacım var mı?

Hayır. Tam sayfa önbellekleme, web sunucusunda LiteSpeed'in LSCache özelliği ve önceden yüklenip otomatik olarak güncellenen kendi önbellek eklentimiz tarafından, arkasında site başına bir Redis nesne önbelleği ile WordPress'e doğru şekilde bağlanır. Üst üste ikinci bir tam sayfa önbellekleme eklentisi kullanmak, yardımcı olmaktan ziyade genellikle sunucu düzeyindeki önbellekle çakışır; bu nedenle gerekli değildir ve önerilmez.

Önbellekleme, WooCommerce sepetimi veya oturum açılmış sayfalarımı bozar mı?

Hayır. Sepet, ödeme, hesabım ve tüm nonce veya oturum sayfaları varsayılan olarak önbellekten hariç tutulur; ESI ise aksi takdirde önbelleğe alınmış sayfalarda sepet parçasını ve toplamları canlı tutar. Alışveriş yapanlar, mağaza cephesi hala önbellekten yüklenirken her zaman kendi sepetlerini ve çalışan bir ödeme sayfasını görürler.

Yayınladığımda veya düzenlediğimde önbellek nasıl güncel kalıyor?

Akıllı otomatik temizleme, ilgili WordPress kancalarında tetiklenir; böylece içerik yayınlama, düzenleme veya bir ürünü, fiyatı ya da siparişi değiştirme işlemi tüm önbelleği değil, yalnızca etkilenen sayfaları ve bunların arşivlerini temizler ve bir tarayıcı bunları yeniden önbelleğe alır. Ayrıca kontrol panelinden veya WordPress içinden isteğe bağlı olarak temizlik yapabilirsiniz.

Yalnızca barındırma hizmeti bana mükemmel Core Web Vitals sağlayabilir mi?

Size en iyi olası TTFB'yi sunar; bu, sunucunun payı ve Largest Contentful Paint için bir başlangıç avantajıdır. Ancak LCP, CLS ve INP büyük ölçüde sayfanın kendisi tarafından belirlenir; görsel boyutları, render'ı engelleyen varlıklar, düzen kararlılığı ve ana iş parçacığı JavaScript'i. Altyapımız sunucu katkısını hızlı ve tutarlı hale getirir; ön uç yükünü hafif tutmak, aradaki kalan mesafeyi kapatan unsurdur.

14 gün boyunca ücretsiz deneyin

İlk sitelerinizi 14 gün boyunca ücretsiz kurun — kart gerekmez. Mevcut bir ağı mı taşıyorsunuz? İlk taşıma işleminiz bizden.

Ücretsiz başla