كيف تحسّن سرعة صفحات منتجات WooCommerce دون كتابة سطر واحد من الكود

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

صفحات منتجات WooCommerce معروفة ببطئها، وهذه السمعة مستحقة. بين معارض الصور، وسكريبتات التنويعات، وأقسام التقييمات، ومنطق إضافة المنتج إلى السلة، وما يحمّله القالب فوق كل ذلك، يمكن لصفحة منتج واحدة أن تتضخم بسهولة إلى وقت تحميل يتراوح بين 4 و6 ثوانٍ.

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

لماذا صفحات منتجات WooCommerce بطيئة افتراضياً

يحمّل WooCommerce كميات كبيرة من JavaScript و CSS على كل صفحة، بما فيها الصفحات التي لا تحتاج إلى معظمها. مقالات المدونة لا تحتاج إلى سكريبتات السلة. الصفحة الرئيسية لا تحتاج إلى ملف CSS الخاص بصفحة الدفع. لكن WooCommerce يحمّلها على أي حال، لأن هذا هو الإعداد الآمن الافتراضي.

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

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

ابدأ بتشخيص حقيقي

قبل أن تغيّر أي شيء، احصل على صورة واضحة عمّا هو بطيء فعلاً. التخمين يضيّع الوقت. أدوات مثل Google PageSpeed Insights وGTmetrix تمنحك تحليلاً مجانياً لـ Largest Contentful Paint (LCP) و Time to First Byte (TTFB) والـ Total Blocking Time.

اختبر إحدى صفحات المنتجات تحديداً، وليس الصفحة الرئيسية فقط. النتائج غالباً مختلفة جداً. قد تحصل صفحتك الرئيسية على 85 بينما تحصل صفحات المنتجات على 42.

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

إصلاحات سرعة WooCommerce التي لا تحتاج إلى كود

1. تحميل سكريبتات WooCommerce فقط حيث تكون مطلوبة

هذا من أعلى التغييرات تأثيراً. WooCommerce يحمّل سكريبت cart fragments على كل صفحة افتراضياً، حتى الصفحات التي لا تحتوي على وظائف سلة. هذا السكريبت يُرسل طلب AJAX عند كل تحميل صفحة، مما يضيف تأخيراً في كل مكان.

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

2. ضغط صور المنتجات وتفعيل التحميل الكسول

صور المنتجات هي دائماً الأصول الأثقل على صفحة المنتج. معرض صور يحتوي على أربع صور JPEG غير محسّنة يمكن أن يضيف 3-4 ميغابايت لتحميل صفحة واحدة.

تغييران يحلّان معظم هذا دون أي كود:

  • تفعيل التحميل الكسول (Lazy Loading) - الصور الموجودة أسفل الشاشة لا تُحمَّل حتى يصل إليها الزائر بالتمرير. هذا يقلل وزن الصفحة الأولية بشكل كبير.
  • التحويل إلى صيغ حديثة - صور WebP أصغر عادةً بنسبة 25-35% مقارنة بـ JPEG عند نفس الجودة البصرية. كثير من إضافات تحسين الصور تتولى التحويل تلقائياً.

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

3. تفعيل Object Caching لاستعلامات قاعدة البيانات

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

يقوم Object Caching بتخزين نتائج هذه الاستعلامات في الذاكرة (عادةً عبر Redis)، بحيث تسحب الطلبات المتكررة من الذاكرة المؤقتة بدلاً من الرجوع إلى قاعدة البيانات مجدداً. الفرق في وقت تنفيذ الاستعلام كبير جداً، ميكروثوانٍ من الذاكرة المؤقتة مقابل ميلي ثوانٍ من قاعدة البيانات.

في الاستضافة المُدارة المُهيَّأة جيداً، تفعيل Redis object caching عادةً يتم بنقرة واحدة. بمجرد تشغيله يعمل بشكل شفاف. معدل نجاح الذاكرة المؤقتة الصحي فوق 80% يعني أن قاعدة البيانات تؤدي جزءاً صغيراً من عملها السابق، وصفحات منتجاتك تُحمَّل بشكل أسرع ملحوظ.

4. تأجيل وتأخير JavaScript

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

تأجيل JS يعني أن السكريبتات تُحمَّل بعد HTML الأولي. تأخير JS يذهب خطوة أبعد، إذ يُمسك السكريبتات حتى يتفاعل المستخدم بالتمرير أو النقر. كلا الأسلوبين يقلل Total Blocking Time ويحسّن درجة LCP دون إخلال بالوظائف.

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

5. إزالة CSS غير المستخدم باستخدام RUCSS

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

أدوات Remove Unused CSS (RUCSS) تحلل كل نوع صفحة وتولّد ملف CSS مختصراً يحتوي فقط على القواعد المطبّقة فعلاً على تلك الصفحة. صفحة منتج WooCommerce تنتهي بملف CSS أخف، مما يعني تحليلاً وعرضاً أسرع.

هذا يتكامل جيداً مع Critical CSS، حيث تُضمَّن الأنماط اللازمة فقط للمحتوى المرئي فوق الطية وتُؤجَّل الباقي. معاً يصنعان فرقاً كبيراً في وقت التحميل المُدرَك، خاصة على الأجهزة المحمولة. للاطلاع على تفاصيل أعمق حول CSS والعرض، راجع كيف يجعل تحسين مسار العرض الحيوي صفحتك مرئية بشكل أسرع.

6. تقليل المنتجات ذات الصلة والعروض التكميلية

صفحات منتجات WooCommerce غالباً تعرض منتجات ذات صلة وعروضاً ترقية وعروضاً تكميلية في أسفل الصفحة. كل هذه الكتل تُطلق استعلامات قاعدة بيانات إضافية وتحمّل مزيداً من الصور.

لديك بعض الخيارات دون الحاجة لكود:

  • تقليل عدد المنتجات ذات الصلة المعروضة (4 بدلاً من 8 يقلل عبء الاستعلام إلى النصف تقريباً)
  • تعطيل المنتجات ذات الصلة كلياً إن لم تكن تساهم في التحويلات
  • تفعيل التحميل الكسول لقسم المنتجات ذات الصلة بحيث لا يُعرض إلا بعد محتوى المنتج الرئيسي

إضافات مثل YITH WooCommerce Product Add-Ons وRelated Products for WooCommerce تمنحك التحكم في هذا دون أي كود.

7. تفعيل Page Caching

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

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

إذا أردت فهم الذاكرة المؤقتة بشكل أعمق، فإن كيفية استخدام إضافات الذاكرة المؤقتة دون الإضرار بموقع WordPress عن طريق الخطأ يستعرض المشكلات الشائعة وكيفية تجنبها.

إضافات موصى بها لتحسين سرعة WooCommerce

بعض الإضافات المفيدة لتحسين WooCommerce دون كود:

  • LiteSpeed Cache أو WP Rocket - إضافات أداء متكاملة مع إعدادات مخصصة لـ WooCommerce
  • Smush أو ShortPixel - ضغط الصور بالجملة وتحويلها إلى WebP
  • Query Monitor - إضافة مجانية تعرض استعلامات قاعدة البيانات البطيئة وأوقات تحميل الإضافات (رائعة للتشخيص)
  • WooCommerce Booster Plus - تتيح لك تعطيل سكريبتات وميزات WooCommerce التي لا تستخدمها

ماذا تعني صفحة منتج أسرع لمتجرك

تحسين سرعة ووردبريس بمقدار ثانية واحدة في وقت تحميل صفحة المنتج يترجم مباشرةً إلى معدل تحويل أعلى. تُظهر الدراسات باستمرار أن الصفحات التي تُحمَّل في أقل من ثانيتين تحوّل بمعدل أعلى بشكل ملحوظ مقارنة بتلك التي تستغرق 4 ثوانٍ أو أكثر. لمتجر إلكتروني، هذا ليس مقياس أداء فحسب، بل هو عائد مالي مباشر.

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

للاطلاع على نظرة أشمل حول تأثير بيئة الاستضافة على سرعة WooCommerce، راجع نظرتنا العامة على سرعة WordPress والذاكرة المؤقتة على مستوى الخادم.