blog posts

Cron işi aracılığıyla WordPress’te önbelleğin otomatik olarak temizlenmesi

Tarayıcı geçmişinizi temizledikten sonra bir web sitesinin sayfa yükleme hızının yavaşladığını hiç fark ettiniz mi? Genellikle tarayıcınızın hafızasını her temizlediğinizde, ziyaret ettiğiniz web sitelerinin hızı ve yükleme süresi orijinal durumuna geri döner.

Önbellek aslında kullanıcının siteyi ilk ziyaretinden sonra toplanan ve kendisine bir web sitesi sayfası olarak sunulan web sitesi bilgilerinin bir kopyasıdır. Bu bilgilerin bir süre sonra silinip yeniden yüklenmesi gerekir. Cron Job bu bilgileri otomatik olarak silebilen bir yazılımdır. Bu yazımızda WordPress’te cron job ile önbelleğin otomatik olarak nasıl temizleneceğini açıklıyoruz .

Peki bunun nedeni nedir? Daha açık bir deyişle, bir web sitesini ilk kez ziyaret ettiğinizde, bilgileri doğrudan web sitesinin bağlı olduğu web sunucusundan alırsınız. Aynı zamanda hem web sitesi sunucusu hem de tarayıcınız, ileride kullanmak üzere web sitesi sayfa bilgilerinin bir kopyasını oluşturur ve bunu önbellekte saklar.

Bu nedenle gelecekte web sitesini ziyaret etmek için artık doğrudan bağlanmanıza ve web sunucusunun kendisinden bilgi almanıza gerek kalmayacak ve önbelleğe veya geçici belleğe daha hızlı bir bağlantıyla istediğiniz web sitesine erişebileceksiniz. Ancak web sitesi sahiplerinin WordPress’teki önbelleği periyodik olarak temizlemesi gerekir.

Genel olarak önbelleği temizlemenin ve web sitesinin hızını artırmanın birçok yolu vardır. LiteSpeed ​​Cache gibi eklentileri kullanarak web sitenizin sayfalarının yüklenme hızını artırabilirsiniz . Bu yazıda, WordPress’teki önbelleğin cron işi aracılığıyla otomatik olarak nasıl temizleneceğini tanıtıyoruz.

Bir web sitesi açmayı planladığınızda, web sitesinin sürekli yüksek ve optimum hızı nedeniyle kafanızı rahatlatmak için bir sanal sunucu satın almanızı öneririz.

Önbelleği neden temizliyoruz?

Önbellek, web sitesinin hızını artırmada ve yükleme süresini azaltmada etkiliyse neden silmeliyiz? Daha önce de belirtildiği gibi önbellek hem web sunucusunda hem de kullanıcının tarayıcısında oluşturulur. Her kullanıcı, önbelleği kendi ihtiyaçlarına veya ilgi alanlarına göre temizler (bu genellikle İnternet’teki arama izlerini temizlemek içindir).

Ancak web sunucusunda veya sitenin WordPress kısmında hazırlanan önbellek veya geçici bellek, web sitesinin zamanla yavaşlamasına neden olabilir. Bu nedenle önbelleğin periyodik olarak temizlenmesinin nedenlerinden biri, dosyaların bu bellekte aşırı depolanmasının önlenmesidir.

Ayrıca önbellek oluşturulduktan sonra kullanıcı, siteyi her ziyaret ettiğinde ana web sunucusuna bağlanmadığından, sitenin içerik, dış görünüm ve diğer alanlarda yaptığı değişikliklerden haberdar olmayacaktır. önceki önbellek sürümünü görür.

Bu nedenle kullanıcıların en son web sitesi değişikliklerini görebilmesi için web sitesinin WordPress önbelleğini temizlemek ve güncellemek gerekir.

Son olarak web sitesi sayfalarının yüklenme hızıyla ilgili olan ve birçok işletme sahibi için önemli olan bir diğer neden de SEO puanı ile web sitesinin yükselişi arasındaki ilişkidir , böylece internetteki kullanıcılar web sitelerinden daha hızlı bir şekilde daha fazla yükleme süresiyle ayrılırlar. 3,5 saniyeden fazla.

Google bu faktöre duyarlıdır ve yükleme süreleri daha kısa olan web sitelerini arama sayfalarında daha üst sıralarda gösterir.

Yukarıdaki nedenlerden ve daha iyi bir kullanıcı arayüzüne veya kullanıcı arayüzüne sahip olmak gibi diğer bazı küçük nedenlerden dolayı, WordPress’teki önbelleği temizlemek gerekir. Ancak trafiği yüksek olan web siteleri için bu bir sorun olabilir. Çünkü yoğun ziyaretlerde ve genellikle gün içinde önbelleği temizlemek pek de ilgi çekici bir seçenek gibi görünmüyor.

Bu nedenle günün veya gecenin herhangi bir saatinde bunu otomatik olarak yapacak araçlara ihtiyaç vardır.

Cron işi nedir?

Cron Job, tekrarlanan süreçleri otomatikleştirmeye yardımcı olan bir yazılımdır. Cron job yazılımı sayesinde web sitesi ile ilgili birçok görevi zaman, enerji, sermaye ve kaynak ayırmadan otomatik olarak ve belirli bir zamanlamayla yapabilirsiniz, bunlardan biri WordPress’teki önbelleğin otomatik olarak temizlenmesidir.

Bu yazılım cPanel veya Direct Admin gibi çeşitli kontrol panellerinde varsayılan olarak bulunur ve çok ziyaret edilen web sitelerinde otomatik önbellek silinmesi gibi durumlarda kullanılır. Ayrıca, bu yazılımın yalnızca bir yapıcı olduğunu ve bunları yürütmek için ona kodlar sağlamamız gerektiğini unutmayın.

Cron işi aracılığıyla WordPress’te önbelleğin temizlenmesini otomatikleştirme

Cron işi eklemenin iki yolu var; Biri ana sunucuda çalıştırmak, diğer yol ise WordPress’te bulunan cron job’u kullanmak ki bu iki yolu da öğreteceğiz.

Ancak başlangıçta, eğitimin geri kalanında olduğu gibi bazı önkoşullara sahip olmamız gerekiyor. Öncelikle WordPress’e WP Rocket eklentisini yükleyin ve bu eklentinin Önyükleme seçenekleri bölümünde Önbellek önyükleme seçeneğini etkinleştirin. Ayrıca otomatik önbellek silme seçeneğini de devre dışı bırakın.

Şimdi önkoşulları belirledikten sonra, WordPress önbelleğini belirtilen zamanda temizlemek ve yeniden yüklemek için bir cron işi oluşturmamız gerekiyor.

Adım 1: WordPress önbelleğini temizlemek için bir PHP dosyası oluşturun

Öncelikle HTML ve CSS/JS dosyalarının önbelleğini temizlemek için komutlar içeren bir PHP dosyasına ihtiyacımız var. Bu dosyayı herhangi bir editör yazılımı aracılığıyla oluşturabilirsiniz. Ayrıca CPanel veya başka bir kontrol paneline erişiminiz varsa bunu dosya yöneticisi aracılığıyla da yapabilirsiniz. Rocket-clear-cache-cron adı altındaki dosya. php ve içine aşağıdaki kodu girin:

<?php 
// Load WordPress.
require( 'wp-load.php' );
// Clear cache
// Also preload the cache if the Preload is enabled.
if ( function_exists( 'rocket_clean_domain' ) ) {
   rocket_clean_domain();
 }
// Clear minified CSS and JavaScript files.
if ( function_exists( 'rocket_clean_minify' ) ) {
   rocket_clean_minify();
} 

Şimdi bu dosyayı kaydedin ve sunucu türüne göre değişen “public_html” veya “www” isimli kök klasöre yükleyin. Eğer cpanel üzerinden çalışıyorsanız onu public_html’ye kaydedebilirsiniz.

  Tarayıcı Önbelleğinden Yararlanma Nedir? öğesine tıklayın . Tarayıcı önbelleği nasıl etkinleştirilir

Not: Bu dosyayı başka bir yere kaydetmeyi planlıyorsanız, yukarıdaki kodun üçüncü satırında “wp-load.php” bölümünde konumunu belirtmeyi unutmayın.

2. Adım: Bir cron işi oluşturun

Artık PHP dosyası hazır olduğuna göre onu çalıştırmak için bir cron işine ihtiyacımız var. Ayrıca daha önce de belirttiğimiz gibi cron işi oluşturmanın iki yolu var; Sunucudaki cron işi aracılığıyla veya WordPress cron işini kullanarak eylem. Bu yöntemler aşağıdaki gibidir:

İlk yöntem: cron işini sunucuya yüklemek

Bu yöntem, WordPress’teki önbellek silme işlemini cron işi ile otomatikleştirmede birinci önceliğimizdir çünkü doğrudan web sunucusunda ve ayarlanan zamanda yürütülür.

Bunu yapmak için WordPress web sitesi kurulumunuzun kök klasöründe bulunan wp-options.php dosyasını açın. Kodların son satırlarında ‘Hepsi bu, düzenlemeyi bırakın! ‘Mutlu yayınlar’ı bulun ve üst satıra aşağıdaki kodu girin:

define('DISABLE_WP_CRON', true);

Artık WordPress cron işi devre dışı bırakıldı ve sunucuda çalışacak bir cron işi oluşturmanın zamanı geldi. Web sitenizin kontrol paneline ve Cron İşleri bölümüne girin.

CPanel'de cron işi bölümüne girme

Bildirim e-postasını ayarla

Cron işleriyle ilgili bildirim almak istiyorsanız Cron Email alanına e-posta adresinizi girin ve E-postayı Güncelle seçeneğine tıklayın.

Cron iş bildirimi e-posta ayarı

Aksi takdirde, tüm cron işi bildirimlerini devre dışı bırakmak için e-posta adresini silmeniz yeterlidir. Ancak belirli bir cron işi bildirimini devre dışı bırakmak istiyorsanız bunu başka bir şekilde yapmanız gerekir.

Mevcut Cron İşleri tablosunda istediğiniz cron işini bulun ve Düzenle düğmesine tıklayın . Komut satırı bölümünde mevcut kodun sonuna aşağıdaki ifadeyi girin ve dosyayı kaydedin:

/dev/null 2>&1

Cron Job'un e-posta bildirimlerini silme

Örneğin aşağıdaki komut gibi bir komutunuz olacak:

/usr/local/cpanel/bin/is_script_stuck /dev/null 2>&1
Cron iş zamanlayıcısını ayarlama

Artık yürütme döngüsünü cron iş zamanlaması menüsünden ayarlayabilirsiniz. Bu amaçla mevcut listelerden uygun seçenekleri seçebilir veya seçilen değerleri boş alanlara girebilirsiniz.

  • Ortak Ayarlar bölümünde genel şablonu seçebilirsiniz; Örneğin cron işlerini haftalık, aylık veya günlük olarak yürütmek.

Cron iş zamanlaması ayarı

  • Dakika kısmına 0 ile 59 arasında dakikayı ifade eden bir sayı girmelisiniz.
  • Saat kısmına çalışma saatini ifade eden 0 ile 23 arasında bir sayı girebilirsiniz.
  • Gün kısmına 1 ile 31 arasında günü ifade eden bir sayı girmelisiniz.
  • Ay kısmına 1 ile 12 arasında ayı ifade eden bir sayı girebilirsiniz.
  • Hafta içi kısmına haftanın gününü ifade eden 0 ile 7 arasında bir sayı girmelisiniz.

Cron iş zamanlamasını manuel olarak ayarlama

Cron işi komutunu girin

Yazının başında cron işinin sadece bir iş yapan olduğunu ve belirtilen zamanda yapması için bir görev tanımlamamız gerektiğini belirtmiştik. Bu adımda oluşturduğumuz cron job’un belirttiğimiz saatte çalıştırılması için komut vermemiz gerekiyor. Komut alanına aşağıdaki komutu girin:

wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron &gt;/dev/null 2&gt;&amp;1

Cron işi komutunu girin

Yukarıdaki kodda web sitenizin ana adresini alaniniz.com ile değiştirdiğinizden emin olun. Sonunda yeni bir cron işi oluşturmak için Yeni Cron İşi Ekle seçeneğine tıklayın.

Ama bu son değil. Yaptığımız PHP dosyasını çalıştırmak, önbelleği temizlemek ve önceden yüklemek için başka bir cron işine ihtiyacımız var (ön yükleme: tarayıcıdan bir istek almadan önce önbellek sayfasını yüklemek)

İkincil bir cron işi oluşturma

Yukarıdaki adımları izleyerek ve aşağıdaki komutu girerek yeni bir cron işi oluşturun:

wget -q -O https://yourdomain.com/rocket-clear-cache-cron.php &gt;/dev/null 2&gt;&amp;1

Yukarıdaki kodda web sitenizin ana adresini alaniniz.com ile değiştirdiğinizden ve oluşturulan PHP dosyasının adının doğru olduğundan emin olun. Yürütme süresini ihtiyaçlarınıza göre ayarlayın.

İkinci yöntem: Önbelleği temizlemek için WordPress’te cron işinin ayarlanması

Sunucu komplikasyonlarından uzak durmayı tercih ediyorsanız, cron işleri oluşturmak için WP Crontrol eklentisini kullanabilirsiniz. Bu eklentiyi yükleyin ve WP Admin > Araçlar > Cron Etkinlikleri > Cron Etkinliği Ekle’ye gidin.

WordPress'e cron işi ekleme

PHP Cron olayını seçin. Kök dizinde function.php dosyasını bulun ve içine aşağıdaki kodu koyun:

// Clear cache
// Also preload the cache if the Preload is enabled.
if ( function_exists( 'rocket_clean_domain' ) ) {
   rocket_clean_domain();
 }

// Clear minified CSS and JavaScript files.
if ( function_exists( 'rocket_clean_minify' ) ) {
   rocket_clean_minify();
} 

Hook Name kısmına yazının başında oluşturduğumuz PHP dosyasının ismini giriniz.

Argüman bölümü JSON tipi dizileri koymak içindir. Boş bırak.

Bu cron işinin yürütme zamanlamasını Yineleme listesinden seçebilirsiniz.

Son olarak cronjob oluşturmak için Etkinlik Ekle’ye tıklayın.

Artık WordPress önbelleğini cron işi aracılığıyla otomatik olarak başarıyla temizlediniz.

son söz

Sosyal ağlardaki videoların ortalama süresinin 10 saniyenin altına düştüğü bir dönemde, herhangi bir web sitesinin önbellek bölümü, sitenin hızını artırmak ve sonuçta hedef kitleyi çekmek açısından en önemli parçalardan biridir. Büyük web sitelerinin yöneticileri, web sitelerinin her sayfasının en son sürümünü en kısa sürede ve en hızlı şekilde kullanıcıya sunabilmek için web sitelerinin bu bölümüne büyük önem vermektedir.

Açıklanan prosedürü izleyerek, WordPress’teki önbelleği temizleme işlemini cron işi aracılığıyla otomatikleştirebilirsiniz. Ayrıca bu yöntemleri öğrendikten sonra bazı noktaları aklınızda bulundurmalısınız. Öncelikle herhangi bir işlem yapmadan önce bu konuda web sitenizin sanal sunucu destek birimine danışmalısınız, ikinci nokta ise önbelleği sık sık ve kısa aralıklarla temizlemek sunucuya zarar verebilir. Bu nedenle cron işi zaman döngüsünü ayarlarken bu noktayı aklınızda bulundurun.