
Оптимізація швидкості Magento 2 – це один із кроків, які робить кожен власник магазину, коли трафік падає, показники відмов зростають, а коефіцієнти конверсії не збільшуються. Все це тому, що продуктивність веб-сайту є життєво важливим фактором, який впливає не лише на SEO та трафік, а й на рішення про покупку.
Однак, чи варто чекати до Швидкість Magento сповільнюється ? Набагато краще діяти зараз, щоб забезпечити швидке та зручне середовище постійно.
Отже, у цьому посібнику ви знайдете 23 практичні поради щодо пришвидшення Magento 2 як частину Найкращі практики SEO для Magento .
Чому Magento повільний?
Перш ніж ми заглибимося в поради щодо оптимізації швидкості Magento, нам потрібно з'ясувати, чому Magento взагалі повільний? Це одна з найкращих CMS, яку люди обирають за її унікальну функціональність, виняткові можливості та, очевидно, швидкість.
Так, Magento з даними-прикладами справді швидкий. Але як тільки ви починаєте додавати Extra функції, налаштування та сторонні модулі, він починає падати. Отже, давайте розглянемо основні причини, чому це відбувається.
- Неадекватний хостинг — як ми вже говорили раніше, хостингу, який ви обираєте на початку своєї подорожі електронною комерцією, може бути достатньо. Але як тільки ви масштабуєте свій веб-сайт, вам знадобиться більше ресурсів та підтримки. Таким чином, оптимізація швидкості вимагатиме вибору хостингу Magento, який забезпечує достатній обсяг SSD-сховища, оперативної пам'яті та SSL-сертифікатів, адаптованих до потреб вашого магазину.
- Погано налаштований кеш — кешування переносить ресурсомісткі завдання з сервера. Відповідно, це допомагає ефективніше використовувати ресурси сервера. А оскільки час відгуку сервера значною мірою залежить від кількості запитів, які ви надсилаєте до нього, та наявних у вас ресурсів, погано налаштований кеш є проблемою. Він подовжить час завантаження, що вплине на взаємодію з користувачем.
- Тема та розширення, «перевантажені кодом» — хоча різні теми та розширення спрямовані на покращення взаємодії з вашим магазином, вони можуть негативно вплинути на швидкість роботи веб-сайту. Вони додають новий код та функції до вашого магазину, що може спричинити конфлікти та уповільнення в довгостроковій перспективі. Якщо ви будете обережні з вибором нового розширення або теми для свого магазину, ви запобіжите можливим проблемам у майбутньому.
Це найпоширеніші причини повільної роботи Magento. Однак, все ще існує безліч дрібних речей, які уповільнюють роботу вашого магазину. Щоб їх виявити, вам потрібно перевірити швидкість вашого веб-сайту. На щастя, кілька безкоштовні інструменти для перевірки швидкості допоможуть у цьому.
Ви можете почати з Google PageSpeed Insights та GTmetrix як найпоширеніших. Вони надають стислий звіт про продуктивність разом із порадами, які ви можете використовувати для пришвидшення Magento.
Кроки для пришвидшення Magento 2
Щойно ви дізнаєтеся, що уповільнює ваш веб-сайт, ви можете зосередитися на наступних порадах. Не соромтеся пропустити деякі кроки та спочатку вирішити найважливіші проблеми, згідно зі звітом про тест швидкості.
1. Оновіть Magento до останньої версії
Один з перших кроків, які ви можете зробити для пришвидшення Magento 2, - це регулярне його оновлення. Нові випуски виходять раз на три місяці та містять багато нових функцій, виправлень помилок, покращень платформи та швидкості.
Не слід нехтувати цим та використовувати застарілі версії, оскільки рано чи пізно це призведе до серйозних проблем. Тому завантажити останню версію Magento регулярно оновлюйте, щоб забезпечити швидку та оптимізовану роботу вашого веб-сайту.
2. Змініть хостинг-провайдера
Magento — це складна платформа, яка має певні системні вимоги для належного функціонування. Обов'язковими вимогами є SSL та 2 ГБ оперативної пам'яті. Однак, це залежить від потреб вашого веб-сайту.
Ви можете вибрати спільний хостинг, який найкраще підходить для початківців. Однак не очікуйте швидкого завантаження веб-сайту від спільного хостингу та найдешевшого плану хостингу з обмеженими ресурсами.
Переконайтеся, що ваш Magento хостинг провайдер пропонує вам достатньо серверних ресурсів для розміщення певної кількості користувачів та обробки достатньої кількості запитів до сервера.
Крім того, оберіть хостинг, який надає вам можливість масштабування. Якщо ваш поточний хостинг не задовольняє ваші потреби Magento, подумайте про зміну Хостинг-провайдер Magento , щоб пришвидшити роботу вашого Magento.
Якщо ви не впевнені, чи є ваш поточний хостинг фактичним вузьким місцем, чи це щось глибше у вашому стеку, спеціалізовані агентства Magento, такі як 5MS , часто проводять швидкий огляд інфраструктури, перш ніж рекомендувати міграцію, що може заощадити вам час на переміщенні хостів, після чого виявляється, що справжня проблема полягала в кешеві або на рівні коду.
3. Перевірте сторонні розширення
Щоб бути в курсі останніх тенденцій та виділитися серед конкурентів, продавці вдаються до . Хоча вони спрощують деякі процеси, вони можуть використовувати багато ресурсів та впливати на час завантаження сторінки вашого веб-сайту.
Найкращим рішенням є регулярний аудит ваших розширень, щоб знайти «кривдника», якого ви можете або оптимізувати, або повністю видалити .
4. Використовуйте легкі теми Magento
Ви можете бути здивовані, але тема вашого веб-сайту також може значно уповільнити його роботу, особливо якщо вона має багато віджетів, слайдерів та користувацьких блоків. Тільки уявіть, скільки часу знадобиться для їх усіх завантаження.
Отже, це погано в усіх сенсах для користувачів веб-сайту з хорошим інтернет-з’єднанням і кошмарно для тих, у кого повільний інтернет. Це не тільки призводить до поганого досвіду клієнтів, але й може вплинути на інші функції Magento та погіршити ситуацію.
Перш ніж купувати тему, переконайтеся, що вона швидко працює в демо-версії, та протестуйте її за допомогою GooglePageSpeed для більш детального аналізу.
5. Видаліть непотрібні шрифти
Коли ви намагаєтеся покращити взаємодію з вашими клієнтами, ви досліджуєте безліч модних дизайнів, тем та шрифтів. Останній варіант може знизити швидкість завантаження сторінки, навіть якщо вони не використовуються.
Іноді трапляється, що ви додаєте якийсь власний шрифт до розділу <head> файлу конфігурації сторінки та забуваєте про нього. Незалежно від того, використовується шрифт чи ні, він все одно завантажується.
Отже, щоб пришвидшити Magento 2, ви можете видалити невикористовувані шрифти. GooglePageSpeed також пропонує це. Ви можете скористатися вичерпним посібником від Adobe для отримання додаткової інформації про видалення непотрібних шрифтів.
6. Оптимізація зображень
Щойно відвідувачі заходять на ваш веб-сайт, весь вміст сторінки завантажується одночасно. Існує багато зображень різних розмірів, які завантажуються деякий час, що призводить до затримки завантаження сторінки та веб-сайту загалом.
Таким чином, оптимізація швидкості Magento 2 неможлива без оптимізації зображень. Один з найкращих способів зробити це — через ліниве завантаження . Це метод завантаження зображень, коли вони завантажуються поступово, поки клієнти прокручують сторінку вниз. Відкладене завантаження усуває необхідність завантажувати всі зображення одночасно та надає їм пріоритет.
Це призводить до швидшого завантаження сторінки та кращого досвіду клієнтів.
7. Використовуйте оптимізований формат зображень
Оскільки зображення часто займають багато місця на вашому сервері, відкладене завантаження — не єдиний варіант оптимізації зображень для пришвидшення Magento. Вам також потрібно забезпечити гарне співвідношення між розміром зображення та його якістю. Отже, щоб зменшити розмір зображень без значної втрати якості, вам потрібно конвертувати зображення у WebP у Magento .
Це формат файлів наступного покоління, розроблений Google та підтримуваний більшістю браузерів. Він дозволяє зменшити розмір файлу на 25-35%, зберегти якість зображення та відповідно покращити швидкість завантаження Magento.
![]()
Оскільки WebP є відносно новою технологією, Magento не дозволяє додавати зображення, які вже є у форматі WebP, до Magento. Натомість ви можете використовувати розширення, таке як , для автоматичного або ручного перетворення зображень.
8. Вимкнення плоских каталогів
Плоскі каталоги Magento використовувалися для підвищення швидкості веб-сайту Magento завдяки меншій кількості SQL-запитів та консолідації даних. Фактично, це добре працювало для Magento 1.xx та 2.xx.
Однак виявилося, що це спричиняло появу важких залежностей та призводило до зниження продуктивності та інших проблем з індексацією. Ось чому використання плоских каталогів не є гарною практикою, починаючи з Magento 2.1.
Отже, один із способів покращити швидкість сайту Magento – це їх вимкнення.
Щоб вимкнути плоскі каталоги в Magento 2:
- Перейдіть до опцій Магазини > Конфігурація > Каталог > Каталог > Вітрина .
- Вимкнути Використовувати категорію плоского каталогу та Використовувати продукт плоского каталогу .
- Не забудьте Зберегти конфігурацію після завершення.
![]()
9. Вимкнути JS-пакетування
JS-пакетування має групувати JS-файли у великі пакети та зменшувати кількість HTTP-запитів до сервера, необхідних для завантаження сторінки. Однак це не покращує швидкість сайту Magento, а навпаки.
Сторінка веб-сайту не завантажується, доки браузер не завантажить усі JS-пакети, навіть якщо сторінка використовує файли з одного або двох пакетів. Більше того, Magento завантажує JS-пакети щоразу, коли браузер запитує нову сторінку.
А враховуючи, що JS-пакети в середньому розміром близько 5-10 Мб, це не найкращий спосіб покращити продуктивність сайту Magento.
Отже, інший спосіб пришвидшити Magento 2 – це вимкнути JS-пакетування:
- Перейдіть до Магазини > Налаштування > Додатково > Розробник > Налаштування JS .
- Вимкніть JavaScript Bundling .
![]()
10. Використовуйте розширене JS-пакетування
Оскільки використання звичайного Magento JS-пакетування не рекомендується через неефективність, існує альтернатива — розширене JS-пакетування.
Це дозволяє зменшити кількість HTTP-запитів до сервера та зменшити розмір JS-файлів, так само, як і звичайне JS-пакетування. Однак, розширене JS-пакетування усуває необхідність завантажувати всі пакети для всіх сторінок, запитуваних браузером.
Кожна сторінка має певний набір залежностей requireJS. Щоб задовольнити потреби кожної сторінки, вам не потрібні всі пакети, лише кілька з них.
Тому, щоб увімкнути розширене JS-пакетування, вам потрібно визначити пакети за типами сторінок (сторінки CMS, продукт, категорія, оформлення замовлення) або призначенням (функції доставки, функції оформлення замовлення, функції, пов'язані з продуктом).
Оскільки для однієї сторінки будуть завантажені лише деякі конкретні пакети, швидкість Magento значно зросте. Однак для веб-сайтів з глибокою модульною структурою та багатьма налаштуваннями може знадобитися професійне налаштування.
11. Увімкнути відкладене завантаження JS
Окрім CSS та HTML, під час завантаження сторінки завантажується багато JS-файлів. Все це сприяє повільному завантаженню веб-сайту, чого не люблять ні клієнти, ні продавці.
Щоб оптимізувати завантаження JS-файлів, ви можете використовувати відкладене завантаження JS . Це дозволяє виконати JS-скрипт після парсингу сторінки та відповідно збільшити швидкість роботи веб-сайту Magento.
Це означає, що всі скрипти будуть переміщені вниз сторінки, окрім скрипти, які ви не хочете переміщувати вниз .
12. Об'єднання та мінімізація JS/CSS-файлів
Існують інші способи пришвидшити Magento за допомогою JS та CSS. Magento має деякі вбудовані інструменти для об'єднання та мінімізації JS- та CSS-файлів.
Мінімізація дозволяє підтримувати JS- та CSS-файли «чистими», видаляючи непотрібні дані, такі як коментарі, порожні рядки тощо. Це дозволяє веб-браузерам швидше їх читати та відповідно швидше повертати запити сторінок клієнту.
З іншого боку, об'єднання JS та CSS дозволяє зменшити кількість HTTP-запитів до сервера, об'єднуючи JS- та CSS-файли.
Відомо, що ці два параметри покращують швидкість роботи сайту Magento. Тому рекомендується застосувати їх до інфраструктури веб-сайту:
1. Перейдіть до розділу Магазини > Налаштування > Додатково > Розробник .
2. Увімкніть параметри Мінімізувати файли Javascript та Об'єднати файли JavaScript у розділі Налаштування JavaScript .
![]()
3. Увімкніть параметри Мінімізувати файли CSS та Об'єднати файли CSS у розділах Налаштування CSS .
![]()
13. Використовуйте критичний CSS
Стилі CSS визначають, як виглядають сторінки вашого магазину. Однак вони також визначають швидкість завантаження сторінки. Окрім розміру та розташування, швидкість веб-сайту Magento залежить від порядку завантаження CSS-стилів.
Стилі CSS із зовнішніх файлів блокують рендеринг сторінки, тому сторінка не відображається, доки ці файли не будуть завантажені. Це призводить до значної затримки швидкості завантаження сторінки, не кажучи вже про користувацький досвід.
Використовуючи критичний CSS, ви визначаєте CSS-файли, які слід завантажувати першими, і ті, які можна відкласти. Таким чином, ви усуваєте ресурси, що блокують рендеринг, і значно покращуєте перше змістовне відображення. Водночас некритичні стилі перезавантажуються асинхронно.
Щоб налаштувати шлях до критичного CSS-файлу:
- Перейдіть до Магазини > Налаштування > Конфігурація > РОЗШИРЕНО > Розробник .
- Увімкнути Критичний шлях CSS .
![]()
Вкладка Розробник відображається лише в режимі розробки. Щоб увімкнути критичний CSS у продакшені, ви можете виконати таку команду:
bin/magento config:set dev/css/use_css_critical_path 1
14. Увімкнути продакшн-режим
Якщо ви розробник, то ви повинні знати, що існують три різні Режими Magento . Продакшн-режим є найшвидшим, і його завжди слід увімкнути на активному веб-сайті.
Іноді веб-сайти не працюють належним чином, оскільки ввімкнено режим розробника. Однак він використовується лише для налагодження. Переконайтеся, що продакшн-режим увімкнено, щоб пришвидшити роботу веб-сайту Magento 2.
Виконайте такі команди, щоб:
- перевірити, який режим Magento увімкнено на вашому веб-сайті
php bin/magento deploy:mode:show
- увімкнути виробничий режим, якщо він вимкнено
php bin/magento deploy:mode:set production
15. Використовуйте CDN
Для магазинів Magento 2, які продають по всьому світу та орієнтуються на клієнтів з різних місць у світі, впровадження CDN може значно покращити швидкість роботи сайту Magento.
CDN розшифровується як Content Delivery Network (Мережа доставки контенту). Це система географічно розподілених серверів по всьому світу, яка дозволяє швидше доставляти контент користувачам вашого веб-сайту, незалежно від їхнього місцезнаходження.
Це досягається завдяки архітектурі CDN, яка кешує файли зображень, медіа, JS та CSS на віддалених серверах. Потім CDN надає ці файли користувачам із сервера, найближчого до їхнього місцезнаходження.
Magento має налаштування CDN , але вам потрібно налаштувати його вручну. Сьогодні більшість веб-контенту доставляється через CDN. Отже, вам слід розглянути це для оптимізації швидкості Magento.
16. Перейдіть на HTTP/2
HTTP/2 – це оновлена версія HTTP/1, яка забезпечує швидше завантаження веб-сайту. Якщо HTTP/1 створює нові підключення до сервера для кожного статичного файлу для обробки, HTTP/2 може робити це одночасно.
HTTP/2 обробляє кілька статичних файлів за одне підключення. Таким чином, веб-сайт завантажується та відображається швидше, оскільки не витрачається час на створення кількох підключень.
Хоча більшість веб-серверів підтримують його за замовчуванням, ви можете налаштувати HTTP/2 через вашу CDN або веб-сервер.
17. Увімкнення кешу
Кеш попередньо завантажує вміст сторінки, щоб серверу не доводилося генерувати сторінку щоразу, коли вона завантажується, і шукати відповіді на питання, як вона має виглядати.
Іноді, коли розробники або дизайнери працюють над веб-сайтом, вони вимикають кеш Magento для безперебійної роботи. Однак, якщо вони не ввімкнуть його після завершення, це може призвести до повільного завантаження веб-сайту та поганого досвіду для ваших клієнтів.
Щоб пришвидшити Magento 2, переконайтеся, що всі ваші кеші ввімкнено. Отже, перейдіть до Система > Керування кешем , виберіть усі кеші, Увімкнути всі з них та Надіслати .
Примітка: для моніторингу кешу ви можете ввімкнути вимкнено сповіщення кешу .
![]()
18. Реалізація кешу Varnish
Коли ви вирішите просунутися з кешуванням Magento, ви отримаєте Varnish. Це рішення з відкритим кодом, рекомендоване командою Magento. Хоча Magento вже має вбудований кеш повної сторінки , Varnish набагато просунутіший.
Varnish служить прискорювачем веб-застосунків, який «підвищує» HTTP-трафік, економить пропускну здатність та суттєво покращує час відгуку сервера. Крім того, він використовується для кешування як динамічного, так і статичного контенту.
Якщо деякі файли запитуються часто, Varnish кешує їх в оперативну пам'ять та надає їм пріоритет над іншими файлами. Тож наступного разу, коли ці файли запитуватимуться, вони будуть завантажені блискавично швидко.
Varnish — це надійне рішення для кешування Magento, яке може збільшити швидкість роботи веб-сайту Magento. Однак, його налаштування може бути складним. Тому переконайтеся, що ви налаштували його правильно, або проконсультуйтеся з професіоналами з цього приводу.
19. Налаштування Redis
Ще одним рішенням для кешування, яке тісно пов'язане з кешем Varnish з точки зору частоти використання, є Redis. Це інструмент кешування для бекенду, який дозволяє зберігати сесії та дані сесій. Він надає вам швидкий доступ до статусів, налаштувань та облікових даних користувачів.
Redis має розподілену структуру зберігання даних і дозволяє серверам переміщувати часто використовуваний вміст сторінок в оперативну пам'ять. Завдяки зберіганню даних в оперативній пам'яті, Redis не потребує постійного доступу до диска. Завдяки цьому збільшується кількість виконуваних операцій і зменшується затримка в базі даних пошуку або запитах API.
Крім того, Redis кешує не лише сесії, а й веб-сторінки, результати запитів і кілька часто використовуваних об'єктів для кращої продуктивності Magento та часу відгуку.
20. Оновлення індексаторів
Архітектура Magento дозволяє йому впорядковувати велику кількість даних продавців (ціни, каталог, магазин, користувачі) у таблиці за допомогою індексаторів. Таким чином, індексатори – це спосіб перетворення та відображення даних про продукти та категорії на вітрині магазину.
Таким чином, немає потреби постійно обчислювати якісь конкретні дані та робити складні запити MySQL у Magento 2. Для цього у вас є індексатори. Вони переіндексуються основною системою, і вам потрібно переконатися, що вони налаштовані правильно .
Якщо ви бачите, що деякі продукти не відображаються або відбувається раптове падіння швидкості веб-сайту, ви можете виконати переіндексацію через CLI або переіндексація Magento з адміністративної панелі .
![]()
21. Очищення журналів бази даних
Magento зберігає тисячі МБ даних у журналах з різними записами даних. Якщо ви не очищуєте свої журнали, база даних може перевантажитися непотрібними даними та спричинити затримки у відповідях та обробці запитів.
Тому рекомендується очищати журнали бази даних, щоб пришвидшити Magento та зменшити затримку завантаження. Однак не забудьте створити резервну копію перед очищенням журналів.
Список безпечних таблиць журналів для очищення включає:
dataflow_batch_export;
dataflow_batch_import;
log_customer;
log_quote;
log_summary;
log_summary_type;
log_url;
log_url_info;
log_visitor;
log_visitor_info;
log_visitor_online;
report_viewed_product_index;
report_compared_product_index;
report_event;
index_event.
22. Використовуйте Elastic search
Elasticsearch – це величезний крок для звичайного пошуку в каталозі Magento. Він забезпечує швидкий пошук контенту, оскільки служба індексації працює на сервері. Системі не потрібно шукати по всій базі даних збіг пошукового запиту. Таким чином, це чудовий спосіб пришвидшити каталог Magento 2 та сторінки пошуку.
Якщо ви використовуєте Magento 2.4.x, у вас Elasticsearch увімкнено за замовчуванням. Але якщо ваша версія Magento старіша, вам потрібно перейти до Магазини > Конфігурація > Каталог > Каталог > Пошук за каталогом та виберіть Elasticsearch для Пошукова система .
![]()
23. Стиснення GZIP
Як ми вже згадували, ваш сервер обробляє багато запитів одночасно для доставки контенту вашим користувачам. Тому стиснення GZIP використовується для керування часом завантаження процесора та зменшення пропускної здатності. Це дозволяє серверу надавати файли меншого розміру, які відповідно швидше завантажуються.
Однак є й недолік, оскільки ви навантажуєте процесор під час стиснення файлів. Тому процес займає більше часу, чим більше ви стискаєте файл. Рівень стиснення GZIP за замовчуванням дорівнює 6, де коефіцієнт стиснення вищий, а швидкість нижча. Але ви можете змінити це відповідно до своїх потреб. Рівень стиснення коливається від 1 до 9.
Послуга оптимізації швидкості Magento 2
Оптимізація швидкості Magento вимагає часу, навичок, рішучості та, найголовніше, послідовності. З наведеного вище списку видно, що робоче навантаження величезне. Однак його може бути недостатньо.
Іноді вимкнення JS-бандлінгу, використання останньої версії Magento та оптимізація зображень не принесуть очікуваного результату. Не тому, що ви робите недостатньо. Це тому, що можуть бути деякі проблеми, приховані занадто глибоко.
Ось чому іноді краще довірити професіоналам оптимізацію швидкості вашого веб-сайту Magento 2. Перегляньте наш , і ми обговоримо робоче навантаження, щоб ваш веб-сайт завантажувався швидко, як по чарівній службі.