Cum să gestionați API-ul WordPress Heartbeat

Publicat: 2023-01-31

API-ul WordPress Heartbeat există de aproape un deceniu. A oferit o comunicare perfectă în timp real între tabloul de bord WordPress și serverul gazdă. Încorporat în nucleul WordPress, API-ul Heartbeat oferă o funcționalitate puternică care poate îmbunătăți semnificativ experiența de administrare a site-ului web.

Această putere, totuși, are un preț. Este numărul de resurse de server necesare pentru ca comunicarea să funcționeze fără probleme. Rularea de site-uri web care necesită mult resurse sau ca furnizorul dvs. de găzduire să impună limite stricte asupra memoriei și timpului CPU poate duce la o degradare vizibilă a performanței, unde API-ul Heartbeat poate juca un rol.

În acest ghid, vom descoperi potențialul API-ului WordPress Heartbeat și rolul său în ecosistemul WordPress. Veți afla cum funcționează API-ul Heartbeat. Veți afla, de asemenea, de ce ar putea fi necesar să luați în considerare limitarea activității sale pe site-ul dvs. WordPress. Acest lucru vă va ajuta să obțineți performanțe mai bune fără a fi nevoie să vă actualizați planul de găzduire.

Ce este API-ul WordPress Heartbeat?

API-ul WordPress Heartbeat este o interfață încorporată în nucleul WordPress care permite comunicarea în timp real între server și tabloul de bord WordPress. API-ul Heartbeat a fost introdus pentru prima dată în 2013, odată cu lansarea WordPress 3.6. A oferit îmbunătățiri majore managementului conținutului și altor domenii cheie ale administrării site-ului web.

WordPress heartbeat API

De ce este API-ul Heartbeat atât de important?

Tabloul de bord WordPress este în mare parte o aplicație pe partea clientului. Aceasta înseamnă că cea mai mare parte a acțiunii are loc în browserul utilizatorului. Ca aplicație front-end, zona de administrare WordPress nu are acces direct la baza de date WordPress, unde sunt stocate conținutul site-ului web și alte informații cheie.

Pentru a funcționa corect, tabloul de bord WordPress trebuie să poată comunica cu serverul pentru a trimite și a primi date. Interfețele de programare a aplicațiilor (API) precum API-ul WordPress Heartbeat fac posibilă primirea de actualizări în timp real, fără a fi nevoie să reîncărcați întreaga pagină pentru a afișa informații noi.

Pentru a oferi o experiență perfectă pentru utilizator, tabloul de bord WordPress trimite solicitări către server în culise suficient de frecvent pentru a elimina orice întârziere de actualizare pentru utilizatorii WordPress care sunt conectați și lucrează pe site. API-ul Heartbeat va trimite cereri către server și apeluri API la fiecare 15 până la 120 de secunde.

Trei caracteristici cheie Puterile API-ului WordPress Heartbeat

API-ul WordPress Heartbeat oferă trei funcții cheie care fac administrarea site-ului web mai ușoară și mai convenabilă. Aceste funcții sunt salvarea automată, blocarea conținutului și notificări în timp real pe tabloul de bord. Ele sunt deosebit de importante pentru site-urile comunitare sau editate în colaborare care au mai mulți utilizatori conectați și activi în același timp.

1. Salvare automată și revizuiri

Salvarea automată și revizuirile sunt una dintre caracteristicile cheie oferite de API-ul WordPress Heartbeat. Ori de câte ori un utilizator lucrează în editorul de blocuri, WordPress efectuează salvări automate de conținut la fiecare 60 de secunde. Acest lucru asigură că nicio modificare nu este lăsată nesalvată. Trimițând cereri către server în fiecare minut, API-ul WordPress Heartbeat salvează o copie de lucru a unei postări sau a unei pagini în baza sa de date, care va fi stocată acolo până când rulează o nouă salvare automată.

Salvarea automată WordPress alimentată de Heartbeat API sunt extrem de utile. Ele pot preveni pierderea datelor în cazul unei blocări a browserului sau a problemelor de conexiune. Salvarea automată nu înlocuiește nicio revizuire creată de utilizator și nu se acumulează în baza de date.

2. Blocarea conținutului

Blocarea conținutului este o altă caracteristică pe care WordPress Heartbeat API o permite să ofere o experiență de editare mai bună pentru proprietarii de site-uri WordPress. Dacă o postare sau o pagină este în curs de editare, WordPress o va bloca pentru a împiedica alți utilizatori să-i facă modificări. WordPress Heartbeat API va trimite cereri către server la fiecare 15 secunde. Va afișa o notificare dacă un alt utilizator deschide conținutul blocat pentru editare.

3. Notificări din tabloul de bord în timp real

API-ul WordPress Heartbeat oferă notificări în tabloul de bord în timp real, inclusiv cele trimise de pluginuri. Fiabilitatea comunicării client-server oferită de API-ul Heartbeat a determinat mii de dezvoltatori de pluginuri WordPress să o integreze în aplicațiile lor.

Intervalul implicit pentru apelurile API WordPress Heartbeat din zona de administrare a site-ului web este de 15 secunde. Dezvoltatorii de pluginuri care doresc să utilizeze funcționalitatea API pot configura intervale personalizate pentru schimbul de date între aplicația client și server.

Cum funcționează WordPress Heartbeat API?

API-ul WordPress Heartbeat folosește AJAX — JavaScript asincron și XML — pentru a comunica cu serverul din tabloul de bord administrativ. Interfața de programare a aplicației adună date și le trimite prin ceea ce este cunoscut sub numele de eveniment jQuery. Un handler admin-ajax primește datele și le procesează pe partea serverului, pregătind și returnând ulterior un răspuns în format JSON.

Când se încarcă tabloul de bord WordPress, codul de pe partea clientului stabilește un interval, cunoscut și sub denumirea de bifă, pentru a rula la fiecare 15 până la 120 de secunde, în funcție de sarcină. Codul API Heartbeat are sarcina de a colecta date din partea clientului și de a le comunica serverului pentru a primi actualizări.

Numărul total de apeluri API Heartbeat depinde de numărul de utilizatori activi care lucrează pe site în același timp. Acesta este același cu numărul de instanțe de tablou de bord WordPress încărcate. Deschiderea zonei de administrare WordPress în mai multe ferestre ale browserului creează același număr de apeluri API Heartbeat, ca și cum mai mulți utilizatori ar fi conectați la backend-ul site-ului web și îndeplinesc sarcini în același timp.

De ce să limitați apelurile API Heartbeat WordPress?

Limitarea apelurilor WordPress Heartbeat API poate ajuta la accelerarea site-urilor WordPress care au un număr foarte limitat de resurse de server alocate, mai ales când vine vorba de timpul CPU. Deși nu este probabil ca API-ul Heartbeat să fie problema cheie din spatele performanței slabe a site-ului, este cu siguranță ceva de luat în considerare.

De fiecare dată când API-ul Heartbeat comunică cu serverul, se face o solicitare HTTP POST către fișierul admin-ajax.php din wp-admin. Deoarece apelurile API Heartbeat sunt trimise către server la fiecare 15-120 de secunde, iar numărul crește dacă există mai mult de un utilizator administrator activ, API-ul poate supraîncărca serverul, ceea ce duce la o utilizare mare a CPU și a memoriei sistemului.

Unii proprietari de site-uri WordPress pot chiar confunda activitatea API Heartbeat cu un atac DDOS în curs. Solicitările WordPress Heartbeat API nu pot fi stocate în cache, astfel încât fiecare apel va folosi o anumită cantitate de resurse server. Dacă serverul își folosește în mod activ resursele pentru a gestiona apelurile API, clienții tăi pot întâmpina întârzieri în redarea conținutului atunci când navighează pe site-ul tău.

Trei lucruri de luat în considerare înainte de a dezactiva API-ul Heartbeat

Dezactivarea completă a API-ului Heartbeat este rareori o idee bună. Tabloul de bord WordPress își va pierde capacitatea de a comunica cu serverul în timp real în cea mai mare parte. Cu API-ul Heartbeat dezactivat, nu veți mai putea primi notificări. De asemenea, nu veți putea profita de blocarea conținutului, salvările automate și revizuirile.

Cele trei lucruri cheie de luat în considerare înainte de a dezactiva API-ul Heartbeat sau de a-i limita activitatea sunt:

  • Gazduire. Verificați cât timp CPU și memorie de sistem sunt alocate site-ului dvs. web. Există o limită a numărului de procese pe care site-ul dvs. le poate crea?
  • Timpul petrecut cu administrarea site-ului web. Cât timp aloci administrării și publicării de conținut? Câți utilizatori activi lucrează adesea în tabloul de bord WordPress și interfețele back-end în același timp?
  • Trafic zilnic primit. Câți vizitatori zilnic primește site-ul tău WordPress? Aveți soluții de stocare în cache pentru a ușura încărcarea pe server?

În funcție de tipul site-ului web și de configurația dvs. curentă de găzduire, limitarea numărului de apeluri API WordPress Heartbeat va avea un impact diferit asupra performanței generale. Dacă rulați un site WordPress cu resurse intensive, cu mai mulți utilizatori care efectuează întreținere regulată și postează conținut, reducerea numărului de apeluri API Heartbeat poate fi extrem de benefică. De asemenea, vă poate ajuta să evitați creșterea costurilor de găzduire în încercarea de a acomoda cantități tot mai mari de trafic.

Cum să gestionați WordPress Heartbeat API cu un plugin

Cel mai simplu mod de a gestiona solicitările API-ului WordPress Heartbeat este folosirea unui plugin WordPress conceput pentru acest lucru. Există mai multe soluții diferite de care puteți profita. Heartbeat Control, dezvoltat de WP Rocket, este unul dintre cele mai bune și mai populare.

Controlul bătăilor inimii

Instalați și activați pluginul Heartbeat Control din tabloul de bord WordPress. Navigați la Setări > Controlul ritmului cardiac pentru a deschide configurația pluginului. Heartbeat Control vă permite să gestionați activitatea API-ului Heartbeat pe front-end-ul site-ului web, tabloul de bord WordPress și în editorul Block folosind următoarele opțiuni:

  • Permite bătăile inimii. Dacă această opțiune este activată, pluginul nu va limita în niciun fel apelurile API Heartbeat.
  • Dezactivați ritmul cardiac. Dezactivarea Heartbeat va bloca toate apelurile API din zonele alese ale site-ului dvs. WordPress.
  • Modificați ritmul cardiac. Puteți seta un interval personalizat pentru apelurile API WordPress Heartbeat, variind de la 15 la 300 de secunde.
Controlul bătăilor inimii

De cele mai multe ori, configurarea unui interval mai mare pentru apelurile API WordPress Heartbeat este cel mai bun curs de acțiune. De exemplu, limitarea numărului de apeluri API la unul la fiecare cinci minute în toate cele trei zone ale site-ului dvs. web va avea același efect asupra performanței generale ca și dezactivarea completă a API-ului Heartbeat.

Vă rugăm să rețineți că limitarea activității API Heartbeat în editorul de blocuri poate necesita să salvați revizuirile mai des pentru a evita pierderea oricăror modificări aduse conținutului pe care îl editați. Dacă nu vă bazați pe salvarea automată și nu aveți nevoie de blocarea conținutului, puteți dezactiva cu totul API-ul WordPress Heartbeat în Gutenberg.

Cum să restricționați apelurile API Heartbeat WordPress fără un plugin

Puteți restricționa apelurile API WordPress Heartbeat fără un plugin folosind cârlige WordPress. Adăugarea de câteva linii de cod la fișierul functions.php cu tema activă a site-ului dvs. web vă poate ajuta să dezactivați API-ul Heartbeat sau să specificați un interval personalizat pentru apelurile API.

WordPress vine cu editorul de teme încorporat care vă permite să modificați funcțiile.php din tabloul de bord administrativ. Cu toate acestea, majoritatea pluginurilor de securitate WordPress, cum ar fi iThemes Security Pro, dezactivează această funcționalitate pentru a vă proteja site-ul web în cazul în care acesta este compromis.

Puteți edita fișierul utilizând interfața managerului de fișiere furnizată de panoul de control al găzduirii sau conectându-vă la fișierele site-ului dvs. prin FTP sau SSH. Dacă Kadence WP este tema de blocare WordPress preferată, puteți găsi fișierul functions.php în folderul Kadence din directorul de conținut WordPress.

Vă rugăm să rețineți că orice cod adăugat la fișierul functions.php va fi cel mai probabil suprascris de următoarea actualizare a temei. Prin urmare, poate fi mai bine să gestionați API-ul WordPress Heartbeat folosind un plugin. Dacă utilizați o temă copil, îi puteți modifica fișierul functions.php fără riscul ca acesta să fie suprascris atunci când tema părinte este actualizată.

Nu uitați să salvați mai întâi o copie de rezervă a site-ului dvs. WordPress

Salvarea copiilor de rezervă este o parte importantă a administrării site-ului web. Acest lucru vă va permite să vă recuperați din orice erori și să vă restaurați rapid site-ul în caz de urgență. Asigurați-vă că faceți o copie de rezervă a site-ului dvs. înainte de a edita orice fișier de bază sau temă WordPress.

Folosirea unui plugin de backup WordPress vă ajută să creați o strategie puternică de backup. Veți avea o copie funcțională a site-ului dvs. oricând aveți nevoie de ea. Aveți copiile de rezervă ale site-ului dvs. stocate într-o locație la distanță și profitați de programe personalizate de backup și restaurări cu un singur clic cu BackupBuddy.

Dezactivați API-ul Heartbeat

Adăugarea acțiunii de mai jos vă permite să opriți API-ul Heartbeat, dezactivând efectiv toate apelurile API. Pentru a realiza acest lucru, adăugați fragmentul de cod de mai jos în partea de jos a funcțiilor.php.

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

Puteți dezactiva o anumită funcție din API-ul WordPress Heartbeat în același mod.

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

Configurați un interval personalizat pentru apelurile API Heartbeat

Pentru a limita apelurile API WordPress Heartbeat, puteți specifica un filtru care va configura un interval personalizat pentru solicitările API. Următorul fragment de cod limitează apelurile API Heartbeat la o solicitare pe minut.

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

Configurați un interval personalizat pentru salvările automate WordPress

WordPress vă permite să configurați un interval personalizat pentru salvarea automată prin redefinirea constantei AUTOSAVE_INTERVAL. Similar altor constante, îi puteți atribui o nouă valoare adăugând următoarea linie la fișierul principal de configurare WordPress:

define('AUTOSAVE_INTERVAL', 300);

Puteți atribui intervalului o valoare mai mare, cum ar fi 3600, care este o oră, pentru a dezactiva complet salvările automate WordPress. Constantele WordPress configurate în wp-config.php nu sunt modificate în timpul actualizărilor WordPress. Nu va trebui să le redefiniți mai târziu.

Încheierea

API-ul Heartbeat al WordPress este una dintre caracteristicile cheie încorporate în nucleul WordPress care permite comunicarea în timp real client-server folosind apeluri AJAX. Interfața de programare a aplicației permite WordPress să facă schimb de date între server și tabloul de bord WordPress pentru a oferi o experiență de administrare mai bună.

API-ul Heartbeat trimite cereri către server de mai multe ori pe minut. Acest lucru poate duce la o încărcare crescută a serverului și o performanță degradată. Puteți limita apelurile API Heartbeat utilizând un plugin, adăugând cârlige WordPress sau definind constante WordPress.

Performanța solidă a site-ului este vitală, dar la fel este și securitatea. iThemes vă va ajuta să protejați toate zonele site-ului dvs. WordPress, astfel încât afacerea dvs. să rămână online, indiferent de situație. Descoperiți cum vă puteți asigura prezența online, inclusiv autentificarea cu mai mulți factori, monitorizarea modificărilor fișierelor și scanarea vulnerabilităților, cu iThemes Security Pro.