كيفية إدارة WordPress Heartbeat API

نشرت: 2023-01-31

كانت واجهة برمجة تطبيقات WordPress Heartbeat موجودة منذ ما يقرب من عقد من الزمان. لقد وفرت اتصالاً سلسًا في الوقت الفعلي بين لوحة معلومات WordPress والخادم المضيف. توفر Heartbeat API ، المضمنة في نواة WordPress ، وظائف قوية يمكنها تحسين تجربة إدارة موقع الويب بشكل كبير.

ومع ذلك ، فإن هذه القوة لها ثمن. هو عدد موارد الخادم المطلوبة للحفاظ على سير الاتصال بسلاسة. تشغيل مواقع الويب كثيفة الاستخدام للموارد أو جعل مزود الاستضافة يفرض قيودًا صارمة على الذاكرة ووقت وحدة المعالجة المركزية يمكن أن يؤدي إلى تدهور ملحوظ في الأداء حيث قد تلعب Heartbeat API دورًا.

في هذا الدليل ، سنكتشف إمكانات واجهة برمجة تطبيقات WordPress Heartbeat ودورها في نظام WordPress البيئي. سوف تتعلم كيف تعمل Heartbeat API. ستتعرف أيضًا على سبب احتياجك إلى التفكير في الحد من نشاطه على موقع WordPress الخاص بك. سيساعدك هذا على تحقيق أداء أفضل دون الحاجة إلى ترقية خطة الاستضافة الخاصة بك.

ما هي واجهة برمجة تطبيقات WordPress Heartbeat؟

واجهة برمجة تطبيقات WordPress Heartbeat هي واجهة مدمجة في نواة WordPress تتيح الاتصال في الوقت الفعلي بين الخادم ولوحة معلومات WordPress. تم تقديم واجهة برمجة تطبيقات Heartbeat لأول مرة في عام 2013 مع إصدار WordPress 3.6. قدمت تحسينات كبيرة لإدارة المحتوى وغيرها من المجالات الرئيسية لإدارة الموقع.

ووردبريس نبضات api

لماذا تعتبر Heartbeat API مهمة جدًا؟

تعد لوحة معلومات WordPress تطبيقًا من جانب العميل إلى حد كبير. هذا يعني أن غالبية الإجراءات تتم في متصفح المستخدم. كتطبيق أمامي ، لا تتمتع منطقة إدارة WordPress بوصول مباشر إلى قاعدة بيانات WordPress ، حيث يتم تخزين محتوى موقع الويب والمعلومات الأساسية الأخرى.

لتعمل بشكل صحيح ، يجب أن تكون لوحة معلومات WordPress قادرة على الاتصال بالخادم لإرسال البيانات واستلامها. تتيح واجهات برمجة التطبيقات (APIs) مثل WordPress Heartbeat API إمكانية تلقي التحديثات في الوقت الفعلي دون الحاجة إلى إعادة تحميل الصفحة بأكملها لعرض أي معلومات جديدة.

لتوفير تجربة مستخدم سلسة ، ترسل لوحة معلومات WordPress طلبات إلى الخادم خلف الكواليس بشكل متكرر بما يكفي لإزالة أي تأخير في التحديث لمستخدمي WordPress الذين قاموا بتسجيل الدخول ويعملون على موقع الويب. سترسل Heartbeat API الطلبات إلى الخادم واستدعاءات API كل 15 إلى 120 ثانية.

ثلاث ميزات رئيسية صلاحيات واجهة برمجة تطبيقات WordPress Heartbeat

تدعم واجهة برمجة تطبيقات WordPress Heartbeat ثلاث ميزات رئيسية تجعل إدارة موقع الويب أسهل وأكثر ملاءمة. هذه الميزات هي الحفظ التلقائي وتأمين المحتوى وإشعارات لوحة المعلومات في الوقت الفعلي. إنها مهمة بشكل خاص للمجتمعات أو مواقع الويب التي تم تحريرها بشكل تعاوني والتي لديها عدة مستخدمين قاموا بتسجيل الدخول ونشطون في نفس الوقت.

1. السيارات والمراجعات

تعد عمليات الحفظ التلقائي والمراجعات إحدى الميزات الرئيسية التي توفرها WordPress Heartbeat API. عندما يعمل المستخدم في محرر Block ، يقوم WordPress بإجراء حفظ تلقائي للمحتوى كل 60 ثانية. هذا يضمن عدم ترك أي تغييرات غير محفوظة. من خلال إرسال الطلبات إلى الخادم كل دقيقة ، تحفظ واجهة برمجة تطبيقات WordPress Heartbeat نسخة عاملة من منشور أو صفحة في قاعدة البيانات الخاصة بها والتي سيتم تخزينها هناك حتى يتم تشغيل الحفظ التلقائي الجديد.

تعد عمليات حفظ WordPress التلقائية التي يتم تشغيلها بواسطة Heartbeat API مفيدة للغاية. يمكنهم منع فقدان البيانات في حالة تعطل المتصفح أو مشاكل الاتصال. لا تحل عمليات الحفظ التلقائي محل أي مراجعات تم إنشاؤها بواسطة المستخدم ولا تتراكم في قاعدة البيانات.

2. تأمين المحتوى

يعد قفل المحتوى ميزة أخرى من WordPress Heartbeat API تمكن من توفير تجربة تحرير أفضل لمالكي مواقع WordPress. إذا تم تحرير منشور أو صفحة حاليًا ، فسيغلقها WordPress لمنع المستخدمين الآخرين من إجراء تغييرات عليها. سترسل WordPress Heartbeat API طلبات إلى الخادم كل 15 ثانية. سيعرض إشعارًا إذا قام مستخدم آخر بفتح المحتوى المقفل للتحرير.

3. إخطارات لوحة التحكم في الوقت الفعلي

تعمل واجهة برمجة تطبيقات WordPress Heartbeat على تشغيل إشعارات لوحة المعلومات في الوقت الفعلي ، بما في ذلك تلك المرسلة بواسطة المكونات الإضافية. أدت موثوقية الاتصال بخادم العميل الذي توفره Heartbeat API إلى قيام الآلاف من مطوري مكونات WordPress بدمجه في تطبيقاتهم.

الفاصل الزمني الافتراضي لاستدعاءات WordPress Heartbeat API في منطقة إدارة الموقع هو 15 ثانية. يمكن لمطوري البرنامج المساعد الراغبين في استخدام وظيفة API تكوين فترات مخصصة لتبادل البيانات بين تطبيق العميل والخادم.

كيف تعمل WordPress Heartbeat API؟

تستخدم واجهة برمجة تطبيقات WordPress Heartbeat AJAX - JavaScript غير متزامن و XML - للتواصل مع الخادم من لوحة تحكم المسؤول. تجمع واجهة برمجة التطبيق البيانات وترسلها عبر ما يُعرف باسم حدث jQuery. يتلقى معالج admin-ajax البيانات ويعالجها على جانب الخادم ، ثم يعد ويعيد الرد بتنسيق JSON.

عندما يتم تحميل لوحة معلومات WordPress ، يقوم الكود من جانب العميل بإعداد فاصل زمني ، يُعرف أيضًا باسم علامة التجزئة ، للتشغيل كل 15 إلى 120 ثانية ، اعتمادًا على المهمة. تم تكليف رمز واجهة برمجة تطبيقات Heartbeat بجمع البيانات من جانب العميل وإيصالها إلى الخادم لتلقي التحديثات.

يعتمد العدد الإجمالي لمكالمات Heartbeat API على عدد المستخدمين النشطين الذين يعملون على موقع الويب في نفس الوقت. هذا هو نفس عدد مثيلات لوحة معلومات WordPress التي تم تحميلها. يؤدي فتح منطقة مسؤول WordPress في نوافذ مستعرض متعددة إلى إنشاء نفس عدد مكالمات Heartbeat API كما لو تم تسجيل عدة مستخدمين في الواجهة الخلفية لموقع الويب ويقومون بتنفيذ المهام في نفس الوقت.

لماذا الحد من مكالمات WordPress Heartbeat API؟

يمكن أن يساعد الحد من مكالمات WordPress Heartbeat API في تسريع مواقع WordPress التي تحتوي على مجموعة محدودة جدًا من موارد الخادم المخصصة ، خاصة عندما يتعلق الأمر بوقت وحدة المعالجة المركزية. على الرغم من أنه من غير المحتمل أن تكون واجهة برمجة تطبيقات Heartbeat هي المشكلة الرئيسية وراء ضعف أداء موقع الويب ، فمن المؤكد أنها شيء يجب أخذه في الاعتبار.

في كل مرة تتصل فيها Heartbeat API بالخادم ، يتم تقديم طلب POST HTTP إلى ملف admin-ajax.php في wp-admin. نظرًا لأنه يتم إرسال استدعاءات Heartbeat API إلى الخادم كل 15-120 ثانية ، ويزداد الرقم إذا كان هناك أكثر من مستخدم إداري نشط واحد ، يمكن لواجهة برمجة التطبيقات تحميل الخادم بشكل زائد ، مما يؤدي إلى ارتفاع استخدام وحدة المعالجة المركزية وذاكرة النظام.

يمكن لبعض مالكي مواقع WordPress أن يخطئوا في نشاط Heartbeat API على أنه هجوم DDOS مستمر. لا يمكن تخزين طلبات WordPress Heartbeat API مؤقتًا ، بحيث تستخدم كل مكالمة قدرًا معينًا من موارد الخادم. إذا كان الخادم يستخدم موارده بنشاط للتعامل مع مكالمات واجهة برمجة التطبيقات ، فيمكن أن يواجه عملاؤك تأخيرات في عرض المحتوى عند تصفح موقع الويب الخاص بك.

هناك ثلاثة أشياء يجب مراعاتها قبل تعطيل Heartbeat API

نادرًا ما يكون تعطيل Heartbeat API تمامًا فكرة جيدة. ستفقد لوحة معلومات WordPress قدرتها على التواصل مع الخادم في الوقت الفعلي في الغالب. مع تعطيل Heartbeat API ، لن تتمكن بعد الآن من تلقي الإشعارات. أيضًا ، لن تتمكن من الاستفادة من قفل المحتوى والحفظ التلقائي والمراجعات.

الأشياء الثلاثة الرئيسية التي يجب مراعاتها قبل تعطيل Heartbeat API أو تقييد نشاطها هي:

  • الاستضافة. راجع مقدار وقت وحدة المعالجة المركزية وذاكرة النظام المخصصة لموقع الويب الخاص بك. هل هناك حد لعدد العمليات التي يمكن أن ينشئها موقع الويب الخاص بك؟
  • الوقت الذي يقضيه في إدارة الموقع. كم من الوقت تقضيه في الإدارة ونشر المحتوى؟ كم عدد المستخدمين النشطين الذين يعملون غالبًا في لوحة معلومات WordPress والواجهات الخلفية في نفس الوقت؟
  • وردت حركة المرور اليومية. كم عدد الزوار الذين يستقبلهم موقع WordPress الخاص بك يوميًا؟ هل لديك أي حلول تخزين مؤقت لتخفيف الحمل على الخادم؟

اعتمادًا على نوع موقع الويب وإعداد الاستضافة الحالي ، سيكون للحد من عدد مكالمات واجهة برمجة تطبيقات WordPress Heartbeat تأثير مختلف على الأداء العام. إذا كنت تدير موقع WordPress كثيف الموارد مع العديد من المستخدمين الذين يقومون بصيانة منتظمة ونشر المحتوى ، فإن تقليل عدد مكالمات Heartbeat API يمكن أن يكون مفيدًا للغاية. يمكن أن يساعدك أيضًا في تجنب زيادة تكاليف الاستضافة في محاولة لاستيعاب كميات متزايدة من حركة المرور.

كيفية إدارة WordPress Heartbeat API باستخدام البرنامج المساعد

أسهل طريقة لإدارة طلبات WordPress Heartbeat API هي باستخدام مكون WordPress الإضافي المصمم لهذا الغرض. هناك العديد من الحلول المختلفة التي يمكنك الاستفادة منها. يعد Heartbeat Control ، الذي طورته WP Rocket ، أحد أفضل البرامج وأكثرها شهرة.

التحكم في ضربات القلب

قم بتثبيت وتفعيل المكون الإضافي Heartbeat Control من لوحة معلومات WordPress. انتقل إلى الإعدادات> Heartbeat Control لفتح تكوين المكون الإضافي. يسمح لك Heartbeat Control بإدارة نشاط Heartbeat API على الواجهة الأمامية لموقع الويب ولوحة معلومات WordPress وفي محرر Block باستخدام الخيارات التالية:

  • السماح بنبضات القلب. إذا تم تمكين هذا الخيار ، فلن يحد المكون الإضافي من مكالمات Heartbeat API بأي شكل من الأشكال.
  • تعطيل نبضات القلب. سيؤدي تعطيل Heartbeat إلى حظر جميع مكالمات API في المناطق المختارة من موقع WordPress الخاص بك.
  • تعديل نبضات القلب. يمكنك تعيين فاصل زمني مخصص لمكالمات واجهة برمجة تطبيقات WordPress Heartbeat ، تتراوح من 15 إلى 300 ثانية.
التحكم في ضربات القلب

في معظم الأحيان ، يعد تكوين فاصل زمني أكبر لمكالمات واجهة برمجة تطبيقات WordPress Heartbeat هو أفضل مسار للعمل. على سبيل المثال ، سيكون قصر عدد استدعاءات واجهة برمجة التطبيقات بواحدة كل خمس دقائق في جميع المجالات الثلاثة لموقع الويب الخاص بك على نفس التأثير على الأداء العام مثل تعطيل Heartbeat API تمامًا.

يرجى ملاحظة أن تقييد نشاط Heartbeat API في محرر Block قد يتطلب منك حفظ المراجعات كثيرًا لتجنب فقدان أي تغييرات على المحتوى الذي تقوم بتحريره. إذا كنت لا تعتمد على الحفظ التلقائي ولا تحتاج إلى تأمين المحتوى ، يمكنك تعطيل WordPress Heartbeat API في Gutenberg تمامًا.

كيفية تقييد مكالمات WordPress Heartbeat API بدون مكون إضافي

يمكنك تقييد مكالمات WordPress Heartbeat API بدون مكون إضافي باستخدام خطافات WordPress. يمكن أن تساعدك إضافة بضعة أسطر من التعليمات البرمجية إلى ملف function.php السمة النشطة لموقعك على تعطيل واجهة برمجة تطبيقات Heartbeat أو تحديد فاصل زمني مخصص لمكالمات واجهة برمجة التطبيقات.

يأتي WordPress مزودًا بمحرر السمات المدمج الذي يسمح لك بتعديل function.php من لوحة تحكم المسؤول. ومع ذلك ، فإن معظم المكونات الإضافية للأمان في WordPress ، مثل iThemes Security Pro ، تقوم بتعطيل هذه الوظيفة لحماية موقع الويب الخاص بك في حالة تعرضه للخطر.

يمكنك تحرير الملف باستخدام واجهة مدير الملفات التي توفرها لوحة تحكم الاستضافة الخاصة بك أو عن طريق الاتصال بملفات موقع الويب الخاص بك عبر FTP أو SSH. إذا كان Kadence WP هو موضوع كتلة WordPress المفضل لديك ، فيمكنك العثور على ملف function.php في مجلد Kadence داخل دليل محتوى WordPress الخاص بك.

يرجى ملاحظة أنه من المرجح أن يتم الكتابة فوق أي كود مضاف إلى ملف function.php من خلال التحديث التالي للموضوع. لذلك ، قد يكون من الأفضل إدارة WordPress Heartbeat API باستخدام مكون إضافي. إذا كنت تستخدم قالبًا فرعيًا ، فيمكنك تغيير ملف function.php الخاص به دون المخاطرة بالكتابة فوقه عند تحديث السمة الأصلية.

لا تنس حفظ نسخة احتياطية من موقع WordPress الخاص بك أولاً

يعد حفظ النسخ الاحتياطية جزءًا مهمًا من إدارة الموقع. سيسمح لك ذلك بالتعافي من أي أخطاء واستعادة موقع الويب الخاص بك بسرعة في حالات الطوارئ. تأكد من عمل نسخة احتياطية من موقع الويب الخاص بك قبل تحرير أي ملفات WordPress أو السمات الأساسية.

يساعدك استخدام مكون إضافي للنسخ الاحتياطي في WordPress في إنشاء إستراتيجية نسخ احتياطي قوية. سيكون لديك نسخة عمل من موقع الويب الخاص بك متى احتجت إليها. قم بتخزين النسخ الاحتياطية لموقع الويب الخاص بك في مكان بعيد ، واستفد من جداول النسخ الاحتياطي المخصصة والاستعادة بنقرة واحدة باستخدام BackupBuddy.

تعطيل Heartbeat API

تتيح لك إضافة الإجراء أدناه إيقاف Heartbeat API ، وتعطيل جميع استدعاءات واجهة برمجة التطبيقات بشكل فعال. لتحقيق ذلك ، أضف مقتطف الشفرة أدناه إلى أسفل function.php.

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

يمكنك تعطيل ميزة معينة في WordPress Heartbeat API بنفس الطريقة.

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

تكوين فاصل زمني مخصص لمكالمات Heartbeat API

للحد من مكالمات WordPress Heartbeat API ، يمكنك تحديد مرشح يقوم بتكوين فاصل زمني مخصص لطلبات API. يحد مقتطف الشفرة التالي من استدعاءات Heartbeat API لطلب واحد في الدقيقة.

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

تكوين فاصل زمني مخصص للحفظ التلقائي في WordPress

يتيح لك WordPress تكوين فاصل زمني مخصص للحفظ التلقائي عن طريق إعادة تعريف ثابت AUTOSAVE_INTERVAL. على غرار الثوابت الأخرى ، يمكنك تعيين قيمة جديدة لها عن طريق إضافة السطر التالي إلى ملف تكوين WordPress الرئيسي الخاص بك:

define('AUTOSAVE_INTERVAL', 300);

يمكنك تعيين قيمة أكبر للفاصل الزمني ، مثل 3600 ، وهي ساعة ، لتعطيل الحفظ التلقائي لـ WordPress تمامًا. لا يتم تعديل ثوابت WordPress التي تم تكوينها في wp-config.php أثناء أي تحديثات لـ WordPress. لن تضطر إلى إعادة تعريفها لاحقًا.

تغليف

تعد واجهة برمجة تطبيقات Heartbeat من WordPress إحدى الميزات الرئيسية المضمنة في نواة WordPress والتي تتيح الاتصال بخادم العميل في الوقت الفعلي باستخدام مكالمات AJAX. تسمح واجهة برمجة التطبيق لـ WordPress بتبادل البيانات بين الخادم ولوحة معلومات WordPress لتوفير تجربة إدارة أفضل.

ترسل Heartbeat API الطلبات إلى الخادم عدة مرات في الدقيقة. يمكن أن يؤدي هذا إلى زيادة الحمل على الخادم وتدهور الأداء. يمكنك تقييد مكالمات Heartbeat API باستخدام مكون إضافي أو إضافة خطافات WordPress أو تحديد ثوابت WordPress.

يعد أداء موقع الويب القوي أمرًا حيويًا ، وكذلك الأمان. سيساعد iThemes في حماية جميع مناطق موقع WordPress الخاص بك ، بحيث يظل عملك على الإنترنت بغض النظر عن أي شيء. اكتشف كيف يمكنك تأمين تواجدك عبر الإنترنت ، بما في ذلك المصادقة متعددة العوامل ، ومراقبة تغيير الملفات ، ومسح الثغرات الأمنية ، باستخدام iThemes Security Pro.