Sitenizi açtınız, birkaç saniye beklediniz ve hâlâ açılmadı. Bu hissi bilirsiniz; o an ziyaretçiniz çoktan rakibinize geçmiş olabilir. WordPress dünyanın en yaygın altyapısı olabilir, ama hız ve performans sorunlarıyla boğuşmak neredeyse her site sahibinin yolu. Asıl can sıkıcı olansa, bu yavaşlığa çoğu zaman büyük değil, küçük ve gözden kaçan hataların sebep olmasıdır. Bu yazıda, WordPress sitenizi yavaşlatan yaygın hataları nasıl bulup düzelteceğinizi adım adım anlatacağım. Elinize bir kahve alın, sitenizin yönetim paneline giriş yapın ve başlayalım.
Site Hızının Neden Bu Kadar Önemli Olduğunu Anlayın
Kullanıcıların sabrı sandığınızdan çok daha az. Bir sayfanın 3 saniyeden uzun sürede açılması, ziyaretçilerin yarısından fazlasının siteyi terk etmesine yol açabilir. Üstelik Google, sayfa hızını sıralama faktörü olarak kullanıyor; yavaş bir site, emeğinizin arama sonuçlarında alt sıralara itilmesi demek. E-ticaret yapıyorsanız, her saniyelik gecikme dönüşüm oranlarınızı doğrudan düşürür. Mesele sadece teknik bir optimizasyon değil, doğrudan işinize etki eden bir konu.
Başlamadan Önce: Yedek Almayı ve Test Ortamı Kullanmayı Unutmayın
Performans iyileştirmeleri yaparken sitenizin çalışma şeklini değiştirecek adımlar atacaksınız. Canlı sitede anlık bir hatanın sitenizi erişilemez kılması ihtimaline karşı mutlaka tam bir yedek alın. Eğer mümkünse, değişiklikleri önce bir staging (test) ortamında uygulayıp sonuçları gördükten sonra canlıya aktarın. Eklenti güncellemeleri, önbellek ayarları veya kod değişiklikleri öncesinde bu alışkanlık size büyük zaman kazandırır.
Mevcut Durumu Ölçmek: Hangi Araçları Kullanmalısınız?
Sorunları çözmeye başlamadan önce sitenizin şu anki hızını ölçmelisiniz. Değişikliklerin işe yarayıp yaramadığını anlamanın tek yolu sayısal verilere bakmaktır. Şu araçlar işinizi fazlasıyla görür:
- PageSpeed Insights: Google’ın hem mobil hem masaüstü için Core Web Vitals metriklerini gösteren aracı. Önerileri sıralı ve nettir.
- GTmetrix: Sayfa yüklenme süresini, toplam boyutu ve istek sayısını waterfall grafiğiyle birlikte sunar. Hangi dosyanın ne kadar sürede yüklendiğini görmek için idealdir.
- WebPageTest: Farklı tarayıcı ve lokasyonlarla test yapmanıza izin verir. Detaylı analiz için birebirdir.
- Chrome DevTools Network sekmesi: Sitenizdeki her bir isteğin sırasını ve süresini canlı olarak izlemek için kullanabilirsiniz. Daha çok geliştirici işidir, ama işinize yarar.
Araçlardan birini seçip testi çalıştırın ve sonuçları not alın. “First Contentful Paint”, “Largest Contentful Paint” ve “Total Blocking Time” metriklerine özellikle dikkat edin. İyileştirme sonrası aynı testi tekrarlayıp karşılaştıracaksınız.
WordPress Hataları: En Sık Karşılaşılan Yavaşlatıcılar ve Çözümleri
Gelelim asıl meseleye. Çoğu kullanıcı, “wordpress hataları” denince kırık bağlantıları veya beyaz ekranı düşünür. Oysa sessiz sedasız sitenizi yavaşlatan, performansı emen hatalar çok daha yaygındır. Bunları tek tek ele alalım.
Gereksiz Eklenti Kalabalığı ve Güncellenmemiş Eklentiler
WordPress’in gücü esnekliğinde yatar; bu esneklik de büyük ölçüde eklentilerden gelir. Ama her eklenti, arka planda kod çalıştırır, veritabanı sorgusu yapar veya stil/script dosyası yükler. Kullanmadığınız bir eklenti bile sadece “pasif” durumdayken belirli kaynakları tüketebilir. Daha da kötüsü, güncellenmemiş bir eklenti, eski ve verimsiz kodla çalışmaya devam ederek sayfa yüklenme süresini şişirir.
Ne yapmalısınız?
- Eklentiler sayfasına gidip gerçekten kullanmadıklarınızı tamamen silin. Devre dışı bırakmak yetmez.
- Aktif eklentilerinizi gözden geçirin: Aynı işi yapan iki eklenti var mı? Örneğin hem bir güvenlik eklentisi hem de ayrı bir giriş denemesi sınırlayıcı kullanıyor olabilirsiniz; birini bırakıp diğerini kaldırın.
- Tüm eklentileri güncelleyin. Güncelleme notlarında “performance improvements” ifadesini görürseniz, bunun size etkisi genellikle olumludur.
Şişmiş ve Optimize Edilmemiş Veritabanı
WordPress zamanla veritabanında inanılmaz miktarda gereksiz veri biriktirir: revizyonlar (her yazı kaydettiğinizde oluşan yedek kopyalar), spam yorumlar, silinmiş eklentilerin bıraktığı tablolar, trashed (çöp) içerikler, geçici seçenekler (transients) ve otomatik kaydedilmiş taslaklar. Bunların hepsi sorguları yavaşlatır, özellikle paylaşımlı hostinglerde bariz hissedilir.
Adım adım temizlik:
- PhpMyAdmin veya Adminer gibi bir araçla veritabanına erişin. Öncesinde veritabanı yedeği alın.
wp_optionstablosunda “_transient_” ile başlayan satırları kontrol edin. Süresi dolmuş transient’ları temizleyin.- Revizyon sayısını sınırlandırmak için
wp-config.phpdosyasına şu satırı ekleyebilirsiniz:define('WP_POST_REVISIONS', 3);. Bu, her yazı için en fazla 3 revizyon tutulmasını sağlar. - WP-Optimize veya Advanced Database Cleaner gibi bir eklentiyle manuel temizliğe girmeden de işlem yapabilirsiniz. Temizlikten önce mutlaka yedek alın.
Ağır ve Doğru Yapılandırılmamış Önbellek
Önbellek (cache), sitenizin her ziyarette sıfırdan oluşturulmasını engelleyip statik HTML sürümünü sunar. Bu, WordPress hız optimizasyonunun en büyük kaldıracıdır. Ama yanlış yapılandırılmış bir önbellek eklentisi, siteyi hızlandıracağına daha da yavaşlatabilir. Örneğin, oturum açmış kullanıcılara önbellek sunmak, alışveriş sepeti gibi dinamik öğelerin çalışmamasına neden olurken; gereksiz yere her sayfayı tekrar tekrar önbelleğe almak sunucuya yük bindirir.
Doğru yapılandırma ipuçları:
- Sayfa önbelleğini etkinleştirirken “giriş yapmış kullanıcılar için önbelleği devre dışı bırak” ayarını işaretleyin.
- Mobil cihazlar için ayrı önbellek oluşturun; responsive tasarım kullanıyor olsanız bile bazen farklılık gerekir.
- Önbellek süresini sitenizin güncellenme sıklığına göre ayarlayın. Sık güncellenen bir blog için 1-2 saat, daha statik bir kurumsal site için 24 saat mantıklıdır.
- Tarayıcı önbelleğini de unutmayın: statik kaynakların (CSS, JS, resimler) tarayıcıda ne kadar süreyle saklanacağını belirleyin.
Optimize Edilmemiş Görseller ve Medya Yükleme Hataları
Bir sayfanın toplam boyutunun genellikle %50’den fazlasını görseller oluşturur. 5 MB’lık bir fotoğrafı olduğu gibi yüklemek, sitenizin mobilde dakikalarca açılması demektir. Ayrıca, WordPress’in varsayılan olarak oluşturduğu küçük, orta, büyük gibi çok sayıda görsel boyutu da sunucuda gereksiz yer kaplar ve medya kütüphanesini şişirir.
Gerçekçi bir kontrol listesi:
- Görselleri yüklemeden önce mutlaka sıkıştırın. JPEG için %70-80 kalite fazlasıyla yeterlidir; PNG yerine mümkünse WebP kullanın.
- WordPress 5.8 sonrası WebP desteği gelse de, her temanın ve sunucunun bunu kaldıramadığını unutmayın.
- Lazy loading (tembel yükleme) özelliğini kullanın. WordPress 5.5’ten beri varsayılan olarak resimlere
loading="lazy"ekler, ama arka plan resimlerinde veya iframe’lerde bu manuel eklenmeyebilir. - CDN (içerik dağıtım ağı) kullanıyorsanız, görsel optimizasyon özelliğini etkinleştirin. Cloudflare veya BunnyCDN gibi servisler anında dönüştürme ve sıkıştırma sunabilir.
Yanlış Tema Seçimi ve Aşırı İşlev Yükü
Demo sitelerinde harika görünen çok amaçlı temalar, genellikle yüzlerce kısa kod, sayfa oluşturucu modülü ve gereksiz JavaScript kütüphanesiyle gelir. Tema, sadece bir görünüm değil, sitenizin performans temelidir. Özellikle page builder eklentileriyle birlikte kullanılan şişkin temalar, sayfa başına megabaytlarca DOM öğesi üretebilir.
Pratik seçim önerileri:
- Temanın sade kurulumda kaç HTTP isteği yaptığını ve sayfa boyutunu test edin (GTmetrix veya WebPageTest ile).
- Kullanmayacağınız özellikleri devre dışı bırakma imkânı olup olmadığını kontrol edin. Örneğin, sadece blog yapıyorsanız, portföy veya slider özelliğini kapatabilmelisiniz.
- Google Fonts yükünü azaltın: Sadece kullandığınız dilin karakterlerini (Latin extended yerine sadece Latin gibi) ve ağırlıkları (400, 700 gibi) yükleyin.
Harici Kaynakların ve API İsteklerinin Kontrolsüz Kullanımı
Sitenize eklediğiniz her harici script (fontlar, analitik kodları, sosyal medya widget’ları, reklam ağları), o sunucuya giden bir istek demektir. Bu isteklerin her biri DNS çözümlemesi, bağlantı ve indirme süresi ekler. Özellikle birden çok üçüncü parti hizmet kullanıyorsanız, sunucularının yavaşlaması sitenizi doğrudan etkiler.
Nerelere dikkat etmeli?
- Google Analytics veya Facebook Pixel gibi zorunlu kodları ertelenmiş yükleme (defer/async) ile çağırın.
- Font Awesome gibi ikon kütüphanelerini tamamen yüklemek yerine sadece kullandığınız ikonların SVG’sini ekleyin veya sistem fontlarına geçin.
- Sosyal medya paylaşım butonlarının her biri ayrı bir script çağırıyorsa, hafif bir eklentiyle bunları tek bir butona indirgeyin.
PHP Sürümünün Eski Kalması
WordPress’in çalıştığı PHP sürümü, performansı doğrudan belirler. PHP 5.6’dan 7.x’e geçiş bile hızı ikiye katlayabiliyorken, PHP 8.0 ve üzeri sürümler belirgin avantajlar sunar. Ama birçok kullanıcı, uyumluluk korkusuyla eski sürümlerde takılı kalır. Kontrol etmek için hosting panelinizden veya WordPress Site Health aracından mevcut PHP sürümüne bakın. Eğer 7.4’ün altındaysa hosting sağlayıcınızla iletişime geçip yükseltmeyi talep edin. Yükseltmeden önce temanızın ve eklentilerinizin yeni sürümle uyumlu olduğundan emin olmak için staging ortamında test yapın.
.htaccess veya Nginx Yapılandırma Bozuklukları
Sunucu seviyesinde yapılan sıkıştırma ve önbellek ayarları, site hızını dramatik etkiler. Gzip sıkıştırması etkin değilse CSS ve JS dosyalarınız şişer; expire headers eksikse ziyaretçi her defasında aynı statik dosyaları tekrar indirir. Yanlış yazılmış bir yönlendirme kuralı, siteyi sürekli yönlendirme döngüsüne sokarak yanıt süresini patlatır.
Apache kullanıyorsanız .htaccess dosyanızı kontrol edip şu satırların olduğundan emin olun:
# GZIP sıkıştırma
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/javascript
# Tarayıcı önbelleği
Header set Cache-Control "max-age=2592000, public"
Nginx kullanıyorsanız, sunucu bloğunuzda gzip ve expires direktiflerini kontrol edin.
Kötü Kodlanmış Özel Fonksiyonlar ve Yavaş Veritabanı Sorguları
Özellikle geliştiriciyle çalışıp siteye özel kod eklettiyseniz, bu kodlarda performans hataları olabilir. Örneğin, her sayfa yüklendiğinde dış bir API’den veri çeken bir fonksiyon, o API yanıt verene kadar sayfayı bloke eder. Ya da wp_posts tablosuna indis eklenmemiş bir meta sorgu, veritabanını taramak zorunda kalır.
Bunu tespit etmek için Query Monitor eklentisini kurabilirsiniz. Yavaş sorguları, hataları ve hook’ları anında gösterir. Gördüğünüz anormal yavaş sorguları optimize etmek veya önbelleğe almak için geliştiricinize danışın.
Hataları Giderirken Kaçınılması Gereken Yaygın Tuzaklar
Performans çalışması sırasında iyi niyetle yapılan şu hatalar sitenizi daha da bozabilir:
- Her şeyi aynı anda optimize etmeye çalışmak: Birden fazla eklenti kurup tüm ayarları değiştirirseniz, hangisinin soruna yol açtığını bulamazsınız. Her değişikliği test ederek ilerleyin.
- Minify işlemini abartmak: CSS ve JS birleştirip sıkıştırırken sıralama bozulursa sitenin görünümü kırılabilir veya etkileşimli öğeler çalışmaz hale gelebilir. Özellikle JavaScript’i birleştirirken hata kontrolü yapın.
- Sadece ana sayfaya odaklanmak: İç sayfalar, özellikle de ürün sayfaları veya blog yazıları, farklı görsel ve sorgu yükleri taşır. Testleri sadece ana sayfada yapmayın.
- Paylaşımlı hostingin sınırlarını zorlamak: Hosting kaynakları kısıtlıysa, tüm optimizasyonu yapsanız da belirli bir noktadan sonra hızlanamazsınız. Gerçekçi olun; siteniz büyüdüyse VPS veya yönetimli hostinge geçiş vakti gelmiş olabilir.
- Yedek almamak: Veritabanı temizliği veya .htaccess düzenlemesi öncesi yedek alınmazsa geri dönüşü olmayan veri kayıpları yaşanabilir.
Optimizasyon Sonrası Son Kontroller
Tüm adımları uyguladıktan sonra, başlangıçta kullandığınız hız test araçlarını bir kez daha çalıştırın ve sonuçları karşılaştırın. Mobil skorunuzun en azından 70’in üzerine çıkmasını, LCP’nin 2.5 saniyenin altına inmesini ve toplam sayfa boyutunuzun 1 MB civarında kalmasını hedefleyin. Ayrıca farklı cihazlardan ve tarayıcılardan siteyi ziyaret ederek gözle kontrol yapın; bazen metrikler iyi görünür ama butonlar geç yükleniyordur.
Hızlı bir site, yalnızca sıralama için değil, insanların sitede kalma ve geri gelme kararı için de belirleyicidir. Bugün başlayın, yarın farkı görün.
3 saniye gerçekten azmış, fark etmemiştim.
Staging ortamı kurmak için önerdiğiniz bir eklenti var mı? Hep duyuyorum ama hiç denemedim.
Ben de site yavaşlayınca hep büyük sorun sanıyordum. Ufak hataların etkisini görmek ilginç.
Canlı sitede değişiklik yapmadan yedek almayı söylüyorsunuz ama bazen yedekten dönerken bile sorun çıkabiliyor. Bu konuda dikkatli olmak lazım.
E-ticaret sitem var ve yavaşlık yüzünden sepet terk oranım gerçekten arttı. Önbellek ayarlarını kurcalarken bir keresinde siteyi kırmıştım. Staging ortamı öneriniz hayat kurtarır, keşke daha önce duysaydım. Bu yazıyı notlarıma ekledim.
Google sıralaması sadece hıza bağlı değil bence.
Yazıda hangi hız test aracını önerirsiniz? Google PageSpeed bazen kafa karıştırıyor, GTmetrix daha mı güvenilir sizce? Her ikisi farklı sonuç verince hangisine göre hareket edeceğimi şaşırıyorum.
Kahve önerisi iyi olmuş, sabah sabah site hatalarıyla uğraşırken lazım.
Yazıda adım adım anlatacağım demişsiniz ama daha giriş kısmındayız galiba. Asıl merak ettiğim, veritabanı şişmesi performansı ne kadar etkiliyor? Temaların ve eklentilerin bıraktığı artık tablolar yüzünden sitem aşırı yavaşlamıştı, wp optimize işe yarar mı?
İlk defa bir yazı yedek almayı en başa yazmış. Genelde unutuluyor, tebrik ederim.
Peki ya hosting kalitesi? O da önemli.
Ben de resimleri optimize etmeden yüklüyordum sürekli, 3-4 MB fotolar siteyi süründürmüş. Yavaşlığın sebebini anlamak için uğraşırken küçük detayları es geçmek çok kolay. Özellikle tema güncellemeleri sonrası her şeyi kontrol etmeye başladım.
Yavaş site kullanıcıyı kaçırır doğru ama bazen temaların kendisi şişik oluyor. Sadece hatalar değil.
Bu yazının devamında hangi belirli eklentileri veya kod parçacıklarını inceleyeceksiniz? Mesela lazy loading için eklenti şart mı yoksa tema destekliyorsa yeterli mi? Ve önbellek için en iyi ücretsiz seçenek hangisi sizce? Deneyimlerinizi duymak isterim.
Çok faydalı bir başlangıç, devamını bekliyorum.
3 saniye gerçekten o kadar kritik mi?
3 saniye kuralı gerçekten acımasız.
Benim sitem de 5 saniyede açılıyordu, yoksa rakibe giderlerdi zaten.
Google’ın hız faktörünü sıralamada ne kadar ağırlıkla kullandığını biliyor muyuz?
Yedeği unuttum, eklenti güncellemesinde site çöktü. Staging ortamı şart.
Canlı siteye müdahale etmeden test ortamı nasıl kurabilirim?
E-ticaret yapıyorum, yavaşlama yüzünden sepet terk oranı artmıştı. Sorunun önbellek ayarlarında olduğunu fark edince düzelttim, ama bir günlük satış kaybı can sıkıcıydı.
Yedek almayı söylüyorsunuz ama hangi yedekleme eklentisini önerirsiniz? Özellikle büyük sitelerde sorun çıkarmayacak bir şey var mı?
Yavaş açılan bir sayfada hangi aracın daha doğru sonuç verdiğini tam olarak anlayamadım. PageSpeed Insights mı yoksa GTmetrix mi? İkisi arasında ciddi farklar olabiliyor, hangisine bakmamız gerek asıl?
Google’ın hızı sıralama faktörü yaptığını biliyorum ama yavaş siteler hâlâ üst sıralarda çıkabiliyor. Demek ki tek başına hız yetmiyor, içerik de kritik. Yine de yazıdaki uyarılar yerinde, özellikle görsel optimizasyonu göz ardı edenler için.
Kahveyle başlamak iyi fikirmiş.
Önbellek ayarları en çok neyi bozar?
Yazının devamında hangi eklentilerin performansı en çok etkilediğine de değinecek misiniz? Bazı eklentiler farkında olmadan siteyi aşırı yavaşlatıyor.
Ben de bir ara siteyi hızlandırmaya çalışırken canlı ortamda kod değiştirip siteyi kırmıştım. Şimdi hep yedek alıyorum. Bu yazı da aynı şeyi söylüyor, keşke baştan bilseydim.
Ölçüm araçlarını kullanmadan önce nereden başlayacağımı bilemiyordum.
Değişiklikleri staging ortamına almak için ücretsiz bir yöntem var mı?
Sitemde onlarca eklenti vardı, hangisinin yavaşlattığını anlamak için test ortamında tek tek kapatıp denedim. Yazıdaki yöntemlerden sonra PageSpeed skoru 40’tan 80’e çıktı. Ama sunucu kaynaklı yavaşlığı çözmek için hosting değiştirmek zorunda kaldım, her şey optimizasyonla bitmiyor.
E-ticaret için her saniyenin dönüşümü düşürdüğünü söylüyorsunuz. Bu konuda bir eşik değer var mı? Yani 2 saniye ile 4 saniye arasında ne kadarlık bir kayıp oluyor? Özellikle WooCommerce kullananlar için bir benchmark paylaşabilir misiniz?
Yedek alma adımını atlamak en büyük hataymış, yaşadım.
Küçük hatalardan kastınız nedir? Bir iki örnek verebilir misiniz?
Ziyaretçi sabrı konusunda çok haklı.
Yedek almadan deneyen oldu mu?
Müşterilerim sitenin yavaş olduğunu söyleyince önce görselleri küçülttüm, sonra önbellek eklentisi kurdum. Yazıdaki gibi adım adım ilerleyince fark ettim ki asıl sorun temaların şişkinliğiymiş.
Hız testi yaparken sunucu konumunun sonuca etkisi hakkında da konuşacak mısınız? Mesela yurtdışı sunucularda PageSpeed puanı düşük çıkarken yerli araçlarda daha iyi sonuç alınabiliyor.
Staging ortamını bilmiyordum, sayende deneyeceğim.
Kahve demişken, siz hangi aşamada mola veriyorsunuz?
Blog sitemde hız optimizasyonu yaparken yazıdaki araçları kullandım. Özellikle Lighthouse raporu çok işe yaradı, kullanılmayan JavaScript’leri görünce şaşırdım. Ama eklentileri azaltırken bazı özelliklerden vazgeçmek zorunda kaldım, çünkü her şeyi optimize edince site işlevsizleşti. Dengeli olmak lazım.
Performans optimizasyonu yaparken tema dosyalarına müdahale etmek gerekiyor mu? Ben hazır tema kullanıyorum, çocuk tema olmadan yapılan değişiklikler güncellemede siliniyor. Bu durumda hız artırmak için ne önerirsiniz?
Her saniyenin dönüşümü düşürmesi korkutucu.
Yani kullanıcılar gerçekten 3 saniye bekler mi?