Bir arkadas bana wordpress konusunda sorunlari oldugundan ve nasil bunu asacagini sordu. Bende bir cok etken var, konuya ve eldeki malzemeye gore bu liste uzar, yapilacaklar artar yada azali dedim. Sonrasinda bana r10 sitesinde bir konu gosterdi ve nasil oluyor dedi. Tam emin degilim ancak satisi gerceklestiren arkadas file cache ornegini kullaniyor. Benim cok cok onceleri kendi temalarimda da kullandigim bir teknik.

DEMO: ornek uygulanmis bir websitesi

Buraya tiklayarak dosyalari indirebilirsiniz.

Basit bir yontem, genelde tema tasarimcilari file cache uygulamasini tema dosyalarina uygular, ancak bunun tek getirisi an sayfadaki sorgu icin olacaktir. O sorguya gelene kadar wordpress 100 e yakin sorgu yapabilir + eklenti ve temaya gore bu sorgu sayisi dahada cok artiyor.

File cache uygulamasini tema dosyasina uygulamak yerine wordpress’in index.php dosyasi uzerine uygulamaniz daha mantikli olacaktir. Cunku cache alinan sayfa bilgileri, sonraki cagrilisinda 0 sorgu ile ekrana basilacagi icin kusursuz bir 100% hiz elde etmis olacaksiniz.

Bu arkadas, yaninda bu sorundan muzdarip diger arkadaslara hitaben kucuk bir kod yazdim index.php icin ve giris dosyasinada ufak bir edit yaptim.

Normalde file cache uygulanan bir sayfada admin yada kullanici girisi olsa dahi ilk cache alindigi hali gorunecektir. Bunun olumsuz tarafi cok olacaktir. Yorum yapamam, yeni yorumlari gorememe, yada diger gorsel ve anlik iletisimde bulunan eklentilerin verilerinde aksakliklar gibi. Ben bu hazirladigim index.php dosyasi kullanici giris yapmis ise cache ozelligini uygulamiyor, eger misafir ise yani giris yapmamis ise cache aliyor yada zamani dolmamis ise onceki kaydi gosteriyor.

Konu goruntuleme eklentisi kullaniyorsaniz eger javascript ile bunu yapan bir uygulama secmenizi oneririm, aksi taktirde giris yapmayan kullanicilar konularinizin okunmasina etki etmeyecektir. Bir sonraki versiyonda bu konuda da bir calisma yapabilirim isterseniz :)

KURULU

Kaynak dosyalarini konu altindan indirebilirsiniz arkadaslar, tek yapmaniz gereken wordpress kurulu sitenizin ana dizinine atmaniz. Uzerine yazsin secenegi cikarsa evet diyin. (Bunun oncesinde dosyalarinizi yedek alabilirsiniz) Yedek almaniza gerek olmayabilir, cunku olumcul degisiklikler yapmadim dosyalarda :) sisteminize herhangi bir hata vermeyecektir.

Bu mod hazirlanirken buradaki degisken file cache alanindan kopya cektigimide hatirlatirim :)

Dosyalar wordpress son versiyon 3.9.1 icindir, ancak eski versiyonlarda da sorunsuz ve hatasiz calisacaktir, cunku dedigim gibi herhangi bir olumcul degisiklik yapmadim.

Buraya tiklayarak dosyalari indirebilirsiniz.

R10 sitesinde satis konusu bulunan arkadas umarim bu konudan etkilenmez, kendisinin isine engel olmak icin bu konuyu acmiyorum, yardim isteyen bir arkadasa, onun nezdinde de ihtiyaci olanlara yardimci olmaktir amacim. Zira kendi uygulamasi burdakinden gelismis de olabilir :) Satin alacak arkadaslar bu konu sadece yardimci olmak amacindadir, ilgili arkadas ilede ticaret yapmaniz uygun olabilir sizin acinizdan.

NOT: Detayli bir anlatim yapma geregi dumadim, duzenlemenin ilk versiyonudur, zamanim olursa gelistirebilirim, farkli ozellikler ekleyebilirim. Bu kullanici geri bildirimine bagli olarak daha once yada daha sonra sureleri ile sinirli olabilir :)

26 YORUMLAR

    • WordPress den sogumak icin cok sebep var ama sevmek icinde daha cok sebep var, biz bunlari guzellestirelim biraz :) bunun 2. versiyonunu cikaracagim, onerileri ve eksikleri bu konu altindan yine yorum ile bana iletmenizi bekliyorum :D ne olsun, nasil olsun :)

      • Tekrar Merhaba sitemde bunu denedim baya baya fark etti ama daha sonra sanki eskiye dönmüş gibi geliyor. Sayfa hızını ölçen sitelerde kontrol ediyorum her defasında farklı bir sonuç veriyor. Bunun sebebi ne olabilir?

        Ayrıca ana dizine atmış olduğumuz cache dosyasının içi doluyor belirli bir süre sonra kendi kendi mi temizleyecek yoksa biz manüel olarak mı temizleyeceğiz.

        • Sitenizi kontrol ettirirken 2-3 kere tekrarlayin. Cunku ilkinde cache aldigi icin sure normal gelebilir.

          Ayrica sonuclardan kasit nedir anlamadim, detay verirseniz sonraki versiyonda bu sorunu duzeltiriz.

          kendisi otomatik 2700 saniye sonra temizleniyor, siz index.php dosyasini acarak oradaki 2700 saniye sayisini daha azaltabilirsiniz, ornegin 600 saniye (10 dakika) daha SIK icerik girilen siteler bu sureyi 300 yaparlarsa bence daha mantikli olacaktir, boylece 5 dakikada bir cacheler kendisini yenileyecektir..

          Ayrica sonraki versiyonda admin panel ve bir cok server tabanli cache uygulamasini destekleyen bir cache eklentisine gecilecek :)

  1. merhabalar.
    çalışmanız için teşekkürler.deneme şansım oldu.gözlemlerimi yazmak ve birkaç soru sormak istedim.
    Öncelikle “wp fastest cache” eklentisini kullanıyordum fakat bir sitem cpu aşımına uğrayınca sizin yönteminizi de denedim.wp fastest cache ile 6,5 sn açılan site sizin yöntemle 16 sn buldu.Yani mevcut site hızı olumsuz etkilendi.Asıl sorunum hızdan ziyade “cpu” olduğu için yönteminizi denmeye devam edeceğim. uzun vadeli kullanımda deneyimimi yine buradan yazarım.

    sorum şu:hız testi yapılan sitelerde sorgu sayısında bir azalma olmadığı gözleniyor.siz makalenizin başında “sorgu sayısına” büyük katkısı olacağından bahsetmişsiniz.acaba test siteleri mi yanlış sonuç veriyor?

    • 6,5 yada 16 saniye inanilmaz yuksek rakamlar. Normal degil bu surelerde acilmasi. Burda bir problem hatda cok buyuk bir problem soz konusu demektir. Sisteminizde ya inanilmaz sayida sorgu mevcut, yada hatali sorgular bulunuyor. Bunlarin belirlenip duzeltilmesi site hizinizi ve performansini artirabilir.

      0 sorgu konusuna gelirsek. Burda kullandiginiz yontem gercekten sisteminizde 0 sorgu yuku olusturur (mysql). Cunku cache alinmis ise daha onceden, wordpress in hicbir fonksiyonunu calistirmaz, yada sorgusunu. Direk olarak cacheyi sayfaya include eder.

      16 saniye ile acilan sayfaniz, 2. denemede 1 saniyeden asagida acilmasi gerekiyor ki eger ayni sekilde uzun suruyorsa cache yi uygulamada sorun yasiyorsunuz demektir.

      ayrica cachedosyalari klasorune chmod 777 vermeyi deneyebilirsiniz.

      Sonuclari sabirsizlikle bekliyorum, detaylara ihtiyacim soz konusu. cunku 16 saniyede acilan bir sitenin probleminin neden kaynaklandigini bulup cozume ulastirmak gercekten cok heycanli olacak :D

  2. Bu nedir ya adamın her yerde parmağı var :D önce resim scripti şimdide wp :D wpye yeni geçtim ama ilerde faydası olacağını düşünüyorum ekliyecem siteme en kısa zamanda :)

    Eğer eklenecek özellikler listesi olursa:

    Cache klasörünün yolunu değiştirme
    Cache klasörünün manuel ve oto temizleme ayarları
    Cache oluşturma seçeneği
    Cache süresi ayarlama
    CDN desteği (cloudflare olsa süper olur api ile falan)
    Belli sayfaları öncelleklememe gb bir seçenek (Linkleri girerek ekleme yada siz ayarlayın bişiler :D)
    Konu içi yada wp genel sayfalarında tepede seçeneklerde cache temizle gibi seçenek olabilir buda içeriği güncellenen konulardaki değişikliği anında yayınlanmasını sağlayabilir.

    Ek olarak
    Madem amaç performans html css gibi dosyaları sıkıştırma ve önbellekleme
    Resimler içinde Smush.it desteği

    Gibi panel seçenekleri olabilir.

    Baya bişi yazdım ben korktum ama bunlar olsa var ya site coşar uçar alır başını gider :D

    • PErformans uzerine biseyler yapilacaksa genel bir calisma olmali bence. Bu yuzden siz listenizi yazin bunlari bir arada toplama isi biz yazilimcilara kalsin. Ama performansi ve acilis hizini etkileyen cok etken var. Ornegin sayfa boyutu. Bu ve bunun gibi bir cok etkeni kafamda dusunuyorum yakinda bu konuda bir calismaya baslayabilirim ama zaman ile ilgili bir soz vermiyorum. O zamana kadar cache eklentileri ile idare edebiliriz :)

      Guzel yorumun icin ayrica tesekkur ediyorum.

  3. Hocam allahını seversen bana bi yardım et kafayı sıyırıcam artık. Biraz öncekini yanlıs anlamısım. Ana sayfadaki index dosyası ile wp-login değiştirdim. Ama acılıs dahada uzadı gitti facebook.com/mgenisel bi faceden ulasırsan sevinirim.

    • Mustafa Genişel 60 dakikadir. ilk cache alirken yavastir, ancak sonrasinda hizlidir. Ayrica uye girisi yapmissan cache almaz, cikis yaptiktan sonra hiz kontrolu yapabilirsin. Hala ayni ise, normal wordpress index.php ve wp-login.php dosyalarini yukle, bir eklenti kullanmayi dene :)

  4. Merhaba mobil telefonları tanıması için useragent ekleme seçeneği olsa ve mobil tema seçilebilse iyi olur fastestcache de var ama ücretli eğer böyle bişey yapabilirsen alır başını gider, iyi şeylerde kötü haber gibi çabuk yayılır sen bile şaşırırsın kardeşim başarılar bekliyoruz.

    Ayrıca http://canliradyodinle.life buraya kuracaktım eklentinin linki kırık.

  5. Merhaba mobil telefonları tanıması için useragent ekleme seçeneği olsa ve mobil tema seçilebilse iyi olur fastestcache de var ama ücretli eğer böyle bişey yapabilirsen alır başını gider, iyi şeylerde kötü haber gibi çabuk yayılır sen bile şaşırırsın kardeşim başarılar bekliyoruz.

    Ayrıca canliradyodinle.life buraya kuracaktım eklentinin linki kırık..

Bir Cevap Yazın