كيف تعرف فيما إذا كانت إضافة معينة تؤثر على أداء الموقع؟


تواصل معي أحد العملاء بعد أن نصَّب مجموعة من إضافات ووردبريس على موقعه، وأخبرني أنه بعد تنصيب الإضافات أصبح الموقع بطيئًا، وبدأ معدل الارتداد بالازدياد ما يدل على عدم رضى العملاء وضرورة إجراء اللازم لتحسين أداء الموقع.

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

لماذا قد تبطئ الإضافة موقعك؟

يمكن أن يعزى تسبب الإضافات ببطئ الموقع إلى أسباب عديدة، منها:

  • استعلامات قاعدة البيانات: تطلب بعض الإضافات معلومات كثيرة من قاعدة بيانات الموقع عند كل زيارة، الأمر  يرهق الخادم ويبطئ عملية عرض الصفحة.
  • تحميل ملفات CSS و JavaScript:  تضيف العديد من إضافات ووردبريس ملفات تنسيق وبرمجة على كل صفحات الموقع، حتى في الصفحات التي لا تستخدم تلك الملفات، وهذا يؤدي إلى إضافة حمل على كل صفحات الموقع.
  • البرمجة الرديئة: يمكن أن تكون بعض الإضافات مطورة بطريقة غير فعالة تستهلك الذاكرة والمعالج بشكل مفرط، الأمر الذي يؤدي إلى بطء الموقع بسبب عدم كفاية موارد الخادم.
  • العمليات المستمرة في الخلفية: تشغل بعض الإضافات عمليات مستمرة في الخلفية، مثل إضافات النسخ الاحتياطي والفحص الأمني، الأمر الذي يؤثر على أداء الموقع العام.

خطوات تحديد الإضافة المسؤولة عن بطء موقع ووردبريس

لاكتشاف الإضافة التي تسبب بطء الموقع لدى العميل، اتبعت مجموعة من الخطوات وهي:

1. استنساخ الموقع وإنشاء بيئة اختبار

بداية أنشأت موقعًا مطابقًا لموقع العميل في بيئة اختبار، إذ اعتمدت على إضافة WP Staging التي توفر إمكانية عمل مواقع مرحلية بسهولة، فبعد تنصيب الإضافة توجهت إلى WP Staging ثم Staging Site، ثم أنشأت موقعا مرحليًا بالنقر على زر  Create Staging Site، ثم نقرت على زر Start Cloning لتأكيد الإنشاء.

إنشاء موقع مرحلي
إنشاء موقع مرحلي

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

رابط الموقع المرحلي الذي تم إنشاؤه
رابط الموقع المرحلي الذي تم إنشاؤه

2. قياس الأداء المبدئي

بعد إنشاء الموقع المرحلي، استخدمت أداة قياس السرعة Lighthouse لقياس أداء الصفحة الرئيسية، وكانت هذه النتيجة. ما يهمنا للمقارنة هي مقاييس الأداء الأساسية المرتبطة بسرعة التحميل، مثل FCP و LCP و SI.

قياس سرعة الموقع المرحلي باستخدام أداة Lighthouse
قياس سرعة الموقع المرحلي باستخدام أداة Lighthouse

3. تعطيل جميع الإضافات

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

تعطيل جميع إضافات ووردبريس في الموقع
تعطيل جميع إضافات ووردبريس في الموقع

4. إعادة قياس الأداء

بعد إلغاء تفعيل كافة الإضافات، أعدت قياس أداء الصفحة الرئيسية عبر استخدام أداة Lighthouse، فكان هناك تحسن كبير في السرعة، وهذا يعني أنه بالفعل تؤثر إضافة أو أكثر بشكل كبير على أداء الموقع.

قياس أداء الصفحة الرئيسية بعد تعطيل الإضافات
قياس أداء الصفحة الرئيسية بعد تعطيل الإضافات

5. تفعيل الإضافات تدريجيًا وتحديد الإضافة

بعد ذلك اتبعت منهجية معينة تسمح لي بتحديد الإضافة أو الإضافات المسؤولة عن التأثير الكبير على الأداء، وهي تفعيل الإضافات تدريجيًا، وقياس الأداء بعد كل تفعيل لإضافة، فإذا كان هناك فرق كبير في الأداء بين قياسين، فهذا يعني أن الإضافة التي تم تفعليها بين هذين القياسين هي المسؤولة عن إبطاء الموقع.

وبشكل أكثر تفصيلًا كانت الخطوات كالتالي:

  • تفعيل الإضافة الأولى.
  • مسح ذاكرة التخزين المؤقت لضمان دقة القياس.
  • اختبار الأداء باستخدام Lighthouse.
  • ملاحظة الفرق مع القياس السابق.
  • إذا كان الفرق كبيرًا، فهذه الإضافة هي الجانية.

وإذا كان الفرق صغيرًا، أكرر العملية للإضافة التالية وهكذا حتى أصل للإضافة المتسببة.

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

حل مشكلة الإضافة البطيئة

توجد طرق عديدة لحل مشكلة الإضافة البطيئة، لكن أكثر الطرق شيوعًا وملاءمة في أغلب الأحيان هي:

حذفها أو استبدالها

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

منع تشغيلها في الصفحات غير الضرورية

في بعض الأحيان قد لا يكون حذف الإضافة أو استبدالها مناسبًا، خاصة إذا كانت الإضافة ضرورية جدًا ولا يوجد بديل عنها، وفي مثل هذه الحالات يمكن اللجوء إلى حلول مخصصة أكثر تتناسب مع الإضافة، فمثلًا إذا كانت الإضافة توفر وظيفتها في مكان معين، لكنها تعمل في أماكن متعددة، فيمكن تقييد مكان عملها عبر تقييد تحميل ملفات الأصول الخاصة بها أي ملفات CSS و JS.

في حالتي تبين أن إضافة Tamara تعمل في كافة صفحات الموقع بينما من المفترض أن تعمل في صفحة الدفع فقط، إذ ظهرت ملفات الأصول الخاصة بها عند زيارة الصفحة الرئيسية وصفحات أخرى في الموقع عند فحص الصفحة المحملة بواسطة إضافة Query Monitor.

الإضافة تحمل ملفات في كافة صفحات الموقع
الإضافة تحمل ملفات في كافة صفحات الموقع

ولذلك استخدمت إضافة Asset CleanUp Pro المخصصة للتحكم بالصفحات التي تعمل فيها كل إضافة وملفات الأصول، وعطلت عمل إضافة Tamara في كل الصفحات باستثناء صفحات الدفع عبر اختيار نوع الاستثناء (If the URL (its URI) is matched by a RegEx(es)) وتحديد الاستثناء بإدخال (^/(checkout|order-pay|order-received)).

تعطيل عمل الإضافة في كافة الصفحات باستثناء صفحة الدفع
تعطيل عمل الإضافة في كافة الصفحات باستثناء صفحة الدفع

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

طلب كود من الذكاء الاصطناعي لمنع تحميل الملف غير اللازم
طلب كود من الذكاء الاصطناعي لمنع تحميل الملف غير اللازم

ثم يمكنك إضافة الكود في الموقع عبر استخدام إضافة WPCode.

بعد تقييد عمل الإضافة، تحسنت سرعة الموقع المرحلي بشكل ملحوظ بناء على اختبار السرعة في أداة Lighthouse، فطبقت الحل أيضًا في الموقع الفعلي.

تحسن سرعة الموقع بعد معالجة المشكلة في الإضافة
تحسن سرعة الموقع بعد معالجة المشكلة في الإضافة

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



Source link