Uzunca bir süre wordpress tiyolarına ilişkin bir yazı yaınlamamışken bu kez sıkça wordpress kullanıcılarının başını ağrıtan yavaşlama sorununun çözümüne ilişkin kapsamlı bir makale hazırlamak istedim. Kabaca bu makalede wordpress sitenizi yavaşlatan etkenler ve bunlardan kurtulma yöntemleri yer alacaktır. Kullanmış olduğunuz temaya ilişkin bilgi sahibi olmadığımdan küçük öneriler dışında temanıza özgü bir çözüm bulmanız biraz zor olabilir ancak tiyorı takip ederek bu tema bazlı sorunlardan da kurtulabilirsiniz düşüncesindeyin.
Öncelikle WordPress Yavaşlama Nedenleri
WordPress, joomla vb açık kaynak yazılımlardan sonra çıkan bir yazılım olarak hedef kitlesini tıpkı diğer açık kaynak içerik yönetim sistemleri gibi mümkün olduğunca geniş tutmaya çalışıyor. Bu nedenledir ki wordpress kullanan bir site sahibi işine yarayan bir çok özellik yanında bir de hiç kullanmadığı bir çok özellik nedeniyle hostingine fazladan yük yaratıyor ve kaçınılmaz olarak zaman içinde siteleri ciddi anlamda yavaşlayabiliyor. Kabaca bir özetlemek gerekirse:
- Yanlış hosting seçimi
- Gereksiz özellikleri kullanma
- Aşırı ağır temalar (kullanmadığınız bir çok özelliği içinde barındıran temalar)
- Yanlış kodlama (sonsuz döngüler vs)
- Aşırı kırpma özelliği kullanımı
- Metin editörü önbelleklerinin temizlenmemesi sonucu aşırı bu verilerin şişmesi (üç beş makale ile 1 yıl sonunda 100mb lık bir sql ile karşılaşanlar genellikle bu sorunun madurlarıdır)
- Güncel teknolojileri kullanmama
- Gereksi aşırı eklenti kurulumu
- Optimize edilmemiş resimler
gibi gibi uztmak mümkün listeyi ancak makale sorunlardan çok çözüme yönelik olacağı için aşağıda bu sorunlar ve burada bulunmayan sorunların çözümüne ilişkin detaylı açıklamalar mevcut.
Gereksiz Eklentilerden Kurtulun – Eklenti Çöp Temizliği Yapın
Genellikle yeni wordpress kullanıcılarının yaptıkları en büyük hatalardan biri önüne gelen eklentiyi kurmak ve bunu sitede kullanmasa bile kurulu bırakmak ya da kaldırdıktan sonraki veritabanında bıraktığı çöp tabloları temizlememesidir.
Genellikle en büyük yavaşlamayı yaratan eklentiler hit sayaç eklentileridir. Makalenin kaç kez ziyaret edildiği vs istatistik tutan bu eklentiler hem php sorgu yükü ve hem de geçmiş verileri saklamak için işkal ettiği wp sql veritabanı tabloları nedeni ile veritabanı yükü yaratır. Bu eklentilerin bir çoğu kaldırılsa bile veritabanında bu istatistik tablolarını bırakırlar ve php sorgu yükünden kurtulsanız da sql yükünden kurtulmamış olursunuz. Bu istatistik eklentisi örneği üzerinden durumu daha iyi anlayacağınızı düşündüğümden direk bir eklenti olarak anlattım.
“Peki bu sorunu nasıl çözerim?” wordpress eklenti arşivinde sql optimize araçları alanında bir çok araç mevcuttur. Bu araçların temel işlevleri veritabanınızı tarayarak boşta olan kullanılmayan tabloları bulurlar ve bu tabloları silmenizi sağlarlar.Ek işlev olarak yedekleme vs olanağı sağlayan bu eklentiler için WP-Optimize eklentisini kullanabilirsiniz. Bu eklenti ile veritabanı boş tablolarınızı temizleyebilirsiniz. Ek özellikleri için bir sonraki maddeyi takip ediniz.
Çöplerinizi Temizleyin
WordPress sitenizde hiç bir değişiklik yapmasanız da neden yıllar içinde yavaşladıklarını hiç düşündünüz mü? Bu sorunun cevabı gayet basittir ve cevap aşırıderecede çöp biriktiren siteler olmalarıdır. Örneğin; makale yazımınız esnasında herhangi bir bağantı sorununa karşın wordpress makalenizin o andaki halini cerece alır ve siz silmeden revision denilen o çerezler asla silinmezler yığılır giderler. Yıllar içinde biriken ping back ler, zamanı dolan yorumlar, yığılan çöpe taşınmış makaleler ya da istenmeyen kutusunda filtreye takılmış hiç görmediğiniz yorumlar. Bu çöpler için de hiç düşünmeden yukarıda paylaştığım WP-Optimize eklentisini kullanabilirsiniz.
Bu noktada çözüm için sunduğum eklentileri mümkün olduğunca kapsamlı eklentilerden seçiyorum ki bir kaç eklenti yerine tek eklenti ile sorununuzu çözmeniz demek çok daha hızlı bir sonuca ulaşmanız anlamına gelir.
Güncel Teknolojileri Takip Edin ve Kullanın (AMP – Duyarlı Tasarım)
AMP nin türkçe açılımı Hızlandırılmış Mobil Sayfalar Projesi şeklindedir. Yani bu makale hedefine uygun hem SEO kriteri hemde hız kriteri bir projedir. Kabaca AMP sayfalar sitenizde içerik sayfalarında yer alan gereksiz stip ve script lerden kurtularak ziyaretçiye salt düz sayfada text içeriği sunar. Yani siteniz gerek sunucu kaynaklı bir yavaşlama anında olsun ya da ziyaretçinin kendi bağlantı problemleri nedeni ile yavaşlama anında olsun o ziyaretçiyi kazanmanızı sağlar. Bu proje için açıklama sayfasında Google bizzat wordpress kullanıcılarına AMP eklentisi önermektedir. İndirip kullanabilirsiniz.
Bir diğer konu ise responsive (duyarlı) tasarımdır. Bu konu direk temanızı ilgilendiren makale girişinde de bahsettiğim size özgü konulardan. Responsive uyum için eklenti kullanmanızı önermiyorum. Bu durum hem sitenizi vağrolandan daha yavaş çalışmasına neden olur ve diğer yandan içerik tekrarına sokar sitenizi. Bu içerik tekrarı konusunda detaylı bir bilgilendirmeyi “Kurallı kaos: yinelenen içerik” makalemde yapmıştım dileyen arkadaşlar okuyabilirler. Makaleyi okumak istemeyenler için hzı konusunu ilgilendiren kısmını özetlemek gerekirse gerek m.siteadi.com ya da siteadi.com şeklinde açılan responsive tasarım eklentileri sitenizde ek sorgular oluştururlar. Malum mevcut şablonunuza ek kendi arayüzlerini çalıştırmak zorundadırlar. Dışardan script yükleyen eklentiler, yetersizlik nedeni ile ek responsive menü eklentileri kurduran vs eklentilere bir kez girdiğinizde hem admin paneliniz eklentiler ile dolar ve hemde işin içinden çıkılmaz bir halde veritabanı bağlantısı hataları almaya başlarsınız.
Scriplerinizi Tek Satırdan Çalıştırın
WordPress alt yapısının kendi kullandıları ve kurduğunuz temanın kullanıkları ile birlikte sitenizin görselliğini sağlayan js dosyaları sayısı ciddi sayılara ulaşabilir. Sitenize gelen ziyaretçilerin tarayıcıları bu js leri yükleyebilmek için ek zamana ihtiyaç duyarlar ve bu durumda sitenizin sayfa açılış sürelerini olumsuz yönde etkilerler. Bu durumun çözümü için Scripts To Footer eklentisini kullanabilirsiniz.
Aynı sorun nedeni ile benzer bir yavaşlama etkisine de css dosyalarınız neden olmaktadır. Ben her iki sorunu bir arada çözmek istiyorum diyenler Better WordPress Minify eklentisi ile hem css ve hemde js dosyalarını tek satırdan çalıştırarak çok daha hızlı sayfalara kavuşabilirler.
Cache ve CDN Kullanın
Cache sistemi kabaca ziyaret alan sayfaların belli süreler için .htm tarzında ftp de birer kopyasını oluşturarak aynı sayfaya gelen ziyaretçilerin ek sorgulara neden olmadan bu kopyaları görüntilemelerini sağlayarak gerek sunucu gerekse de kaynak tüketimi konularında size fayda sağlar. Url yönlendirme, dosya sistemi, php sistemi gibi farklı metodları olsa da her bir metod da hızınıza hız katarlar.
Ek olarak belirtmeden geçmeyeyim ki cache sistemi ftp de başlayıp bitmez yani browser cache sistemini destekler bir güncelleme yapmanız sitenizin hızına ek hız katacaktır. Cache sistemi için WP Super Cache eklentisini kullanabilirsiniz. WordPress in alanında en çok kullanılan eklentisidir ve cdn sistemi de entegre olarak barındırmaktadır.
CDN sistemi ise sitenizin medya dosyaları ya da script dosyaları gibi dosyaları farklı bir sunucuda çalıştırarak bir ya da daha fazla ziyarette sitenize gelen sorgu yükünü ikye bölerek sitenizin tepki süresini kısaltır. Yani bu da ek bir hız demektir. Ancak genellikle ücretli çözümleri olsa da ücretsiz clouflare gibi yaygın çözüm yöntemleri de yok değildir.
Güvenliğin Hıza Etkisi
Başlık sizi korkutmasın öyle devasa önlemlerden bahsetmeyeceğim. WordPress in hızını olumsuz etkileyen 2 alan vardır bunlardan ilki yaygın olması nedeni ile herkesçe bilinen admin panel giriş yoludur. Bu url yolu ile bazen sitenize şifre üreticiler ile yüklenebilirler. Şifreniz çok güvenli siteniz hacklenemez diyelim ancak her bir şifre üretme girişimi fazladan bir sorgudur ve sitenizi yavaşlatır. Diğer sorun ise yine yaygın olarak kullanılan yorum botlarıdır. Belki sitenizde yorumları onaya bğlayıp kirlilikten kurtulmuş olabilirsiniz ancak her girişim yine bir sorgudur ve sitenizi yavaşlatacaktır.
Bu problemlerden kurtulmak için çok hafif 2 eklenti önereceğim bunlardan ilki Protect Your Admin eklentisidir. Bu eklenti ile admin panel yolunuzu değiştirebilir hatta görsel olarak wordpress logonuzu dda değiştirerek farklı bir alt yapı izlenimi verebilirsiniz. Yorum probleminin çözümü için ise wordpress inde ilk kurulumda varsayılan olarak size önerdiği Akismet eklentisidir. Bu eklentide sıkça yapılan bir hata eklenti aktifleştirdikten sonra dönüp geri bakmamaktır. Eklentiyi admin panelinizde aktifleştirdikten sonra yine admin panelinizden akismet yönetim kısmından eklentinin sitesine bağlanarak kullanım anahtarı almalısınız ki yorumlarınız akismet in proxy ip leri üzerinden filtrelensin ve sunucunuza ek yük yaratmasın.
Resimlerinizi Optimize Edin
Bu başlıkta sıkça yapılan hata resimleri sadece boyut olarak optimize etmek şeklinde anlaşılmasıdır. Ancak resim optimize işi 2 katmanlı bir şekilde sitenizin hız skorunu etkiler bunlardan en iyi bilineni büyük boyutlu resimler zor yüklenir ve sayfalarınız zor açılır bu nedenle gerektiği kadar boyutlarda ve düşük dpi ile hazırlanmış görseller ile sayfa çılış sürenizi kısaltmaktır. Bunun için EWWW Image Optimizer eklentisini rahatlıkla kullanabilirsiniz.
Gelelim az bilinen kısmına o da resim kırpma özelliğidir. Kullanmış olduğunuz wordpress site varsayılan olarak 3 farklı şekilde ve birde orjinal resim olarak 4 farklı resim kaydeder her resim için. Bu durum hem ftpnizi şişirir, hem veri tabanınızı şişirir ve hemde kırpma esnasında sunucunuzun gd library özelliği çalışır yani ram bir yandan giderken gd library ile cpu kullanımı anında tavan yapar ve siteniz kilitlenir. Bir de magazin temaları ek kırpma fonksiyonları kullanırlar yani benin şahsen gördüğüm toplamda 12 kırpmaya kadar giden siteler var sonra “veri tabanı ile bağlantı kesildi” diyor nediyor bu falan. Aman adam gibi nefes alan sitenizin gırtlağını sıkmaya benzer bu anlık yükler. Hostigciler ile wordpress müşteri arasında en çok kavga nedenini bu fonksiyonlar yaratırlar.
Çözümüne gelince malesef bunu için bir eklenti yok. Admin panelde varsayılan ayarlarda kırp kısmında kalan tık ı kaldırarak tüm boyutlara “0” değerini vererek wordpress in kendi yükünden kurtulabilirsiniz. Temanızın fonksiyonu için functions.php dosyasını inceleyebilir ya da bir uzamandan yardım alabilirsiniz.
Temiz Kodlama
WordPress sitenizde temiz ve düzenli bir kodlamanın kullanılması demek gereksiz yavaşlamaların önüne geçerken site güvenliğinizi maksimuma taşımak demektir. Temiz bir şekilde kodlanan temanın ile bilmediğiniz sorgulardan, hiç bilmediğiniz backlinklerden, güvenlik açıklarından ya da en çok rastlanan yanlış uygulama sonucu sonsuz döngüye giren sayfanın kitlediği site ve hosting sorunlarından kurtulabilirsiniz. Yine girişte de bahsettiğim gibi bu eklenti ile çözebileceğiniz bir durum değidir aksine uzman bir yardım şarttır.
Sade Tasarımları Deneyin
Genellikle sitem güzel olsun, bu da olsun, bu olmadan olmaz derken bir bakarsınız site karma karışık bir ha almış. Bu durum hem ziyaretçilerin yorulup sitenizden çıkmasına ve hemde bir sayfa ziyareti için sitenizde haddinden fazla sorgu çalıştımasına neden olur. Karmaşadan uzak sade sayfalar hem ziyaretçilerinizin sitenizde kalması için ve hemde sitenizin sağlığı için çok önemlidir hafife almayın.
Güncel Kalın
WordPress açık kaynak bir yazılımdır ve bunun dezavantajı açık olan bu kaynaklar hep iyiye kullanılmaz bazende kötüye kullanılır. Sizin haberiniz bile olmadan siteniz hacklenerek arkaplanda çalışacak şekilde bir çok kod eklenebilinir ve bu da anlam veremediğiniz performans düşüşlerine neden olur. Yakın zamanda güncellemelerini ihmal eden yosat seo kullanıcılarının toplu halde hacklenmesi olayı bunun en bariz örneğidir. Bu nedenle en az haftada bir kez admin panelinizden “Güncellemeler” kısmına girerek güncelleme var mı diyerek bir bakın ve gerek wordpress güncellemeleri ve gerekse de eklenti güncellemelerinizi ihmal etmeyin.
Makale sanırım biraz fazla uzadı. Sizi daha fazla sıkmamak için burada bırakıyorum. Önde gelen gereksinimlerden en azından bahsettiğim bu anlatımı uygulayarak ciddi seviyelerde performansa kavuşabilir hostingciniz ile aranızı düzeltebilirsiniz.