إزاي تسرّع Magento 2 في 2026؟ Checklist متراجعة على توثيق Adobe
أسرع طريقة لتسريع Magento 2 إنك تشتغل بالترتيب: حدّث للإصدارات المدعومة، شغّل الـ production mode، حط Varnish قدّام المتجر و Valkey للكاش والـ sessions، ظبّط الـ OPcache وذاكرة قاعدة البيانات، خلّي الـ indexers على Update by Schedule، قلّل الـ JavaScript وحجم الصور، وقيس النتيجة ببيانات Core Web Vitals الحقيقية مش بدرجة PageSpeed بس.
أسرع طريقة لتسريع Magento 2 إنك تمشي بالترتيب: الإصدارات المدعومة، ثم الـ production mode، ثم الكاش (Varnish و Valkey)، ثم PHP وقاعدة البيانات، وفي الآخر الـ JavaScript والصور. وبعد كل خطوة بتقيس ببيانات زوّار حقيقيين، مش بدرجة PageSpeed لوحدها.
كل نقطة هنا متراجعة على توثيق Adobe أو الكود المصدري لـ Magento. الكلام على Magento Open Source و Adobe Commerce المتثبّتين على سيرفراتك، أما Adobe Commerce on Cloud فبيستخدم Fastly وليه إعدادات مختلفة.
إيه اللي بيأثّر أكتر على سرعة Magento؟
| الخطوة | بتحسّن إيه | الأمر أو المكان |
|---|---|---|
| الإصدارات المدعومة | أداء PHP والخدمات والأمان | جدول متطلبات Adobe |
| الـ production mode | DI متجهّز مسبقًا وملفات static جاهزة | bin/magento deploy:mode:set production |
| Varnish | صفحات من غير PHP، يعني TTFB أقل | bin/magento varnish:vcl:generate |
| Valkey | كاش و sessions في الذاكرة | bin/magento setup:config:set |
| OPcache | سرعة تنفيذ PHP | php.ini |
| الـ indexers على Schedule | حفظ أسرع في الأدمن | bin/magento indexer:set-mode schedule |
| الـ JS والـ CSS | LCP و INP | bin/magento config:set dev/... |
| الصور | LCP و CLS | bin/magento catalog:images:resize --async |
أنهي إصدارات لازم تكون عليها في 2026؟
- Magento 2.4.9: PHP 8.5، و MariaDB 12.3 أو MySQL 8.4، و OpenSearch 3، و Valkey 9، و Varnish 8.
- آخر patch من 2.4.8: PHP 8.4 أو 8.3، و MariaDB 11.4 أو 11.8 أو MySQL 8.4، و OpenSearch 3، و Valkey 8.1.
- خدمات انتهى دعمها: MySQL 8.0 انتهى دعمه 30 أبريل 2026، و Elasticsearch 7.17 انتهى 15 يناير 2026، و Elasticsearch كله deprecated في Magento من 2.4.8.
- 2.4.6: الدعم العادي خلص 11 أغسطس 2026، والدعم الممتد لحد 31 أغسطس 2027.
إزاي تشغّل Magento في الـ production mode صح؟
الـ production mode بيستخدم DI متجهّز مسبقًا بدل ما يولّده وقت الطلب، و Adobe بتقول إن ده بيوفّر لحد 25% من وقت معالجة الطلب. وده ترتيب الـ deployment اللي Adobe بتوصي بيه:
composer install --no-dev
bin/magento setup:di:compile
composer dump-autoload -o --apcu
bin/magento setup:static-content:deploy -j 4-jبيحدد عدد العمليات المتوازية، والافتراضي 0 يعني من غير توازي.- الـ static deploy مابيشتغلش غير في الـ production mode إلا لو ضفت
-f. bin/magento deploy:mode:set productionبيدخّل المتجر maintenance mode ويعمل الـ compile والـ deploy لوحده.
إزاي تكاش الصفحات والبيانات؟
- الصفحات: Varnish قدّام Magento هو توصية Adobe للـ production. الخطوات كاملة في مقال إعداد Varnish كـ Full Page Cache.
- الكاش والـ sessions: على Valkey بالإصدار المطلوب لإصدارك، والأوامر في مقال التحويل من Redis لـ Valkey.
- أنواع الكاش: من System › Tools › Cache Management اتأكد إنها كلها Enabled، أو بـ
bin/magento cache:status. كاش Magento على السيرفر، مش في متصفح العميل.
ولو عايز تفهم إزاي الكاش والـ queues والـ indexing بيشتغلوا مع بعض تحت الضغط، ارجع لـ درس Redis و RabbitMQ و Indexing.
إيه إعدادات PHP و OPcache اللي Adobe بتوصي بيها؟
memory_limit=1G
realpath_cache_size=10M
realpath_cache_ttl=7200
opcache.memory_consumption=512
opcache.max_accelerated_files=60000
opcache.validate_timestamps=0
opcache.enable_cli=1- سيب
opcache.save_commentsمفعّل، لأن Magento بيعتمد على الـ comments في توليد الكود. - مع
validate_timestamps=0، PHP مش هيلاحظ الملفات الجديدة لوحده: أعد تشغيل PHP-FPM بعد كل deploy. - طبّق نفس الإعدادات على php.ini بتاع الـ CLI وبتاع FPM.
إزاي تظبط قاعدة البيانات والبحث؟
- الذاكرة: على سيرفر قاعدة بيانات مخصوص،
innodb_buffer_pool_sizeممكن يوصل لحوالي 80% من الرام عشان الجداول والـ indexes تفضل في الذاكرة. - الـ query cache: ماتضيّعش وقت في
query_cache_size، لأنه اتشال من MySQL 8.0. - البحث: OpenSearch 3 على سيرفر منفصل، وبعد تغيير محرك البحث شغّل
bin/magento indexer:reindex catalogsearch_fulltext. - الـ Flat Catalog: سيبه مقفول. Adobe بتقول إنه مابقاش best practice من 2.3.x.
إزاي تظبط الـ indexers والـ cron؟
bin/magento indexer:set-mode schedule
bin/magento cron:install- الـ Update by Schedule بيفصل حفظ المنتج عن الـ reindex، والـ cron بيعالج التغييرات على دفعات. Adobe بتوصي تسيب Customer Grid على Update on Save.
- في الكتالوجات الكبيرة، Adobe بتقول إن تقليل
batchRowsCountمن 5000 لـ 1000 قلّل reindex كامل لكتالوج B2B من 4 ساعات لساعتين. - فعّل إرسال الإيميلات بشكل غير متزامن من Stores › Settings › Configuration › Sales › Sales Emails › General Settings › Asynchronous Sending.
تفاصيل الـ modes و MView في درس الـ Indexers.
إزاي تقلّل الـ JavaScript والـ CSS؟
قسم الـ Developer بيختفي من الأدمن في الـ production mode، فالإعدادات دي بتتعمل من الـ CLI:
bin/magento config:set dev/js/minify_files 1
bin/magento config:set dev/css/minify_files 1
bin/magento config:set dev/template/minify_html 1
bin/magento config:set dev/css/use_css_critical_path 1- ماتدمجش الملفات لو عندك HTTP/2: Adobe بتعتبر الـ merge deprecated.
- الـ JS bundling المدمج fallback مش حل: بيحمّل كل الـ bundles في أول زيارة، و Adobe بتفضّل HTTP/2 أو advanced bundling.
- الـ critical CSS محتاج ملف
web/css/critical.cssفي الـ theme، و Luma جاي بواحد. - Magento 2.4.9 ضاف
dev/js/defer_non_criticalلتأجيل الـ scripts غير الأساسية. - Hyvä بقى مجاني ومفتوح المصدر من 10 نوفمبر 2025، وبيشيل RequireJS و Knockout من الواجهة.
إزاي RequireJS والـ layout بيحمّلوا الملفات أصلًا متشرح في درس الـ Frontend.
إزاي تحسّن الصور؟
- Magento بيضيف
loading="lazy"لصور صفحات الـ categories لوحده. ماتعملش lazy للصورة الأساسية اللي فوق: web.dev لقى إن الصفحات اللي بتعمل كده متوسط الـ LCP فيها 3,546 مللي ثانية مقابل 2,922 من غيرها. - جهّز أحجام الصور مسبقًا بـ
bin/magento catalog:images:resize --asyncمع الـ consumer اسمهmedia.storage.catalog.image.resize. - Magento مابيحوّلش لـ WebP لوحده: استخدم خدمة صور في الـ CDN أو خطوة build. حسب Google، WebP أصغر من JPEG بـ 25 لـ 34%.
- حط الـ CDN في Base URL for Static View Files و Base URL for User Media Files، في Base URLs و Base URLs (Secure) الاتنين.
إزاي تعرف إن المتجر اتسرّع فعلًا؟
- Core Web Vitals من بيانات حقيقية على الـ 75th percentile، للموبايل والديسكتوب كل واحد لوحده: LCP ≤ 2.5 ثانية، و INP ≤ 200 مللي ثانية، و CLS ≤ 0.1.
- TTFB مؤشر مساعد، مش من Core Web Vitals، و web.dev بيعتبر 0.8 ثانية أو أقل كويس كتقدير عام.
- درجة PageSpeed قياس معمل، مش تقييم Core Web Vitals نفسه.
- اختبر كذا حالة: زائر ومسجّل دخول، على موبايل وديسكتوب.
- الفرق بيبان في المبيعات: Vodafone حسّنت الـ LCP بنسبة 31% وزادت مبيعاتها 8%.
وإزاي السرعة بتتقاطع مع الـ SEO من أول يوم متشرح في درس الـ SEO في Magento. ولو عايز تعرف أنهي نصايح منتشرة بطّلت تنفع، شوف مقال النصايح القديمة لتسريع Magento.
Checklist تسريع Magento 2
- Magento و PHP والخدمات على إصدارات مدعومة حسب جدول Adobe
- المتجر في الـ production mode، والـ deploy بـ
--no-devوsetup:di:compile - Varnish شغّال كـ Full Page Cache
- الكاش والـ sessions على Valkey في instances أو databases منفصلة
- OPcache بقيم Adobe، و PHP-FPM بيتعمله reload بعد كل deploy
-
innodb_buffer_pool_sizeمتظبط، ومفيش query cache - OpenSearch 3، والـ Flat Catalog مقفول
- الـ indexers على Update by Schedule والـ cron شغّال
- minify مفعّل، والـ merge مقفول مع HTTP/2
- صورة الـ LCP مش lazy، والصور متجهّزة مسبقًا
- Core Web Vitals بتتقاس من بيانات حقيقية بعد كل تغيير
المصادر
المعلومات التقنية في المقال اتراجعت على المصادر دي:
- Adobe — System requirements
- Adobe — Release versions and support dates
- Adobe — Performance best practices: deployment flow
- Adobe — Performance best practices: software recommendations
- Adobe — Performance best practices: configuration
- Adobe — Optimize CSS and JavaScript files
- Adobe — Advanced JavaScript bundling
- Adobe — Critical CSS path
- Adobe — Flat catalog
- Adobe — Catalog image resizing
- web.dev — Defining the Core Web Vitals thresholds
- web.dev — Lazy loading and LCP
- web.dev — Vodafone case study
- Google — WebP
أسئلة شائعة
إيه أول خطوة لتسريع متجر Magento 2؟
لو المتجر مش شغّال في الـ production mode ومن غير Varnish، ابدأ بيهم. الـ production mode بيستخدم DI متجهّز مسبقًا وملفات static جاهزة، و Varnish بيقدّم الصفحات المتخزّنة من غير ما الطلب يوصل لـ PHP.
هل أفعّل Merge JavaScript Files في Magento 2؟
لأ لو السيرفر بيدعم HTTP/2. Adobe بتعتبر دمج الملفات deprecated ومالوش فايدة مع HTTP/2، والأفضل تفعّل الـ minify بس بـ bin/magento config:set dev/js/minify_files 1.
هل الـ Flat Catalog بيسرّع Magento 2؟
Adobe بتقول إن استخدام الـ flat catalog مابقاش best practice من إصدارات 2.3.x وأحدث، والإعدادين بتوعه مقفولين افتراضيًا. Magento بيعتمد بدله على جداول الـ index و OpenSearch.
إيه قيم Core Web Vitals اللي متجر Magento المفروض يوصلها؟
حسب web.dev: LCP أقل من أو يساوي 2.5 ثانية، و INP أقل من أو يساوي 200 مللي ثانية، و CLS أقل من أو يساوي 0.1، والقياس على الـ 75th percentile من بيانات الزوار الحقيقيين للموبايل والديسكتوب كل واحد لوحده.
إزاي أظبط الـ OPcache لـ Magento 2؟
Adobe بتوصي بـ opcache.memory_consumption=512 و opcache.max_accelerated_files=60000 و opcache.validate_timestamps=0 و opcache.enable_cli=1. سيب opcache.save_comments مفعّل، وأعد تشغيل PHP-FPM بعد كل deploy عشان الكود الجديد يتقرا.