Barındırma ve performans

WordPress'i 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 istektir — işte yığınımızın PHP veya MySQL çağrılmadan önce çoğu ziyarete önbellekten nasıl yanıt verdiği ve bunun Core Web Vitals için ne anlama geldiği.

En hızlı istek, hiçbir zaman çalıştırılmayan istektir

Standart bir WordPress isteği yüksek maliyetlidir. Web sunucusu görevi PHP'ye devreder, PHP WordPress'i başlatır, eklentileri çalıştırır, MySQL'e birkaç düzine sorgu gönderir, HTML'i oluşturur ve ancak ondan sonra baytları geri gönderir. Yoğun bir sitede bu sürecin tamamı her ziyaretçi için gerçekleşir ve time-to-first-byte sürenizin 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 özelliğine sahip LiteSpeed Enterprise üzerinde çalışır. Bir ön uç yanıtı önbelleğe alınabilir olduğunda, web sunucusu bunu LiteSpeed önbellek kontrolü ve etiket başlıklarıyla damgalar ve LiteSpeed, bir sonraki ziyarette sayfanın tamamını doğrudan sunar; hiçbir PHP işlemi başlatılmaz, hiçbir MySQL sorgusu yürütülmez. Bu, WordPress TTFB üzerindeki en büyük tek etkendir, çünkü uygulamanın tüm başlatma sürecini kritik yoldan kaldırır.

LSCache, bir PHP eklentisi yerine doğrudan web sunucusunun içinde yer aldığından, istek yaşam döngüsünde daha erken çalışmaya başlar ve sayfaları sunucunun anında temizleyebileceği bir biçimde tutar. Bir önbellek tarayıcısı popüler sayfaları hazır tutar, böylece bir temizleme işleminden sonraki ilk ziyaretçi sayfanın yeniden oluşturulmasının getirdiği yükü üstlenmek zorunda kalmaz. Sonuç olarak, önbelleğin hâlâ PHP'nin arkasında yer aldığı genel bir yığına sonradan eklenmiş yalnızca eklenti tabanlı bir önbelleğe kıyasla belirgin şekilde daha düşük ve daha tutarlı bir TTFB elde edilir.

Depo kalitesindeki kendi önbellek eklentimiz, her siteye önceden yüklenmiş ve otomatik olarak güncellenecek şekilde sunulur; WordPress ile LSCache arasındaki bağlantıyı kutudan çıktığı anda doğru bir şekilde kurar. LiteSpeed harici bir kaynakta, tam sayfa üstbilgileri yayınlamaz ve sorunsuzca devreden çıkar; nesne önbelleği ve hariç tutma kuralları ise çalışmaya devam eder — böylece taşınan bir site asla bozuk veya yarı yapılandırılmış bir durumda bırakılmaz.

Eski içerik sunmadan hızlı kalmak: ESI ve akıllı otomatik temizleme

Agresif tam sayfa önbelleğe almanın iki klasik başarısızlık modu vardır: oturum açmış bir kullanıcıya başkasının sayfasını sunmak ve herkese değişmiş olması gereken bir sayfayı sunmak. Her ikisi de daha az önbelleğe alarak değil, önbelleğe alma katmanında çözülür.

ESI (Edge Side Includes), canlı kalması gereken kısımlar için boşluklar açarken sayfayı önbelleğe almamızı sağlar. Bir WooCommerce mağazasında katalog, ürün ve kategori sayfaları mümkün olan en hızlı TTFB için tam sayfa önbellek olarak sunulurken, ESI sepet parçacığını, mini sepet toplamlarını ve hesap durumunu istek başına işler. Sepet, ödeme, hesabım ile 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 mağaza vitrinini yine de önbellekten alır.

İçerik 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ı kalmak yerine anında yenilenir ve ayrıca kontrol panelinden veya WordPress içinden dilediğiniz zaman temizleme yapabilirsiniz. Etiket tabanlı temizleme, tek bir yazıyı düzenlemenin tüm önbelleği değil, yalnızca o yazıyı ve arşivlerini temizlemesi anlamına gelir; böylece tek bir düzenleme tüm sitenin sıfırdan başlamasına neden olmaz.

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

Her istek statik bir tam sayfa olamaz. Oturum açılmış oturumlar, WordPress yöneticisi, WooCommerce sepetleri, arama ve ESI'nin canlı bıraktığı dinamik parçaların tümü PHP çalıştırmak zorundadır. Bunlar için hedef, 'uygulamayı atla'dan 'veritabanını atla'ya kayar.

Her site kendi özel Redis nesne önbelleğine sahip olur. WordPress, yinelenen veritabanı okumalarının sonuçlarını (seçenekler, transients, yazı ve terim aramaları, WooCommerce ürün ve oturum verileri) bellekte önbelleğe alır; böylece her istekte MySQL üzerinde aynı sorgu yeniden çalıştırılmaz. Bunun etkisi tam olarak tam sayfa önbelleğinin yardımcı olamadığı yerlerde belirgindir: daha hızlı kontrol panelleri, daha hızlı sepetler ve yoğun trafik altında çok daha düşük veritabanı yükü.

Nesne önbelleği paylaşımlı olmayıp site başınadır; bu da hem performans hem de yalıtım açısından önem taşır. Site başına veritabanı kısıtlaması ile birleştiğinde, bir sitenin ağır veya kötü yazılmış sorguları, komşuları için veritabanı kaynaklarını tüketmez. Önbelleğe alma özellikleri sayfamızdan tüm çok katmanlı yapının nasıl bir arada çalıştığı ve yalıtım kapsamındaki kiracılar arasındaki sınırlar hakkında daha fazla bilgi edinebilirsiniz.

Edge ve altındaki aktarım katmanı

Kaynak sunucuda bulunan önbelleğin yine de ağı aşması gerekir. CDN uç noktası sunucunun önünde yer alır; bu sayede statik varlıklar ve önbelleğe alınabilir sayfalar ziyaretçiye yakın bir varlık noktasından (PoP) sunulur ve kaynak sunucu yoğun yük altında bile sessiz kalır. Arama motoru ayak izi bırakmayan (footprint-free) hosting serimiz için bu uç nokta, birden fazla sağlayıcıya yayılmış bir çoklu CDN havuzudur ve hem SEO ayak izi hem de performans hedefine hizmet eder; ana akım WordPress tarafında ise yalnızca kaynak sunucuları boşta tutan hızlı ve sorunsuz çalışan bir katmandır.

Temelde, esaslardan ödün verilmez. Siteler HTTP/3 ile NVMe depolama üzerinde çalışır; bu sayede önbelleğin gönderdiği baytlar, herhangi bir önbellek ıskalamasının arkasındaki hızlı depolama ile modern, çoğullanmış bir iletim üzerinden ulaşır. Bu katmanların hiçbiri bir eklenti değildir: LiteSpeed, LSCache, site başına Redis, NVMe ve HTTP/3 ek bir satış katmanı değil, her plandaki temel standarttır.

Core Web Vitals değerlerini gerçekten ne etkiler

Hassas olmakta fayda var, çünkü barındırma hizmetleri Core Web Vitals konusunda sıklıkla abartılarak pazarlanmaktadır. TTFB, denklemin sunucuya ait olan kısmıdır ve bunu düşüren şey yukarıdaki önbelleğe alma yığınıdır — uç noktadan (edge) HTTP/3 üzerinden sunulan önbelleğe alınmış tam bir sayfa, TTFB'nin ulaşabileceği en düşük seviyedir. TTFB, Largest Contentful Paint metriğinin öncü sınırı olduğundan, hızlı bir kaynak sunucu, sonraki her metriğe başka türlü sahip olamayacağı bir başlangıç avantajı sağlar.

Ancak LCP, CLS ve INP büyük ölçüde tarayıcıda, sayfanın kendisi tarafından belirlenir: optimize edilmemiş bir ana görsel (hero image), işlemeyi engelleyen CSS ve JavaScript, yazı tipleri ve reklamlar yüklendikçe kayan düzen ve eklentilerden kaynaklanan ağır ana iş parçacığı yükü. Hiçbir sunucu önbelleğe alma işlemi, 2 MB boyutundaki bir ana görseli veya megabaytlarca JavaScript aktaran bir temayı düzeltemez. Dürüst bir barındırma hizmeti, sunucu katkısını etkili bir şekilde önemsiz ve tutarlı hale getirir; sonrasında ön ucu (front end) hafif tutmak web sitesinin sorumluluğundadır.

Bu iş bölümü faydalı bir zihinsel modeldir. İsteğin tarayıcıya hızlı bir şekilde ulaşmasını ve trafik altında da hızlı kalmasını biz garanti ederiz; siz ise veri yükünü küçük ve kararlı tutarsınız. İkisinin buluştuğu yer — önbellek ısıtma, uç dağıtım ve dinamik sayfaların takılmaması için veri tabanının yanıt verebilirliğini koruma — tam olarak yığınımızın ayarlandığı yerdir ve bu platformdaki yönetilen WordPress çözümünü genel bir barındırma hizmetindeki aynı siteden daha hızlı kılan şey de budur.

Sıkça sorulan sorular

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

Hayır. Tam sayfa önbelleğe alma işlemi web sunucusunda LiteSpeed'in LSCache özelliği tarafından yönetilir ve önceden yüklenmiş ve otomatik olarak güncellenen kendi önbellek eklentimiz, arkasında site başına bir Redis nesne önbelleği ile WordPress'i buna doğru şekilde bağlar. Üzerine ikinci bir tam sayfa önbelleğe alma eklentisi eklemek, genellikle fayda sağlamak yerine sunucu düzeyindeki önbellekle çakışır; bu nedenle gerekli değildir ve önerilmez.

Önbelleğe alma, WooCommerce sepetimi veya oturum açılmış sayfalarımı bozar mı?

Hayır. Cart, checkout, my-account ve tüm nonce veya session sayfaları varsayılan olarak önbellekten hariç tutulur ve ESI, diğer durumlarda önbelleğe alınan sayfalarda sepet parçasını ve toplamları canlı tutar. Mağaza vitrini önbellekten yüklenmeye devam ederken, alışveriş yapanlar her zaman kendi sepetlerini ve çalışan bir ödeme adımını görürler.

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

Akıllı otomatik temizleme ilgili WordPress kancalarında tetiklenir; böylece içerik yayınlamak, düzenlemek veya bir ürünü, fiyatı ya da siparişi değiştirmek tüm önbelleği değil, yalnızca etkilenen sayfaları ve bunların arşivlerini temizler ve bir tarayıcı bunları yeniden ısıtır. Ayrıca kontrol panelinden veya WordPress içinden dilediğiniz zaman temizleme yapabilirsiniz.

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

Bu, sunucunun payı olan ve Largest Contentful Paint için bir avantaj sağlayan mümkün olan en iyi TTFB'yi size sunar. Ancak LCP, CLS ve INP büyük ölçüde sayfanın kendisi tarafından belirlenir — resim boyutları, oluşturmayı engelleyen kaynaklar, düzen kararlılığı ve ana iş parçacığı JavaScript'i. Yığınımız, sunucu katkısını hızlı ve tutarlı hale getirir; ön uç yükünü hafif tutmak, aradaki kalan farkı kapatan şeydir.

14 gün boyunca ücretsiz deneyin

İlk sitelerinizi 14 gün boyunca ücretsiz olarak yayına alın — kredi kartı gerekmez. Mevcut bir ağı mı taşıyorsunuz? Taşımalar tamamen ücretsiz ve sınırsızdır.

Ücretsiz başlayın