Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Модуль MCJ - Автоматическое объединение и сжатие CSS, JS + smartoptimizer [Поддержка]


Recommended Posts

Хотелось чтобы в будущих версиях была обратная функция "не исключать из обработки конкретный javascript" а наоборот ВКЛЮЧИТЬ в обработку конкретный скрипт а остальные не трогать

 

Просто отлавливание багов с джава скриптами и поиск того что не жмется очень трудоемок.

 

Не знаю как для других но мне бы очень помогла такая фича.

Надіслати
Поділитися на інших сайтах


  • 1 month later...

С поддержкой и вправду туго, у меня куча вопросов после установки.... получил ответ только на один (у меня сайт загружался быстрее до установки модуля) - Ваш сервер (nginx) отдает статику быстрее, чем до использования mcj

У меня используется apache+nginx. Есть смысл использовать модуль?

Надіслати
Поділитися на інших сайтах


У меня используется apache+nginx. Есть смысл использовать модуль?

 

Только для объединения и сжатия CSS. Если на странице много CSS - файлов и при посещении страницы они "встают в очередь загрузки", то может помочь. Точнее может помочь быстрее загрузить их путем объединения этих стилей и вставкой изображений (data:base64), которые в них указаны. А JS очень много заморочек, трудно будет подобрать рабочую конфигурацию. С настройкой .htaccess тоже будет туго, т.к. для отдачи статики используется nginx. 

Пример сайта с mcj и nginx: http://www.qmart.by/

Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

Только для объединения и сжатия CSS. Если на странице много CSS - файлов и при посещении страницы они "встают в очередь загрузки", то может помочь. Точнее может помочь быстрее загрузить их путем объединения этих стилей и вставкой изображений (data:base64), которые в них указаны. А JS очень много заморочек, трудно будет подобрать рабочую конфигурацию. С настройкой .htaccess тоже будет туго, т.к. для отдачи статики используется nginx. 

Пример сайта с mcj и nginx: http://www.qmart.by/

Добрый день!

Как выполнить install? Напишите подробно

Надіслати
Поділитися на інших сайтах


Knopic, добрый день.

 

Добрый день!

Как выполнить install? Напишите подробно

 

На сколько я помню на Вашем сайте уже стоит mcj. Если будете переустаналивать, необходимо сначала удалить mcj. 

 

 

Удаление [3 шага]

 

1. Зайти в "Менеджер кэша" и удалить все css и js файлы.

2. Скопировать файл unistall.php в корень сайта. Запустить. Он удалит значения из базы данных и файлы mcj. 
3. Зачистить папки для временного хранения файлов от css, js, cssgz, jsgz файлов.
 

Установка [5 шагов]

 

Шаг 1. Копирование файлов

 
Из архива с модулем скопируйте папки vqmod, admin, system в корневую директорию сайта.
MCJ не заменяет никаких файлов как в процессе установке, так и в процессе работы.
 
Шаг 2. Редактирование файлов
 
В файле index.php перед строкой
$response->output(); #предпоследняя строка
добавить
//MCJ
if (preg_match('/.*<\/head>/im', $response->output) && !defined('DIR_CATALOG')) {
include 'system/library/mcj/mcj.opencart.php';
$mcj_oc = new mcj_opencart($registry, &$response->output);
}
 
В файле system/library/response.php строку
private $output; #5 строка
заменить на
public $output;
 
Шаг 3. Добавление записей в базу данных
 
Скопировать (из архива) в корневую директорию сайта файл "install.php". Открыть этот файл через браузер (http://адрес сайта/install.php). Он добавит новые значения в базу данных. После выполения обязательно удалить этот файл!!!  
mcj не создает никаких таблиц в бд. Он использует стандартный механизм хранения настроек.
 
Шаг 4. Настройка привилегий в OpenCart
 
В административной панели сайта перейти в "Система->Пользователи->Группы пользователей". Напротив строки "Главный администратор" (Top Administrator) нажать "изменить".
В списках "Разрешен просмотр" и "Разрешено внесение изменений" поставить галочку напротив "mcj/setting", либо нажать "Выделить все". Сохранить.
 
Шаг 5. Настройка .htaccess
 
Для использования статического сжатия файлов в файл .htaccess необходимо добавить
AddType text/css .css .cssgz
AddType text/javascript .js .jsgz
AddEncoding x-gzip .cssgz .jsgz
Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

Нашел еще модуль для ускорения загрузки страниц https://opencartforum.com/files/file/1751-turbocache-%D0%B4%D0%BB%D1%8F-ocstore/

Этот модуль аналогичный или у них разные принципы работы? Можно ли их использовать одновременно? Повысится ли при этом скорость?

Надіслати
Поділитися на інших сайтах


Нашел еще модуль для ускорения загрузки страниц https://opencartforum.com/files/file/1751-turbocache-%D0%B4%D0%BB%D1%8F-ocstore/

Этот модуль аналогичный или у них разные принципы работы? Можно ли их использовать одновременно? Повысится ли при этом скорость?

 

Это разные модули. Сейчас объясню как работает TurboCache и MCJ, в чем разница.

Цитата из еще не написанной статьи:

 

Архитектура такого приложения, как сайт делится на две части:

  • frontend - "Передняя сторона" сайта, которое обрабатывается браузером пользователя.
  • backend - "Задняя сторона" сайта, которая обрабатывается сервером. В нее входят файлы движка (OpenCart), сервер, сервер баз данных, php-интерпретатор, настройки и возможности хостинга.

Проблемы с тормозами могут находится на обоих сторонах. Теперь перейдем к определению "проблемной стороны".

 

Другими словами frontend-оптимизация это оптимизация сайта для быстрой обработки браузером. А backend-оптимизация это оптимизация для быстрой обработки сервером.

 

TurboCache является backend - оптимизатором. Для выполнения своей задачи он использует встроенную в OpenCart систему кэширования, никаких "велосипедов", что хорошо. Этот модуль добавляет в кэш данные модулей, категорий, товаров и т.д. Подойдет для тех, у кого большое время генерации страницы из-за большого кол-ва товаров, из-за медленного соединения с БД или больших и трудоемких запросов. Он уменьшит количество запросов к БД. 

 

MCJ является frontend оптимизатором. Он объединяет файлы стилей, скриптов (со скриптами у него туговато). Добавляет data:base64 изображения в CSS, сжимает CSS и JS файлы, HTML траффик. Еще есть рекомендации по настройке .htaccess. Как следствие он напорядок уменьшает количество запросов к серверу, помогает браузеру быстрее загрузить сайт и добавить в кэш браузера необходимые данные. 

Надіслати
Поділитися на інших сайтах

Спасибо за ответ. Сейчас использую smartoptimizer который получается делает frontend оптимизацию. Можно ли MCJ использовать вместе со smartoptimizer или они будут мешать друг другу? Если убрать smartoptimizer позволит ли Ваш модуль использовать кэш браузера, чтоб не выходило ошибки здесь http://developers.google.com/speed/pagespeed/insights

И по поводу совместимости - будет ли работать на чистом Opencart 1.5.1.3 ?

Надіслати
Поділитися на інших сайтах


Спасибо за ответ. Сейчас использую smartoptimizer который получается делает frontend оптимизацию. Можно ли MCJ использовать вместе со smartoptimizer или они будут мешать друг другу? Если убрать smartoptimizer позволит ли Ваш модуль использовать кэш браузера, чтоб не выходило ошибки здесь http://developers.google.com/speed/pagespeed/insights

И по поводу совместимости - будет ли работать на чистом Opencart 1.5.1.3 ?

 

>Можно ли MCJ использовать вместе со smartoptimizer или они будут мешать друг другу?

MCJ и SmartOptimizer вместе работать не будут т.к. они делают одно и то же. 

 

>Если убрать smartoptimizer позволит ли Ваш модуль использовать кэш браузера, чтоб не выходило ошибки здесь http://developers.go...espeed/insights

Если убрать SmartOptimizer и установить только MCJ, он будет делать то же самое, только если правильно настроен .htaccess. SmartOptimizer создает и отдает динамические ресурсы и сразу назначает необходимые заголовки для того, чтобы браузер кэшировал их, а MCJ только создает статику, он не отправляет ее. За заголовки статических файлов должен отвечать сервер. Поэтому .htaccess должен быть правильно настроен для отдачи заголовков. Рекомендуемое содержимое файла .htaccess можете посмотреть здесь.

 

>будет ли работать на чистом Opencart 1.5.1.3 ?

Да, будет.

Надіслати
Поділитися на інших сайтах

Как проверить работает MCJ или нет? После установки не заметил прироста скорости.

по большому счету вы и не заметите. как правильно, на хороших хостингах таким файлам задаются заголовки кеширования по умолчанию и при загрузке страницы файлы берутся из кеша.

уменьшение размера поможет только при самой первой загрузке сайта, более того вы сами можете пожать свои js/css файлы с помощью одного из сервисов

http://closure-compiler.appspot.com/home

http://refresh-sf.com/yui/

http://jscompress.com/

 

на счет gzip сжатия хорошая статья http://goldbusinessnet.com/optimizatsiya-i-raskrutka-saita/gzip-szhatie-css-js-html/

 

от себя добавлю, что это не решение проблемы медленной загрузки страниц. интересоваться этой темой стоит когда все остальные шаги оптимизации выполнены

Змінено користувачем freelancer
Надіслати
Поділитися на інших сайтах

от себя добавлю, что это не решение проблемы медленной загрузки страниц. интересоваться этой темой стоит когда все остальные шаги оптимизации выполнены

было бы интересно и на эту тему статейку  :oops:

нереально в гугле найти, все какая-то вода :(

Надіслати
Поділитися на інших сайтах


При включении обработки js файлов перестает работать FilterPro и страница отображается неправильно. Перепробовал все варианты библиотек минимизации и уровни сжатия в настройках. Не помогло. При использовании smartoptimizer таких проблем не было. Как включить поддержку js?

Надіслати
Поділитися на інших сайтах


После установки модуля посещаемость сайта упала в 10 раз. Долго не мог понять в чем дело. Оказалось после вставки в index.php кода из инструкции, почему то пропадает со всех страниц счетчик Яндекс метрики.

Надіслати
Поділитися на інших сайтах


Как проверить работает MCJ или нет? После установки не заметил прироста скорости.

 

Откройте исходный код страницы и посмотрите, там не должно быть много подключаемых файлов (в зависимости от настроек).

 

по большому счету вы и не заметите. как правильно, на хороших хостингах таким файлам задаются заголовки кеширования по умолчанию и при загрузке страницы файлы берутся из кеша.

уменьшение размера поможет только при самой первой загрузке сайта, более того вы сами можете пожать свои js/css файлы с помощью одного из сервисов

http://closure-compiler.appspot.com/home

http://refresh-sf.com/yui/

http://jscompress.com/

 

на счет gzip сжатия хорошая статья http://goldbusinessnet.com/optimizatsiya-i-raskrutka-saita/gzip-szhatie-css-js-html/

 

от себя добавлю, что это не решение проблемы медленной загрузки страниц. интересоваться этой темой стоит когда все остальные шаги оптимизации выполнены

 

Freelancer прав, желательно нанимать специалиста, он проведет frontend и backend оптимизацию конкретно под Ваш проект или же самому окунуться с головой в эту тему. С оптимизацией веб-приложений много заморочек. MCJ же подойдет для тех, у кого много статичных ресурсов в виде стилей и скриптов. 

 

было бы интересно и на эту тему статейку  :oops:

нереально в гугле найти, все какая-то вода :(

 

P.S. сейчас пишу статью по локализации потерь производительности во frontend и backend веб-приложений и обзор наиболее популярных решений. Скоро....

 

При включении обработки js файлов перестает работать FilterPro и страница отображается неправильно. Перепробовал все варианты библиотек минимизации и уровни сжатия в настройках. Не помогло. При использовании smartoptimizer таких проблем не было. Как включить поддержку js?

 

Попробуйте добавить скрипт FilterPro в список исключений из обработки/объединения. Как я уже говорил ранее с JS много заморочек, необходимо настраивать под конкретный проект. Пришлите в лс данные для входа в админ-панель (раздел модуля) я займусь настройкой. Так ничем помочь не смогу.

 

После установки модуля посещаемость сайта упала в 10 раз. Долго не мог понять в чем дело. Оказалось после вставки в index.php кода из инструкции, почему то пропадает со всех страниц счетчик Яндекс метрики.

 

Все скрипты, которые находятся на странице тоже обрабатываются, видимо скрипт яндекс-метрики тоже перенесен модулем в шапку сайта вместо футера. Чтобы исправить предоставьте Ваш код яндекс-метрики.

Надіслати
Поділитися на інших сайтах

  • 1 month later...
  • 1 month later...

А в чём разница между вашим модулем и Increase Page Speed?

 

Increase PageSpeed умеет намного больше, нежели mcj. MCJ предназначен только для минимизации CSS, JS, HTML. В mcj все поддается детальной настройке, в том числе и выбор библиотеки для минимизации CSS, JS, HTML.

 

У mcj наблюдаются проблемы при большом количестве JS, но этого можно избежать, если все правильно настроить. 

Надіслати
Поділитися на інших сайтах

А проблему с объединением ява скриптов он так и не решил- как было 5 блокирующих судя по гугл page speed, так и осталось. (( :mellow:

 

Я уже ранее писал, что скрипты блокирующие отрисовку в браузере находятся в секции head. MCJ может переместить их после открывающего тега body, что по сути вне head и не блокирует отрисовку. По причине наличия javascript в коде странице я не стал добавлять перемещение javascript дальше, чем в body. Если избавитесь от javascript кода в коде страницы на всем сайте, то я лично для Вас переделаю модуль, чтобы он перемещал все js скрипты в footer или еще дальше*.

 

Если короче, то скрипты в секции body не блокируют отрисовку, но Google Page Speed так не считает. Чтобы угодить Google Page Speed нужно переместить скрипты в самый конец страницы, а я сделать этого не могу т.к. в OpenCart, в коде страницы есть JS код, который зависит от этих самых скриптов. Если мы переместим их вниз, то ничего работать не будет, будет много ошибок. И я принял решение перемещать скрипты в body.

Надіслати
Поділитися на інших сайтах

Я уже ранее писал, что скрипты блокирующие отрисовку в браузере находятся в секции head. MCJ может переместить их после открывающего тега body, что по сути вне head и не блокирует отрисовку. По причине наличия javascript в коде странице я не стал добавлять перемещение javascript дальше, чем в body. Если избавитесь от javascript кода в коде страницы на всем сайте, то я лично для Вас переделаю модуль, чтобы он перемещал все js скрипты в footer или еще дальше*.

 

Если короче, то скрипты в секции body не блокируют отрисовку, но Google Page Speed так не считает. Чтобы угодить Google Page Speed нужно переместить скрипты в самый конец страницы, а я сделать этого не могу т.к. в OpenCart, в коде страницы есть JS код, который зависит от этих самых скриптов. Если мы переместим их вниз, то ничего работать не будет, будет много ошибок. И я принял решение перемещать скрипты в body.

Теперь понятно, спасибо.

Надіслати
Поділитися на інших сайтах


  • 3 months later...

А проблему с объединением ява скриптов он так и не решил- как было 5 блокирующих судя по гугл page speed, так и осталось. (( :mellow:

 

Обновитесь. В новой версии вместо поля "Вставлять скрипты после body" появились два новых пункта:

  • Вставлять все скрипты перед: 
  • Переместить inline скрипты вместе с остальными:

Для того, чтобы переместить все скрипты в конец страницы необходима в первом поле написать /<\/body>/ , а во втором поставить значение "Да". Затем сохраните настройки.

 

Это экспериментальная функция и не факт, что она будет работать у всех. Однако я буду стараться помочь каждому. 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.