المتجر البطيء يخسر مبيعات في كل مرحلة: صفحة فئة تتأخر، صفحة منتج تظهر على أجزاء، سلة تحتاج إلى عدة ثوانٍ لتُحدَّث. ولتسريع متجر PrestaShop، لا يكفي تثبيت وحدة «أداء» إضافية: يجب أولًا معرفة ما الذي يبطّئ المتجر فعلًا. إليك الحلول التي أتحقق منها، بدءًا بتلك الأكثر مردودية.
تسريع PrestaShop يبدأ بالقياس
قبل تغيير أي شيء، قِس زمن استجابة الخادم ومؤشرات Core Web Vitals على أربعة أنواع من الصفحات: الرئيسية، والفئة، وصفحة المنتج، والسلة. وفي بيئة ما قبل الإنتاج، يُظهر وضع التحليل في PrestaShop (الثابت _PS_DEBUG_PROFILING_) الوقت المستغرق في كل وحدة وكل hook وكل استعلام SQL: إنه الأداة الأثمن للعثور على المتسبّب.
إعدادات التخزين المؤقت والأداء
في قائمة الإعدادات المتقدمة > الأداء، هناك عدة خيارات ذات تأثير كبير:
- يجب تعطيل وضع التصحيح (debug) على المتجر الفعلي: فهو يبطّئ المتجر بشكل كبير وقد يكشف معلومات حساسة.
- يجب ضبط ترجمة القوالب على خيار «عدم إعادة ترجمة ملفات القوالب أبدًا»، مع تفعيل التخزين المؤقت لـ Smarty.
- دمج ملفات CSS وJavaScript وضغطها (CCC) يقلّل عدد الملفات المحمّلة؛ لكن اختبر النتيجة، لأن بعض الوحدات لا تتلاءم جيدًا مع الدمج.
- على مستوى الخادم، يخفّف OPcache الخاص بـ PHP والتخزين المؤقت للكائنات (Redis أو Memcached، إن سمحت الاستضافة بذلك) من عبء كل طلب.
فرز الوحدات
كل وحدة مرتبطة بـ hooks العرض تضيف شيفرة واستعلامات SQL، وغالبًا ملفات CSS وJavaScript، إلى كل الصفحات. وفي المتاجر التي أدقّقها، تُعدّ الوحدات المصدر الأول للبطء.
- أزل تثبيت الوحدات غير المستعملة، ولا تكتفِ بتعطيلها، بما في ذلك الوحدات الأصلية التي لا تحتاجها.
- حدّد بفضل التحليل الوحدات الأكثر استهلاكًا للموارد وابحث عن بديل أخفّ.
- احذر من الوحدات التي تتصل بخدمة خارجية عند كل عرض للصفحة.
- تحقّق من إعدادات البحث بالمرشّحات (faceted search): تفعيل التخزين المؤقت وتحديث الفهرس، فهي غالبًا سبب بطء صفحات الفئات في الكتالوجات الكبيرة.
تحسين الصور
تمثّل صور المنتجات الجزء الأكبر من وزن الصفحات. تأكّد من أن أنواع الصور المعرّفة في إعدادات الصور في لوحة الإدارة تطابق الأحجام التي يعرضها القالب فعلًا، واحذف الأنواع غير المستعملة، وأعد توليد الصور المصغّرة. والإصدارات الحديثة من PrestaShop قادرة على توليد صور بصيغة WebP، بل وAVIF أيضًا؛ وإلا فيمكن الاعتماد على وحدة أو على التحويل من جهة الخادم. وأخيرًا، فعّل التحميل المؤجَّل للصور الموجودة أسفل الجزء الظاهر من الشاشة.
الاستضافة وإصدار PHP
لا يمكن لأي إعداد أن يعوّض خادمًا ضعيف الموارد. يحتاج متجر PrestaShop إلى إصدار PHP مدعوم ومتوافق مع فرعه، وذاكرة كافية، وتخزين SSD أو NVMe، وقاعدة بيانات MySQL أو MariaDB مضبوطة بشكل صحيح. ونادرًا ما تكفي الاستضافة المشتركة البسيطة لما يتجاوز كتالوجًا صغيرًا. وإذا كان عملاؤك في فرنسا والجزائر معًا، فاختر خادمًا قريبًا من أغلبهم، وفكّر في استعمال شبكة توصيل المحتوى (CDN) للملفات الثابتة.
تنظيف قاعدة البيانات
بعض الجداول تكبر دون توقف: إحصائيات الاتصالات والزوّار (ps_connections وps_guest)، والصفحات غير الموجودة، والسجلات، والسلال المتروكة القديمة. والجداول التي تضم ملايين الأسطر تبطّئ النسخ الاحتياطي ولوحة الإدارة، وأحيانًا المتجر نفسه. وبعد إنشاء نسخة احتياطية كاملة، احذف البيانات القديمة التي لا قيمة لها، وعطّل وحدات الإحصائيات التي لا تطّلع عليها. ولا تحذف أبدًا السلال المرتبطة بطلبات.
وماذا عن التخزين المؤقت الكامل للصفحات؟
يمكن للتخزين المؤقت الكامل للصفحات، عبر وحدة مخصصة أو عبر خادم وسيط مثل Varnish، أن يحسّن الأداء بشكل جذري. لكن يجب أن يتعامل بشكل صحيح مع السلة، والعملاء المسجّلين، والأسعار الخاصة، والعملات: فإذا كان مضبوطًا بشكل سيئ، فقد يعرض لعميل معلومات عميل آخر. إنها الخطوة الأخيرة، بعد معالجة الحلول الأخرى، وتُختبر دائمًا في بيئة ما قبل الإنتاج.
هل تريد معرفة ما الذي يبطّئ متجرك؟ التدقيق السريع (290 € خارج الرسوم، 30 000 دج في الجزائر) يراجع الأداء والأمان والإصدارات ويقدّم لك 10 إجراءات ذات أولوية. ولتشخيص معمّق مع خطة عمل مقدَّرة التكلفة، فإن التدقيق التقني الشامل بسعر 690 € خارج الرسوم (70 000 دج).