модуль OpenCartBOOST - ускоритель OpenCart + AJAX загрузка модулей. Ускорение opencart
Как ускорить Opencart при большом кол-ве товаров? — Toster.ru
Ускорение загрузки сайтов на Opencart
Совместимость | OpenCart 1.5.3.1, OpenCart 1.5.4.1, OpenCart 1.5.5.1, OpenCart 1.5.6, OpenCart 1.5.6.1, OpenCart 1.5.6.2, OpenCart 1.5.6.3, OpenCart 1.5.6.4, OpenCart 2.0, OpenCart 2.1, OpenCart 2.2, OpenCart 2.3, OCStore 1.5.3.1, OCStore 1.5.4.1, OCStore 1.5.5.1, OCStore 1.5.5.1.1, OCStore 1.5.5.1.2, OCStore 2.1, OcShop 1.5.6.4.х, Opencart.pro 2.0.3.х, Opencart.pro 2.1, Opencart.pro 2.3, MaxyStore 1.5.5.1.1, MaxyStore 2.0.1.1 |
- посетители не дожидаются загрузки страницы и уходят к конкурентам;
- Ajax-элементы форм обработки заказов и регистрации не подгружают вовремя данные, не давая возможности посетителям зарегистрироваться, или оформить заказ;
- поисковые системы пессимизируют позиции вашего магазина в поисковой выдаче;
- хостеры начинают слать гневные письма с требованием увеличить ресурсы хостинга;
"Тормоза" Opencart происходят вследствие двух основных причин. Очень слабой реализации кеширования повторяющихся данных и недостаточная оптимизации базы данных.
В 95% случаев, устранение этих недостатков, достаточно для того, чтобы получить оптимальное время скорости загрузки страниц вашего магазина.
В базовый пакет оптимизации входит установка модуля TurboCache, который позволяет кешировать все промежуточные данные стандартных модулей Opencart, а также оптимизация базы данных.
Во многих случаях при уменьшении скорости генерации страниц до одной секунды существенно увеличивается глубина просмотра и уменьшается показатель отказов, что автоматически за собой влечет увеличение конверсии.
В некоторых случаях, если вы используете нестандартную тему, или сторонние дополнения, этих методов может оказаться недостаточно, подобные ситуации могут потребовать дополнительного анализа компонентов системы, нагружающих сервер и их оптимизации. Возможен также перенос хранилища данных кеша в Memcache-контейнер. Для сайтов с большой нагрузкой, рекомендуется установка модуля Opencart Cache (стоимость подобных работ рассчитывается индивидуально).
Также опционально, вы можете заказать увеличении оценки GooglePageSpeed, которая влияет на позиции в поисковой выдаче страниц вашего магазина. (гарантированное увеличение оценки до 80 - от $50)
В стоимость пакета оптимизации входит:
- Оптимизация базы данных
- Установка кеширующего модуля turbo
- (Опционально) установка производительной библиотеки генерации изображений imagick
- (Опционально) подключение memcache - в случае необходимости
- Аудит производительности сторонних дополнений
- Pagespeed до показателей 75+
- Аудит конфигурации системы (проверка разрешений на папки, версий vqmod, библиотек подключения к базе данных (для версии 1.5)
- Установка оптимизированной библиотеки файлового кеша (для версии 1.5)
- Аудит robots.txt и его коррекция для снижения нагрузки, создаваемой поисковыми ботами.
- (Опционально) кастомная оптимизация модулей корзин, например kw_flycart
- Все работы выполняются только после 100% предоплаты, детального согласования технического задания и предоставления заказчиком доступов к ftp, phpmyadmin и в административную панель магазина.
- Срок выполнения базовой оптимизации - до 2х рабочих дней при условии 100% uptime работы сервера заказчика. В случае необходимости проведения дополнительных методов оптимизации, сроки выполнения работ обговариваются отдельно.
- Во избежание случайной частичной или полной утраты данных, перед проведением работ, настоятельно рекомендуем сделать резервные копии базы данных и файлов.
- Мы можем сами осуществить полное резервное копирование ваших данных перед проведением работ. Стоимость резервного копирования - $20.
Для магазинов на версиях 1.4.x, оптимизация возможно, но с некоторым ограничением набора методов.
liveopencart.ru
Как ускорить OpenCart за счёт кэширования страниц
Adam Thompson
Директор цифровых стратегий в 10x digital / RYP Marketing, где под его контролем находятся SEO, PPC, CRO, веб-дизайн и разработка проектов. Вошел в мир интернет-маркетинга в 2003 году.
Предлагаю вашему вниманию перевод статьи Адама Томпсона про оптимизацию скорости загрузки страниц OpenCart.
Для интернет-пользователей и SEO-специалистов скорость загрузки страницы - важный фактор для сайтов электронной коммерции. Вся ваша напряжённая работа над дизайном, написанием контента и оптимизацией удобства использования магазина напрасны, если пользователи разочаруются медленной скоростью загрузки страниц и уйдут с вашего сайта.
К сожалению, популярная система электронной коммерции OpenCart не настроена достаточно хорошо для сайтов с большим количеством категорий и продуктов. Крупные интернет-магазины не увидят космической производительности, если будут использовать движок "как есть".
Однако, низкая производительность OpenCart связана с парой факторов, которые можно легко пофиксить, и в этом статье я расскажу как это сделать.
Благодаря открытому исходному коду OpenCart, разработчики могут "заглянуть под капот", чтобы ускорить его процессы. Один из наших клиентов, разработчик и владелец магазина Budget Neon на OpenCart, решил самостоятельно улучшить скоростные характеристики OpenCart. (Вы можете проверить скорость сайта Budget Neon, чтобы увидеть, насколько хорошо работают эти изменения.) Он поделился своими усовершенствованиями OpenCart в бесплатном и с открытым исходным кодом проекте под названием OCTurbo.
Почему важна скорость загрузки страниц
Согласно исследованию, проведенному компанией Akamai (прим. - специализируется на CDN и "облачных" сервисах) в 2009 году, интернет-пользователи ожидают загрузку страниц в течение двух секунд или меньше. Более того, то же исследование показало, что 40% пользователей уходят с сайта, как только скорость загрузки занимает больше, чем пару секунд. Данные не лгут: скорость загрузки страниц - важный фактор для успеха в электронной коммерции.
Гигант в сфере e-commerce Amazon выучил этот урок сложным путём, когда они обнаружили, что за каждые 100 миллисекунд задержки на их сайте, они теряют 1% в продажах.
Так что делать владельцам сайтов? В то время как существует множество факторов, влияющих на скорость загрузки страниц, кэширование на стороне сервера - один из лучших способов ускорить сайты, использующие в работе базу данных.
Бесплатные и open source системы кэширования для OpenCart
OCTurbo использует два типа кэширования на стороне сервера для ускорения загрузки страниц OpenCart: PHP вызов кэширования в категориях продуктов и на уровне страниц. Весь код доступен между сайтом OCTurbo и аккаунтом Керри на Github.
Вызов кэширования в категориях продуктов
Как показано на скриншоте ниже, OpenCart отображает количество продуктов для категорий:
Оптимизация этого кода - "хлеб" OCTurbo для оптимизации OpenCart. Лежащий в основе код, который включает подсчёт продуктов в категориях невероятно "тяжёлый". При использовании стоковой версии OpenCart доступна возможность кэширования данных на основе файлов, OCTurbo способен сократить время загрузки страницы с 1-2 секунд до менее чем 0.5 секунд.
"Из коробки" вызов метода getTotalProducts() приводит к шквалу SQL-запросов, которые будут выполняться каждый раз при загрузке страницы. OCTurbo кэширует скрипт и последующие запросы. После первоначальной загрузки страницы, которая создаёт кэш, время загрузки страницы резко сокращается. Вы можете увидеть детали и фрагменты кода здесь.
Кэширование на уровне страниц
Второе направление стратегии OCTurbo использует кэширование на уровне страниц для оптимизации скорости OpenCart по всему сайту. Код внутри главного файла index.php OpenCart срабатывает в двух местах:
Во-первых, OCTurbo вставляет код в верхней части index.php, который проверяет имеется ли актуальная закэшированная копия запрошенного URL. Если закэшированная копия существует, то она берётся с диска без необходимости выполнения строк кода OpenCart или каких-либо запросов к базе данных.
В конце index.php, OCTurbo вставляет код с условием, который запускается только когда незакэшированная страница отправлена пользователю. После отправки незакэшированной версии пользователю, её копия записывается на диск.
Достигнутые результаты
Код необходимый для обоих основных функций кэширования OCTurbo потребует дополнительное количество ресурсов при первой загрузке каждой страницы. Сервер ещё должен будет обслуживать страницы для первого выполнения кода OCTurbo и создания кэша. Тем не менее, любые последующие нагрузки будут значительно быстрее.
Чтобы получить некоторые замеры по эффективности, мы сделали три тестовых одинаковых сайтов с OpenCart на трёх хостингах, работающих на том же DigitalOcean VPS с 512mb. На каждый сайт был загружены данные Amazon AWS.
Для нивелирования масштабов, мы измерили время, требуемое лишь для загрузки только HTML-кода каждой страницы, вместе с кодом OpenCart:
Как вы видите, результаты замечательные. С небольшим количеством кода, мы смогли ”сбрить” почти целую секунду времени у загрузки страницы стоковой версии OpenCart. Этот скриншот примера теста в сервисе Pingdom, показывающий, что Budget Neon загружается быстрее, чем 98% проверенных сайтов:
Какие сайты должны использовать кэширование?
Кэширование ускоряет сайты, избавляя веб-сервер от необходимости выполнять многие строки PHP и несколько запросов к базе данных каждый раз, когда страница загружается. Вместо этого, сервер просто отдаёт статичные закэшированные страницы. Наибольший скачок в производительности, как правило, виден на сайтах со слабым сервером или хостинге, но все веб-сайты могут извлечь выгоду от кэширования. Я лично ещё не видел сайтов, где кэширование не помогло бы улучшить быстродействие.
Измерение результатов
Как проверить улучшило ли кэширование производительность вашего веб-сайта и на сколько? Есть несколько инструментов для этого, но наилучший подход - использование инструмента, который измеряет время загрузки страницы в секундах. (Такие инструменты, как PageSpeed Insights от Google, измеряют сайт на основе того, как много вы реализовали из предложенных ими лучших технических практик, а не фактической скорости загрузки страницы.)
Я использую Pingdom для измерения скорость веб-сайта. Вот как я рекомендую проводить тестирование скорости загрузки страницы до и после настройки кэширования:
- Перейти на сайт pingdom.com
- Провести три теста для каждого из двух ближайших мест к вашему веб-серверу.
- Вычислить среднюю скорость загрузки страницы в секундах.
- Настроить систему кэширования.
- Загрузите страницу один раз (чтобы сохранить страницу в кэше).
- Провести три теста для каждого из двух ближайших мест к вашему веб-серверу.
- Вычислить среднюю скорость загрузки страницы в секундах.
- Сравнить скорости до и после.
Другие решения по оптимизации скорости сайта
Реализация кэширования страниц - это важная часть оптимизации OpenCart для оптимального времени загрузки страниц, но это, конечно, не единственная область, на которую вы должны обратить внимание. Помимо кэширования, я рекомендую работать по следующим направлениям:
- Оптимизация кода фронт-энда. Оптимизация на стороне браузера вашего сайта (минимизация JavaScript, оптимизация изображений, сокращение HTTP-запросов, использование спрайтов изображений, и т.д.), как правило, оказывает существенное влияние на увеличение скорости загрузки. Budget Neon также использует спрайты, чтобы уменьшить количество загружаемых изображений. Инструмент PageSpeed Insights Google предоставляет отличную отправную точку для оптимизации этой составляющей вашего веб-сайта для ускорения загрузки страниц.
- Обновление сервера. Если вы используете виртуальный хостинг или работаете с медленным сервером, обновление сервера, как правило, обеспечивают значительное ускорение скорости загрузки страниц. В одном из проведённых нами тестов, переход с виртуального хостинга на VPS сократило время загрузки страниц в два раза. Я также видел значительные улучшения за счёт апгрейда VPS low-end класса на более мощный VPS или выделенный сервер.
Если вы сфокусируетесь на кэшировании, чтобы уменьшить потребность работы вашего сервера, обновление сервера и оптимизация кода на стороне браузера в результате должны привести к гораздо более высокой скорости загрузки страниц на всём вашем сайте.
У вас есть собственные решения по тюнингу OpenCart? Если так, пожалуйста, скиньте ссылку в комментариях и поделитесь вашими наработками!
Источник: moz.com
cmsplugin.ru
Ускорение opencart/ocstore с помощью кеша
Если у вас на сайте с ростом трафика начали тормозить и долго открываться страницы, не спешите покупать дорогие модули «ускорители» или заказывать оптимизацию у сомнительных «специалистов». Есть прекрасное бесплатное решение v2pagecache.
Этот модуль позволяет закешировать страницы вашего сайта в статичные файлы, и этим значительно снизить нагрузку на сайт.
Модуль можно бесплатно скачать на гитхабе github.com/budgetneon/v2pagecache
После скачивания распакуйте архив у себя на компьютере и в файле upload\system\library\v2pagecache.php отредактируйте эти настройки.
class V2PageCache { private $expire='14400' ; // expire time, in seconds 14400 = 4 hours private $lang='en' ; // default language for site private $currency='USD' ; // default currency for site
class V2PageCache { private $expire='14400' ; // expire time, in seconds 14400 = 4 hours private $lang='en' ; // default language for site private $currency='USD' ; // default currency for site |
Впишите код языка по-умолчанию на вашем сайте и код валюты по-умолчанию.
class V2PageCache { private $expire='14400' ; // expire time, in seconds 14400 = 4 hours private $lang='ru' ; // default language for site private $currency='RUB' ; // default currency for site
class V2PageCache { private $expire='14400' ; // expire time, in seconds 14400 = 4 hours private $lang='ru' ; // default language for site private $currency='RUB' ; // default currency for site |
Также можно выставить другие настройки, в коде есть комментарии.
После этого залейте содержимое папки upload в корень вашего сайта.
Теперь перейдите в раздел модулей вашего магазина, установите модуль и включите его.
Перейдите на сайт и походите по страницам, вы должны увидеть статистику по закешированым страницам
Все работает. Теперь если открыть закешированую страницы, она откроется намного быстрее.
Важно. Модуль работает только для гостей, для залогиненых пользователей отдаются незакешированые страницы.
Работает на: Opencart: 2.x OcStore: 2.x Ocnova.pro: 2.xsiter.org.ua
BOOST - ускоритель OpenCart + AJAX загрузка модулей | Opencart modules | Opencart extensions
Больше 10 тысяч загрузок модулей от sv2109!
Что делает этот модуль?
Этот модуль позволяет ускорить время генерации страниц OpenCart до 100 раз! А в некоторых случаях до 1000 и даже больше.
Зачем?
- Скорость загрузки сайта напрямую влияет на конверсию магазина. Если страница грузится больше 2-х секунд, пользователи не будут ждать, они уйдут к вашим конкурентам.
- Скорость загрузки сайта напрямую влияет на ранжирование страниц этого сайта в поисковой выдаче. Из 2-х одинаковых сайтов выше в выдаче будет тот, у кого скорость загрузки больше.
Поэтому очень важно иметь сайт, который грузится быстро - такой сайт привлекательный как для пользователей, так и для поисковых систем.
Это так же экономит огромное количество ресурсов сервера, что позволит на 1 хостинг аккаунте держать больше сайтов, а так же держать большие сайты на более дешевых хостингах.
Как все работает?
Пользователь1 загружает Страницу1 (это может быть страница товара, категории, производителя, блога, информационная страница итд.). Через 10 секунд уже Пользователь2 загружает ту же самую страницу. Есть ли у этих страниц что-то общего? Да, и очень много - та же тема, то же меню, те же категории, товары, модули, футер итд. Так зачем же 1000 раз тратить огромные ресурсы сервера, чтобы создавать те же самые блоки? Не проще ли все общее сохранить в кеше и при последующих обращения не тратить ресурсы, а загрузить это из кеша?
Что делать с блоками, которые должны быть уникальными?
Например корзина должна быть уникальной для разных пользователей, строка приветствия должна содержать разные имена пользователей, модули, которым нужна уникальная информация, например модуль "случайные товары" должен содержать случайные товары итд.
Модуль BOOST решает эту задачу - в модуле есть инструмент, который позволяет загрузить все уникальные блоки асинхронно через AJAX.
То есть, простыми словами - все, что можно кешировать - кешируется, все что нельзя кешировать - подгружается через AJAX асинхронно.
При этом достигается просто огромная скороть - время генерации страницы из кеша на сервере - сотые и тысячние доли секунды! Примерно от 1 до 30 милисекунд.
Какие страницы кеширует модуль?
Все страницы, указанные в настройках. По умолчанию там указаны страницы товаров, категорий, производилеля, информационные страницы итд. Если у вас установлены какие-то дополнительные модули, например модуль Блог, вы можете также добавить в настройки страницы этого модуля для кеширования.
Вы также можете в настройках указать параметры POST, GET, COOKIE, SESSION при которых не нужно кешировать страницу. Например GET параметр "nocache"
Модуль использует vQmod, но возможна установка и без vQmod
Модуль использует ionCube
Совместимость:
ocStore 1.5.5.1openCart 1.5.6.4
Но модуль должен работать на всех 1.5.х версиях.Версия для 2.0 - по запросу.
Демо:
Замечания по демо:
- На демо установлен пустой OpenCart, скорость работы которого и так довольно высокая. На реальном сайте с десятками установленных модулей, десятками тысяч товаров и сотнями категорий эффект от модуля (разница между загрузкой страницы без кеша и с кешем) будет в разы больше, чем на пустом демо сайте.
- Если страница, которую вы загрузили не в кеше, обновите страницу - F5, чтобы увидеть разницу.
sv2109.com