existent WordPress de l'optimisation des performances dans la pratique.API Heartbeat Il s'agit d'un module incontournable mais souvent "mal compris".
De nombreux sites, lorsqu'ils optimisent les performances du backend, désactivent simplement Heartbeat sur l'ensemble du site, et les résultats s'enchaînent :
- Sauvegarde automatique de l'éditeur désactivée
- Collaboration multijoueurs sur les anomalies verrouillées
- Statut de la commande WooCommerce non synchronisé
- L'expérience du backend est moins bonne
Cet article l'explicitera dans son intégralité :
- Que fait Heartbeat ?
- Pourquoi la meilleure solution consiste à n'utiliser que l'arrière-plan ?
- Des réalisations multiples, sûres et contrôlées
- Stratégie de différenciation pour les différentes pages du backend
- Pièges courants et méthodes de validation
![Image [1] - Désactiver Heartbeat uniquement dans le backend : pas d'impact sur le frontend et l'expérience d'édition](https://www.361sale.com/wp-content/uploads/2026/01/20260130145219450-image.png)
I. Qu'est-ce que le Heartbeat ? Pourquoi ralentit-il l'arrière-plan ?
1. la nature du rythme cardiaque
L'API Heartbeat est une suite de Mécanisme d'interrogation AJAX temporisé, par défaut :
- chacun 15-60 secondes déclenché une fois
- faire passer (un projet de loi, une inspection, etc.)
admin-ajax.phpou API REST - Échange continu de données d'état avec le serveur
Les principales utilisations sont les suivantes :
- Sauvegarde automatique de l'article
- Verrouillage de l'édition (empêche les écrasements multiples)
- Notifications en arrière-plan, rafraîchissement de l'état
- Mise à jour en temps réel des commandes et de l'inventaire de WooCommerce
![Image [2] - Désactiver Heartbeat uniquement dans le backend : pas d'impact sur le frontend et l'expérience d'édition](https://www.361sale.com/wp-content/uploads/2026/01/20260130145345803-image.png)
2. où se situe le problème
Dans un environnement de production réel, le problème avec Heartbeat n'est pas tant la "fonctionnalité" que le fait queFréquence + gamme: :
- Chaque page ouverte dans le backend fait l'objet d'un sondage
- Demande de superposition lorsque plusieurs administrateurs sont en ligne en même temps
- Serveurs à profil bas / Serveurs d'outre-mer RTT élevé
admin-ajax.phpPerformances intrinsèquement faibles
Elle finit par se manifester :
- Utilisation élevée de l'unité centrale en arrière-plan
- Exception de comptage de requêtes MySQL
- Empilement de processus PHP-FPM
- Lenteur et rotation occasionnelles en arrière-plan
Pourquoi ne peut-on pas "désactiver globalement Heartbeat" ?
De nombreux tutoriels le suggèrent :
add_action( 'init', function() {
wp_deregister_script( 'heartbeat' ) ;
}) ;
Ce n'est pas la bonne démonstration.
La raison est très simple :
| Fonctionnalité | S'appuyer ou non sur Heartbeat |
|---|---|
| Sauvegarde automatique Gutenberg | ✅ |
| Verrouillage de l'édition | ✅ |
| WooCommerce Backend Order Refresh | ✅ |
| Protection contre les courants d'air de l'éditeur classique | ✅ |
La conséquence en est généralement une taille unique :
- Perte de contenu éditorial
- Conflits d'édition multiples
- Les fonctions en coulisses "semblent normales, mais sont en fait des mines cachées".
L'objectif doit donc être :
Désactiver Heartbeat uniquement sur [backend non-edit page].
Un battement de cœur est nécessaire pour conserver l'éditeur et les fonctions clés
III. aperçu des meilleures stratégies (les conclusions d'abord)
Une stratégie éprouvée et contrôlée devrait être satisfaisante :
- ✅ N'affecte pas le front-end (Front-end)
- ✅ N'affecte pas l'édition d'articles/de pages
- ✅ Ne fonctionne qu'avec wp-admin
- ✅ Évolutif et facile à maintenir
Priorité recommandée :
- sur la base de
admin_enqueue_scriptsDésactivation de la précision (de préférence) - Traitement différencié en fonction des conditions d'appréciation de la page
- Contrôle Fréquence des battements de cœur (pas complètement désactivée)
- Programme Plug-in (uniquement complémentaire)
![Image [3] - Désactiver Heartbeat uniquement dans le backend : pas d'impact sur le frontend et l'expérience d'édition](https://www.361sale.com/wp-content/uploads/2026/01/20260130145536598-image.png)
Option 1 (recommandée) : Désactiver Heartbeat uniquement sur les pages non modifiées en arrière-plan
Idées maîtresses
- Heartbeat est un script :
rythme cardiaque - Chargement en arrière-plan par crochetSuppression conditionnelle
- La page d'édition (post.php / post-new.php) ne bouge pas
- Les autres pages du backend sont directement désactivées
Code complet utilisable
/**
* Disable Heartbeat only on admin non-editor pages
*/
add_action( 'admin_enqueue_scripts', function() {
// 当前后台页面
$screen = get_current_screen();
if ( ! $screen ) {
return;
}
// 编辑文章 / 页面时,保留 Heartbeat
if ( $screen->base === 'post' ) {
return;
}
// 其余后台页面禁用 Heartbeat
wp_deregister_script( 'heartbeat' );
});
Pourquoi ce programme est-il sûr ?
admin_enqueue_scriptsEfficace uniquement en arrière-planposteLes pages sont explicitement exclues (l'expérience éditoriale n'est pas affectée).- Ne pas toucher au script du frontend
- N'affecte pas l'API REST
V. Programme II : Contrôle plus fin des pages de back-office (avancé)
Si vous êtesGrand site / Back Office E-commerce / Système multi-rôlesIl pourrait être plus fin.
Exemple : maintenir le rythme cardiaque sur ces pages uniquement
- Articles / Rédacteurs de pages
- Page de commande WooCommerce
- Tableaux de bord personnalisés
add_action( 'admin_enqueue_scripts', function() {
$screen = get_current_screen() ; if ( !
si ( ! $screen ) return ;
$allowed = [
'post',
'woocommerce_page_wc-orders'.
] ;
if ( in_array( $screen->base, $allowed, true ) ) {
retour ;
}
wp_deregister_script( 'heartbeat' ) ; }
}).
En forme :
- WooCommerce Standalone
- Multiples opérations d'arrière-guichet
- Système de commande et de mise à jour du contenu à haute fréquence
VI. option 3 : pas d'interdiction, seulement une "réduction d'échelle" (plus conservatrice)
Si vous craignez les effets inconnus d'une désactivation complète, vous pouvezRéduire la fréquence des battements de cœur.
Exemple : page non modifiable du backend → 120 secondes à la fois
add_filter( 'heartbeat_settings', function( $settings ) {
if ( is_admin() ) {
$settings['interval'] = 120 ;
}
return $settings.
}) ;
Notes comparatives
| faire preuve de tact | Charge du serveur | l'intégrité fonctionnelle |
|---|---|---|
| Désactiver complètement | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐⭐⭐ |
| Désactivé uniquement en arrière-plan | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| réduction de la fréquence | ⭐⭐⭐⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
VII. le programme Plug-in (non recommandé comme programme à long terme)
Plugins communs :
- Contrôle du rythme cardiaque
- WP Rocket(accessoire)
Le problème est le suivant :
- Taille des particules insuffisante
- Comportement incontrôlable après escalade
- Difficile de faire la distinction entre des pages spécifiques du backend
En forme :
- Il n'est pas pratique d'écrire du code
- test ad hoc
- petit site
Il ne convient pas :
- hautement concomitante
- Commerce électronique
- système multi-éditeurs
![Image [4] - Désactiver Heartbeat uniquement dans le backend : pas d'impact sur le frontend et l'expérience d'édition](https://www.361sale.com/wp-content/uploads/2026/01/20260130150236474-image.png)
VIII. pièges communs et liste de contrôle
1. l'échec de la sauvegarde automatique de la rédaction
raison d'êtreLes personnes handicapées : Misdisabled (en anglais) poste page web
régler (un litige): Accusé de réception $screen->base === 'post' exclu
2. les commandes WooCommerce ne sont pas actualisées
raison d'êtreLa page de commande s'appuie sur Heartbeat
régler (un litige)Liste blanche : Whitelisting
3. l'utilisation abusive du guichet
raison d'être: Utilise l'outil init / wp_enqueue_scripts
régler (un litige): à utiliser uniquement admin_enqueue_scripts
4. l'absence de conditions de jugement
raison d'être: :get_current_screen() appel prématuré
régler (un litige): Ne l'utilisez pas dans les init crochets
IX. comment vérifier si elle est réellement en vigueur
Méthode 1 : Panneau Réseau du navigateur
- Ouvrir la page non modifiable du backend
- filtration
rythme cardiaque/admin-ajax.php - Plus de demandes cycliques ✅
Méthode 2 : journaux du serveur
admin-ajax.phpDiminution significative du nombre de demandes- PHP-FPM - Chute de charge
X. Résumer (donner des conclusions directes)
Le principe d'optimisation Heartbeat ne tient qu'en une phrase :
Ne désactivez pas les fonctions dont vous avez besoin, mais seulement les scènes dont vous n'avez pas besoin.
Meilleures pratiques :
- La réception ne bouge pas
- ✅ La page d'édition ne bouge pas
- ✅ Désactivation des pages non modifiables en arrière-plan
- ✅ Contrôle au niveau du code pour éviter les dépendances des plugins
Je peux vous aider à franchir l'étape suivante si vous le souhaitez :
- pousser WooCommerce / Content Station / SaaS Backend Une version personnalisée pour vous
- Vous aider à assembler celui-ci Structure technique SEO du blog (H1-H4 + Meta)
- Ou simplement vous donner un Version réutilisable de mu-plugin
Lien vers cet article :https://www.361sale.com/fr/86520L'article est protégé par le droit d'auteur et doit être reproduit avec mention.





















![Emoji[wozuimei]-Photonflux.com | Service professionnel de réparation de WordPress, dans le monde entier, réponse rapide](https://www.361sale.com/wp-content/themes/zibll/img/smilies/wozuimei.gif)
![Émoticône [baoquan] - Photon Wave Network | Services professionnels de réparation WordPress, couverture mondiale, réponse rapide](https://www.361sale.com/wp-content/themes/zibll/img/smilies/baoquan.gif)

Pas de commentaires