WordPress Heartbeat API'sini Yönetme

Yayınlanan: 2023-01-31

WordPress Heartbeat API, neredeyse on yıldır ortalıkta. WordPress panosu ile ana sunucu arasında kesintisiz gerçek zamanlı iletişim sağladı. WordPress çekirdeğinde yerleşik olan Heartbeat API, web sitesi yönetim deneyimini önemli ölçüde geliştirebilen güçlü işlevler sunar.

Ancak bu gücün bir bedeli var. İletişimin sorunsuz çalışmasını sağlamak için gereken sunucu kaynaklarının sayısıdır. Yoğun kaynak kullanan web sitelerini çalıştırmak veya barındırma sağlayıcınızın bellek ve CPU süresine katı sınırlar koymasını sağlamak, Heartbeat API'sinin rol oynayabileceği önemli bir performans düşüşüne yol açabilir.

Bu kılavuzda, WordPress Heartbeat API'sinin potansiyelini ve WordPress ekosistemindeki rolünü ortaya çıkaracağız. Heartbeat API'sinin nasıl çalıştığını öğreneceksiniz. Ayrıca, neden WordPress sitenizdeki etkinliğini sınırlamayı düşünmeniz gerekebileceğini de öğreneceksiniz. Bu, barındırma planınızı yükseltmek zorunda kalmadan daha iyi performans elde etmenize yardımcı olacaktır.

WordPress Heartbeat API'si nedir?

WordPress Heartbeat API, WordPress çekirdeğinde yerleşik olarak bulunan ve sunucu ile WordPress panosu arasında gerçek zamanlı iletişim sağlayan bir arabirimdir. Heartbeat API, ilk olarak 2013 yılında WordPress 3.6'nın piyasaya sürülmesiyle tanıtıldı. İçerik yönetiminde ve web sitesi yönetiminin diğer önemli alanlarında önemli iyileştirmeler sağladı.

WordPress kalp atışı apı

Heartbeat API Neden Bu Kadar Önemli?

WordPress panosu, büyük ölçüde bir istemci tarafı uygulamasıdır. Bu, eylemin çoğunluğunun kullanıcının tarayıcısında gerçekleştiği anlamına gelir. Bir ön uç uygulaması olarak, WordPress yönetici alanının, web sitesi içeriğinin ve diğer önemli bilgilerin depolandığı WordPress veritabanına doğrudan erişimi yoktur.

Düzgün çalışması için, WordPress kontrol panelinin veri göndermek ve almak için sunucuyla iletişim kurabilmesi gerekir. WordPress Heartbeat API gibi Uygulama Programlama Arayüzleri (API'ler), herhangi bir yeni bilgiyi görüntülemek için tüm sayfayı yeniden yüklemek zorunda kalmadan güncellemeleri gerçek zamanlı olarak almayı mümkün kılar.

Sorunsuz bir kullanıcı deneyimi sağlamak için, WordPress kontrol paneli, web sitesinde oturum açmış ve çalışan WordPress kullanıcıları için herhangi bir güncelleme gecikmesini ortadan kaldırmak için perde arkasındaki sunucuya yeterince sık istek gönderir. Heartbeat API, her 15 ila 120 saniyede bir sunucuya istekler ve API çağrıları gönderir.

Üç Temel Özellik WordPress Heartbeat API Yetkileri

WordPress Heartbeat API, web sitesi yönetimini daha kolay ve rahat hale getiren üç temel özelliği destekler. Bu özellikler, otomatik kaydetme, içerik kilitleme ve gerçek zamanlı pano bildirimleridir. Bunlar, birden çok kullanıcının aynı anda oturum açmış ve aktif olduğu, topluluk veya ortaklaşa düzenlenmiş web siteleri için özellikle önemlidir.

1. Otomatik Kaydetmeler ve Düzeltmeler

Otomatik kaydetmeler ve revizyonlar, WordPress Heartbeat API tarafından sağlanan temel özelliklerden biridir. Bir kullanıcı Blok düzenleyicide çalıştığında, WordPress her 60 saniyede bir içerik otomatik kaydetme gerçekleştirir. Bu, kaydedilmemiş hiçbir değişikliğin kalmamasını sağlar. WordPress Heartbeat API, sunucuya dakikada bir istek göndererek, bir gönderinin veya sayfanın çalışan bir kopyasını, yeni bir otomatik kaydetme çalıştırılana kadar orada saklanacak olan veritabanına kaydeder.

Heartbeat API tarafından desteklenen WordPress otomatik kaydetmeleri son derece kullanışlıdır. Bir tarayıcı çökmesi veya bağlantı sorunları durumunda veri kaybını önleyebilirler. Otomatik kayıtlar, kullanıcı tarafından oluşturulan revizyonların yerine geçmez ve veritabanında birikmez.

2. İçerik Kilitleme

İçerik kilitleme, WordPress Heartbeat API'sinin WordPress web sitesi sahipleri için daha iyi bir düzenleme deneyimi sunmasını sağlayan başka bir özelliktir. Şu anda bir gönderi veya sayfa düzenleniyorsa, WordPress diğer kullanıcıların üzerinde değişiklik yapmasını önlemek için onu kilitler. WordPress Heartbeat API, sunucuya her 15 saniyede bir istek gönderir. Başka bir kullanıcı kilitli içeriği düzenlemek için açarsa bir bildirim gösterecektir.

3. Gerçek Zamanlı Pano Bildirimleri

WordPress Heartbeat API, eklentiler tarafından gönderilenler de dahil olmak üzere gerçek zamanlı pano bildirimlerini destekler. Heartbeat API'nin sağladığı istemci-sunucu iletişiminin güvenilirliği, binlerce WordPress eklentisi geliştiricisinin onu uygulamalarına entegre etmesine yol açtı.

Web sitesinin yönetici alanındaki WordPress Heartbeat API çağrıları için varsayılan aralık 15 saniyedir. API işlevselliğini kullanmak isteyen eklenti geliştiricileri, istemci uygulaması ile sunucu arasında veri alışverişi için özel aralıklar yapılandırabilir.

WordPress Heartbeat API'si Nasıl Çalışır?

WordPress Heartbeat API, yönetici panosundan sunucuyla iletişim kurmak için AJAX — Eşzamansız JavaScript ve XML — kullanır. Uygulama programlama arabirimi, verileri toplar ve jQuery olayı olarak bilinen yolla gönderir. Bir admin-ajax işleyicisi verileri alır ve sunucu tarafında işler, ardından JSON biçiminde bir yanıt hazırlar ve döndürür.

WordPress kontrol paneli yüklendiğinde, istemci tarafı kodu, göreve bağlı olarak her 15 ila 120 saniyede bir çalışacak şekilde, tik olarak da bilinen bir aralık ayarlar. Heartbeat API kodu, istemci tarafında veri toplamak ve güncellemeleri almak için sunucuya iletmekle görevlidir.

Heartbeat API çağrılarının toplam sayısı, aynı anda web sitesinde çalışan aktif kullanıcı sayısına bağlıdır. Bu, yüklenen WordPress pano örneklerinin sayısıyla aynıdır. WordPress yönetici alanının birden çok tarayıcı penceresinde açılması, sanki birden çok kullanıcı web sitesinin arka ucuna giriş yapmış ve aynı anda görev yapıyormuş gibi aynı sayıda Heartbeat API çağrısı oluşturur.

Neden WordPress Heartbeat API Çağrılarını Sınırlandırın?

WordPress Heartbeat API çağrılarının sınırlandırılması, özellikle CPU zamanı söz konusu olduğunda, tahsis edilmiş çok sınırlı bir sunucu kaynakları havuzuna sahip WordPress sitelerinin hızlandırılmasına yardımcı olabilir. Heartbeat API, zayıf web sitesi performansının ardındaki temel sorun olmayabilir, ancak kesinlikle dikkate alınması gereken bir şeydir.

Heartbeat API sunucuyla her iletişim kurduğunda, wp-admin'deki admin-ajax.php dosyasına bir POST HTTP isteği yapılır. Heartbeat API çağrıları her 15-120 saniyede bir sunucuya gönderildiğinden ve birden fazla aktif yönetici kullanıcı varsa sayı arttığından, API sunucuya aşırı yüklenebilir ve bu da yüksek CPU ve sistem belleği kullanımına neden olabilir.

Hatta bazı WordPress web sitesi sahipleri, Heartbeat API etkinliğini devam eden bir DDOS saldırısı sanabilir. WordPress Heartbeat API istekleri önbelleğe alınamaz, böylece her çağrı belirli bir miktarda sunucu kaynağı kullanır. Sunucu, API çağrılarını işlemek için aktif olarak kaynaklarını kullanıyorsa, müşterileriniz web sitenize göz atarken içerik oluşturmada gecikmeler yaşayabilir.

Heartbeat API'yi Devre Dışı Bırakmadan Önce Dikkate Alınması Gereken Üç Şey

Heartbeat API'yi tamamen devre dışı bırakmak nadiren iyi bir fikirdir. WordPress kontrol paneli, çoğunlukla sunucuyla gerçek zamanlı olarak iletişim kurma yeteneğini kaybedecek. Heartbeat API devre dışı bırakıldığında artık bildirim alamazsınız. Ayrıca içerik kilitleme, otomatik kaydetme ve düzeltmelerden yararlanamayacaksınız.

Heartbeat API'yi devre dışı bırakmadan veya etkinliğini sınırlamadan önce dikkate alınması gereken üç önemli nokta şunlardır:

  • Barındırma Web sitenize ne kadar CPU zamanı ve sistem belleği ayrıldığını gözden geçirin. Web sitenizin oluşturabileceği işlem sayısında bir sınır var mı?
  • Web sitesi yönetimi için harcanan zaman. Yönetim ve içerik yayınlamak için ne kadar zaman harcıyorsunuz? Aynı anda WordPress kontrol panelinde ve arka uç arayüzlerinde kaç aktif kullanıcı çalışır?
  • Günlük trafik alındı. WordPress web siteniz günlük kaç ziyaretçi alıyor? Sunucu üzerindeki yükü hafifletmek için herhangi bir önbelleğe alma çözümünüz var mı?

Web sitesi türüne ve mevcut barındırma kurulumunuza bağlı olarak, WordPress Heartbeat API çağrılarının sayısını sınırlandırmanın genel performans üzerinde farklı bir etkisi olacaktır. Düzenli bakım yapan ve içerik gönderen birden çok kullanıcıyla yoğun kaynak tüketen bir WordPress sitesi çalıştırıyorsanız, Heartbeat API çağrılarının sayısını azaltmak oldukça faydalı olabilir. Ayrıca, artan miktarda trafiği karşılamak için barındırma maliyetlerinizi artırmaktan kaçınmanıza da yardımcı olabilir.

Bir Eklenti ile WordPress Heartbeat API'sini Yönetme

WordPress Heartbeat API isteklerini yönetmenin en kolay yolu, bunun için tasarlanmış bir WordPress eklentisi kullanmaktır. Yararlanabileceğiniz birkaç farklı çözüm var. WP Rocket tarafından geliştirilen Heartbeat Control, en iyi ve en popüler olanlardan biridir.

Kalp Atışı Kontrolü

Heartbeat Control eklentisini WordPress kontrol panelinden kurun ve etkinleştirin. Eklentinin yapılandırmasını açmak için Ayarlar > Kalp Atışı Kontrolü'ne gidin. Kalp Atışı Kontrolü, aşağıdaki seçenekleri kullanarak Heartbeat API'sinin web sitesinin ön ucundaki, WordPress panosundaki ve Blok düzenleyicideki etkinliğini yönetmenize olanak tanır:

  • Kalp Atışına İzin Ver. Bu seçenek etkinleştirilirse eklenti, Heartbeat API çağrılarını hiçbir şekilde sınırlamaz.
  • Heartbeat'i devre dışı bırakın. Heartbeat'i devre dışı bırakmak, WordPress web sitenizin seçilen alanlarındaki tüm API çağrılarını engeller.
  • Heartbeat'i değiştirin. WordPress Heartbeat API çağrıları için 15 ila 300 saniye arasında değişen özel bir aralık belirleyebilirsiniz.
Kalp atışı kontrolü

Çoğu zaman, WordPress Heartbeat API çağrıları için daha büyük bir aralık yapılandırmak en iyi eylem şeklidir. Örneğin, API çağrılarının sayısını web sitenizin her üç alanında da beş dakikada bir olacak şekilde sınırlamak, genel performans üzerinde Heartbeat API'yi tamamen devre dışı bırakmakla aynı etkiye sahip olacaktır.

Blok düzenleyicide Heartbeat API etkinliğini sınırlamanın, düzenlemekte olduğunuz içerikte herhangi bir değişikliği kaybetmemek için düzeltmeleri daha sık kaydetmenizi gerektirebileceğini lütfen unutmayın. Otomatik kaydetmeye güvenmiyorsanız ve içerik kilitlemeye ihtiyacınız yoksa Gutenberg'de WordPress Heartbeat API'yi tamamen devre dışı bırakabilirsiniz.

Eklenti Olmadan WordPress Heartbeat API Çağrılarını Kısıtlama

WordPress kancalarını kullanarak WordPress Heartbeat API çağrılarını bir eklenti olmadan kısıtlayabilirsiniz. Web sitenizin aktif tema functions.php dosyasına birkaç satır kod eklemek, Heartbeat API'sini devre dışı bırakmanıza veya API çağrıları için özel bir aralık belirlemenize yardımcı olabilir.

WordPress, functions.php'yi yönetici panosundan değiştirmenize izin veren yerleşik Tema Düzenleyici ile birlikte gelir. Bununla birlikte, iThemes Security Pro gibi çoğu WordPress güvenlik eklentisi, tehlikeye girmesi durumunda web sitenizi korumak için bu işlevi devre dışı bırakır.

Hosting kontrol paneliniz tarafından sağlanan dosya yöneticisi arayüzünü kullanarak veya web sitenizin dosyalarına FTP veya SSH ile bağlanarak dosyayı düzenleyebilirsiniz. Kadence WP WordPress blok temanızsa, functions.php dosyasını WordPress içerik dizininizdeki Kadence klasöründe bulabilirsiniz.

Lütfen functions.php dosyasına eklenen herhangi bir kodun büyük olasılıkla temanın bir sonraki güncellemesinde üzerine yazılacağını unutmayın. Bu nedenle, WordPress Heartbeat API'sini bir eklenti kullanarak yönetmek daha iyi olabilir. Bir alt tema kullanıyorsanız, ana tema güncellendiğinde üzerine yazma riski olmadan onun functions.php dosyasını değiştirebilirsiniz.

Önce WordPress Sitenizin Bir Yedeğini Kaydetmeyi Unutmayın

Yedeklemeleri kaydetmek, web sitesi yönetiminin önemli bir parçasıdır. Bu, herhangi bir hatadan kurtulmanıza ve acil bir durumda web sitenizi hızlı bir şekilde geri yüklemenize olanak tanır. Herhangi bir WordPress çekirdek veya tema dosyasını düzenlemeden önce web sitenizi yedeklediğinizden emin olun.

Bir WordPress yedekleme eklentisi kullanmak, güçlü bir yedekleme stratejisi oluşturmanıza yardımcı olur. İhtiyacınız olduğunda web sitenizin çalışan bir kopyasına sahip olacaksınız. Web sitenizin yedeklerini uzak bir yerde saklayın ve BackupBuddy ile özel yedekleme programlarından ve tek tıklamayla geri yüklemelerden yararlanın.

Heartbeat API'sini devre dışı bırakın

Aşağıdaki eylemi eklemek, tüm API çağrılarını etkin bir şekilde devre dışı bırakarak Heartbeat API'sini durdurmanıza olanak tanır. Bunu başarmak için, aşağıdaki kod parçacığını functions.php dosyasının altına ekleyin.

function wb_stop_heartbeat() {
 wp_deregister_script('heartbeat');
}
add_action('init', 'wb_stop_heartbeat', 1);

WordPress Heartbeat API'sinde belirli bir özelliği aynı şekilde devre dışı bırakabilirsiniz.

function disable_autosave() {
 wp_deregister_script('autosave');
}
add_action('admin_init', 'disable_autosave');

Heartbeat API Çağrıları için Özel Aralık Yapılandırma

WordPress Heartbeat API çağrılarını sınırlandırmak için, API istekleri için özel bir aralık yapılandıracak bir filtre belirleyebilirsiniz. Aşağıdaki kod parçacığı, Heartbeat API çağrılarını dakikada bir istekle sınırlar.

function wb_set_heartbeat_time_interval($settings) {
 $settings['interval']=60;
 return $settings;
}
add_filter('heartbeat_settings', 'wb_set_heartbeat_time_interval');

WordPress Otomatik Kaydetme İçin Özel Bir Aralık Yapılandırma

WordPress, AUTOSAVE_INTERVAL sabitini yeniden tanımlayarak otomatik kaydetmeler için özel bir aralık yapılandırmanıza olanak tanır. Diğer sabitlere benzer şekilde, ana WordPress yapılandırma dosyanıza aşağıdaki satırı ekleyerek ona yeni bir değer atayabilirsiniz:

define('AUTOSAVE_INTERVAL', 300);

WordPress otomatik kaydetmelerini tamamen devre dışı bırakmak için aralığı bir saat olan 3600 gibi daha büyük bir değer atayabilirsiniz. wp-config.php'de yapılandırılan WordPress sabitleri, herhangi bir WordPress güncellemesi sırasında değiştirilmez. Bunları daha sonra yeniden tanımlamanız gerekmeyecek.

Sarma

WordPress'in Heartbeat API'si, WordPress çekirdeğinde yerleşik olarak bulunan ve AJAX çağrılarını kullanarak gerçek zamanlı istemci-sunucu iletişimini sağlayan temel özelliklerden biridir. Uygulama programlama arabirimi, WordPress'in daha iyi bir yönetim deneyimi sağlamak için sunucu ile WordPress panosu arasında veri alışverişi yapmasına olanak tanır.

Heartbeat API, istekleri sunucuya dakikada birkaç kez gönderir. Bu, sunucu üzerindeki yükün artmasına ve performansın düşmesine neden olabilir. Bir eklenti kullanarak, WordPress kancaları ekleyerek veya WordPress sabitlerini tanımlayarak Heartbeat API çağrılarını sınırlayabilirsiniz.

Sağlam web sitesi performansı hayati önem taşır, ancak güvenlik de öyle. iThemes, WordPress web sitenizin tüm alanlarının korunmasına yardımcı olur, böylece işletmeniz ne olursa olsun çevrimiçi kalır. iThemes Security Pro ile çok faktörlü kimlik doğrulama, dosya değişikliği izleme ve güvenlik açığı taraması dahil olmak üzere çevrimiçi varlığınızı nasıl güvence altına alabileceğinizi keşfedin.