אופטימיזציית ביצועים ל-PrestaShop
בחנות PrestaShop 8.x טיפוסית עם למעלה מ-2000 מוצרים, TTFB נע בין 1.5 ל-4 שניות. זה דוחף את Core Web Vitals לאזור האדום: LCP עולה על 4 שניות, ו-CLS מצטבר מתמונות לא דחוסות. בעלים מתלוננים על פאנל ניהול איטי וקפיאות במהלך עדכוני קטלוג. התצורה ברירת המחדל כוללת קומפילציית Smarty ללא מטמון, ORM עם שאילתות N+1, ומטמון מבוסס קבצים. בנינו מחדש עשרות חנויות כאלה: הסטack הנכון—Redis, OPcache, אינדקסי MySQL מותאמים, ו-nginx מתאים—מספק TTFB של 200–500 אלפיות השנייה. במהלך השנים, השלמנו יותר מ-30 פרויקטים להאצת PrestaShop, ואנו מבטיחים תוצאות. הבעיה מחמירה עם עליית עומס השרת: כל שנייה נוספת של זמן טעינה מפחיתה את ההמרה ב-2% (מחקר של Google).
למה PrestaShop מאטה בתצורת ברירת מחדל
התקנת PrestaShop סטנדרטית נותנת עדיפות לרבגוניות על פני מהירות. צווארי בקבוק:
- תבניות Smarty מתקמפלות ללא מטמון—כל בקשה בונה מחדש תבניות.
- CCC (Combine, Compress, Cache) לא מופעל כברירת מחדל—CSS ו-JS נטענים בנפרד.
- מטמון קבצים איטי עם מספר גדול של מוצרים.
- שאילתות מסד נתונים חסרות אינדקסים בטבלאות מפתח (
ps_product_lang,ps_category_product,ps_search_word).
אבחנו חנות עם 5000 מוצרים: דף קטגוריה נטען ב-3.2 שניות. לאחר הגדרת Redis, הפעלת CCC, והוספת אינדקסים, הזמן ירד ל-0.4 שניות—זה פי 8 מהר יותר.
איך להאיץ את PrestaShop
- הפעל מטמון מובנה — הפעל מטמון Smarty, CCC, ומיניפיקציה.
- עבור ל-Redis — החלף מטמון קבצים ב-Redis. אינטגרציית Redis PrestaShop פשוטה ומספקת מטמון מהיר פי 5 מאחסון מבוסס קבצים.
- בצע אופטימיזציה למסד הנתונים — הוסף אינדקסים, הגדר יומן שאילתות איטיות.
- הגדר OPcache — הקצה 256MB ו-20000 קבצים.
- הפעל WebP — הפחת את גודל התמונות ב-25–40%.
- בצע ביקורת מודולים — השבת מודולים שאינם בשימוש, במיוחד SEO וצ'אט חי.
מטמון PrestaShop מובנה
Admin > Advanced Parameters > Performance — לוח האופטימיזציה הראשי. Smarty:
- קומפילציית תבניות: לעולם אל תקמפל מחדש קבצי תבנית
- מטמון: כן
- אופטימיזציות מרובות חזיתות: כן
- ניקוי מטמון: לעולם אל תנקה קבצי מטמון
CCC:
- מטמון חכם לגיליונות סגנון: כן
- מטמון חכם ל-JavaScript: כן
- אופטימיזציית Apache: כן (מייצר כללי
.htaccess) - מיניפיקציית HTML: כן
שרתי מדיה — ציין דומיין CDN לתוכן סטטי, אם נעשה בו שימוש.
Memcache/Redis כמנגנון מטמון
מעבר ממטמון קבצים ל-Redis מניב שיפור של 30–50%. תצורה: Admin > Advanced Parameters > Performance > Caching — בחר את המערכת, הוסף שרת 127.0.0.1:6379. עבור Redis, בנוסף ב-config/config.inc.php:
define('_PS_CACHE_ENABLED_', '1'); define('_PS_CACHING_SYSTEM_', 'CacheRedis'); define('_PS_CACHE_ENABLED_', '1'); define('_PS_CACHING_SYSTEM_', 'CacheRedis'); ב-PrestaShop 8 עובד דרך CacheRedis. שימוש בתוסף Predis מהיר ב-15–20%. השוואת שיטות מטמון:
| שיטה | TTFB | מורכבות התקנה | אמינות |
|---|---|---|---|
| מטמון קבצים | 1.5–3 שניות | נמוכה | בינונית |
| Redis | 200–500 אלפיות השנייה | בינונית | גבוהה |
| Memcache | 300–600 אלפיות השנייה | בינונית | גבוהה |
PHP OPcache
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
opcache.revalidate_freq=0
opcache.interned_strings_buffer=32
opcache.fast_shutdown=1
ל-PrestaShop יש בסיס קוד גדול—phpredis הוא חובה; ברירת המחדל של 10000 אינה מספיקה.
MySQL: אינדקסים ויומן איטי
ALTER TABLE ps_product_lang ADD INDEX idx_id_lang (id_lang, id_product);
ALTER TABLE ps_category_product ADD INDEX idx_id_category_pos (id_category, position);
ALTER TABLE ps_search_word ADD INDEX idx_word (word(50));יומן שאילתות איטיות:
[mysqld] slow_query_log = 1 slow_query_log_file = /var/log/mysql/prestashop-slow.log long_query_time = 1 log_queries_not_using_indexes = 1 אשם טיפוסי הוא שאילתת opcache.enable=1 opcache.memory_consumption=256 opcache.max_accelerated_files=20000 opcache.validate_timestamps=0 opcache.revalidate_freq=0 opcache.interned_strings_buffer=32 opcache.fast_shutdown=1 עם מיון לפי max_accelerated_files=20000 ללא אינדקס על ALTER TABLE ps_product_lang ADD INDEX idx_id_lang (id_lang, id_product); ALTER TABLE ps_category_product ADD INDEX idx_id_category_pos (id_category, position); ALTER TABLE ps_search_word ADD INDEX idx_word (word(50)); . הוספת אינדקס מפחיתה את זמן השאילתה מ-2 שניות ל-10 אלפיות השנייה.
מודולים והשפעתם על המהירות
כל מודול פעיל מוסיף הוקים. אבחון: הפעל זמנית [mysqld] slow_query_log = 1 slow_query_log_file = /var/log/mysql/prestashop-slow.log long_query_time = 1 log_queries_not_using_indexes = 1 ב-getProducts()—מופיע פס Debugger המציג זמן ביצוע לכל הוק.
קטגוריות מודולים בעייתיות:
- מודולי SEO—לעיתים קרובות מבצעים 3–10 שאילתות נוספות לכל דף.
- מודולי צ'אט חי—טוענים סקריפטים חיצוניים באופן סינכרוני.
- מודולי ביקורות—שאילתות COUNT ללא מטמון לכל מוצר ברשימה.
לאחר השבתת מודולים מיותרים, עומס השרת יורד בחצי.
תצורת Nginx
# Статика
location ~* \.(jpg|jpeg|png|webp|gif|ico|svg|woff2|css|js)$ {
expires 1y;
add_header Cache-Control "public, immutable";
access_log off;
try_files $uri =404;
}
# Gzip
gzip on;
gzip_types text/plain text/css application/json application/javascript image/svg+xml;
gzip_comp_level 5;
gzip_min_length 512;
gzip_vary on;
# Запрет прямого обращения к классам PrestaShop
location ~* \.(log|tpl|twig|sass|yml|lock)$ {
deny all;
} WebP ותמונות
PrestaShop 1.7.7+ תומך ב-WebP: sales — הפעל פורמטי WebP. גודל התמונה יורד ב-25–40%. בדף רשימה של 24 מוצרים, זה חוסך 500–800 KB. לאחר ההפעלה, צור מחדש תמונות ממוזערות.
פרטי יצירת תמונות ממוזערות מחדש
ליצירה מחדש: `php bin/console prestashop:generate:thumbnails --type=all`מה כלול בעבודת האופטימיזציה?
אופטימיזציית PrestaShop המקיפה שלנו כוללת את השלבים והתוצרים הבאים:
| שלב | מה אנחנו עושים | כלים |
|---|---|---|
| ניתוח | מדידת TTFB, LCP, CLS, יומן איטי | Lighthouse, Blackfire, יומן שאילתות איטיות |
| הגדרת מטמון | Redis, OPcache, Smarty | phpRedisAdmin, opcache-gui |
| אופטימיזציית מסד נתונים | אינדקסים, ניקוי | phpMyAdmin, mysqltuner |
| CCC ו-WebP | הפעלה, יצירה מחדש | ImageMagick, gulp |
| מודולים | ביקורת, השבתה | פס Debugger, פרופילר |
| Nginx | הגדרת קבצים סטטיים, gzip | nginx -t, Certbot |
| בדיקה | מדידה חוזרת, השוואה | Lighthouse, WebPageTest |
תוצרים
- תיעוד מפורט של כל השינויים
- גישה לדוחות ביצועים וללוחות מחוונים
- מפגש הדרכה לצוות על שמירת מהירות
- 7 ימי תמיכה לאחר האופטימיזציה
תוצאה: TTFB יורד ל-200–500 אלפיות השנייה, LCP נכנס לאזור הירוק של Core Web Vitals. אתה מקבל דוח עם המלצות ואחריות על העבודה שבוצעה.
ניסיון ואחריות
לצוות שלנו ניסיון רב שנים בפיתוח אתרים והשלים למעלה מ-50 פרויקטי אופטימיזציה למסחר אלקטרוני. אנו משתמשים רק במתודולוגיות מוכחות ומספקים אחריות כתובה על התוצאה. צור קשר לביקורת PrestaShop. קבל ייעוץ והתחל באופטימיזציה היום.
לוח זמנים ועלות
לוח זמנים: בין 2 ל-5 ימים תלוי במורכבות. העלות מחושבת בנפרד לאחר הביקורת. אופטימיזציית המהירות למסחר אלקטרוני שלנו מתחילה מ-$500 ויכולה להגדיל את ההכנסות ב-20% בהתבסס על שיפורי המרה. עבור חנות עם הכנסה חודשית של $50,000, זה תוספת של $10,000 לחודש.
שפר את מהירות PrestaShop שלך היום. התמקד באופטימיזציית מסד נתונים של PrestaShop ובשיפורי ביצועי PrestaShop 8 כדי למקסם את מהירות טעינת החנות. הבטח ש-TTFB של PrestaShop שלך יהיה מתחת ל-200 אלפיות השנייה עם השיטות המוכחות שלנו.







