Куда идем?

Мы все хотим, чтобы наши сайты загружались быстро. Проблема в том, что для этого требуется довольно сложная и тонкая настройка различных параметров сайта и сервера, которая по зубам далеко не каждому веб-мастеру. К сожалению, не существует волшебной кнопки, которую можно было бы нажать, получив аналог впрыска закиси азота в двигатель авто, только для сайта. Хотя постойте… Существует! Подробности далее…

Joomla Rockstar Extensions

В Joomla, как впрочем, и в других CMS, имеющих большую базу сторонних расширений, существуют просто расширения, а существуют расширения-звезды. Такие, которые не входят в состав базового пакета Joomla, но должны быть практически на каждом сайте. Они имеют максимальные рейтинги в каталогах расширений, множество положительных отзывов, и позволяют добавить сайту какой-то значимый функционал. В список таких расширений для Joomla я бы включил редактор JCE, компонент резервного копирования Akeeba Backup, плагин защиты админки AdminExile и некоторые другие специфические расширения. Сегодня мы поговорим про еще одну звезду из каталога Joomla – плагин JCH Optimize. Но прежде, давайте рассмотрим задачи, в решении которых он нам поможет.

Проблемы оптимизации скорости загрузки страниц

Предположим, вы сделали сайт. Пусть это будет интернет-магазин на Virtuemart. В целом, вы довольны. Всё работает достаточно шустро. С хорошим настроением вы идете на Google PageSpeed, надеясь дополнительно потешить свое самолюбие хорошими показателями скорости загрузки сайта от Google. Запускаете тест. И тут настроение ваше быстро портится:

1

Google сказал: «Ваш сайт – отстой. Вот вам список технических рекомендаций, которые нужно внедрить, чтобы я полюбил его». Далее идет список из N пунктов, в котором вы, особенно если вы новичок, поймете далеко не всё.

Да, можно разобраться со всеми пунктами, дополнительно прокачать навыки веб-мастера и решить проблемы напильником и отверткой. На самом деле, это будет лучшим вариантом. Однако предположим, что вы не хотите прокачивать навыки, поскольку делали всего один сайт для себя, и не собираетесь становиться профессионалом. Или же, другой вариант. Вы – профессионал, но вы не хотите каждый раз тратить уйму времени на оптимизацию скорости загрузки страниц (а времени, действительно, может уйти много).  Как быть в этих случаях?

С одной стороны, можно просто проигнорировать PageSpeed. Вы видите, что сайт загружается вполне себе быстро и вам этого достаточно. Показатели PageSpeed не всегда так важны, как многие думают. Если ваш сайт собирается работать в сфере с высокой конкуренцией, и будет продвигаться SEO-оптимизаторами, то да, должна быть отточена каждая мелочь. Если же у вас просто сайт-визитка и вы не собираетесь ставить его во главу угла своего бизнеса, то зачем вам лишние затраты на ускорение?

Но с другой стороны, предположим, что есть вариант, который позволит вам самостоятельно, бесплатно и в короткий срок, оптимизировать и ускорить сайт. Почему бы им не воспользоваться? JCH Optimize – это как раз такой вариант.

Плагин JCH Optimize

JCH Optimize – это бесплатный плагин для Joomla, от которого веет магией. Нет, серьезно. Вы просто представьте:

  1. Скачиваем и устанавливаем плагин
  2. Переходим в настройки плагина, и выбираем уровень оптимизации

    2

  3. Активируем плагин

Всё. Он работает, исправляя все основные проблемы оптимизации скорости загрузки страниц. Снова измеряем скорость загрузки сайта на PageSpeed, и видим прирост. Фантастика!

Давайте рассмотрим настройки плагина подробнее, и разберемся с тем, что он, собственно, делает, и за счет чего возникает прирост.

Настройка JCH Optimize

Базовые настройки

У плагина есть две версии: базовая и Pro. Возможностей базовой, бесплатной версии, многим хватит. Если же вы хотите получить немного больше, и у вас есть в кармане пара-тройка десятков лишних долларов, то можете приобрести версию Pro. Все настройки Pro-версии отображаются и в базовой, но они выделены серым цветом и недоступны.

Основные настройки базовой версии показаны на рисунке:

3

Всё, что вам нужно – выбрать уровень оптимизации в опции Автоматическая настройка, и уровень минимизации HTML в опции ниже. Также не забудьте активировать сам плагин. На этом основная настройка окончена.

Какие значения выбрать в настройках? Здесь следует руководствоваться следующим принципом: «Чем выше уровень оптимизации, тем выше вероятность тех или иных проблем в работе сайта». Таким образом, вы можете выставить сначала максимальную оптимизацию. После проверить весь функционал сайта. Если все работает – отлично, так и оставляем. Если нет, снижаем уровни.

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

4

За счет чего возникает прирост скорости загрузки страниц сайта?

Что же технически делает JCH Optimize? Из-за чего возникает прирост скорости? Возьмем типичный сайт на Joomla и Virtuemart, откроем исходный HTML-код страницы, и посмотрим, что там у нас загружается. Картина не слишком радужная:

5

Два десятка файлов скриптов и стилей подгружаются на странице. Каждый из этих файлов важен для работоспособности сайта и магазина, и каждый из них загружается последовательно (т.е. следующий начнет загружаться только тогда, когда загрузится предыдущий), если только вы не перешли на HTTP 2.0. В результате, уже только здесь мы имеем значительную потерю скорости.

Теперь давайте включим JCH Optimize в режим Average, и посмотрим исходный код страницы повторно:

6

Видно, что все загружаемые файлы были скомпилированы всего в два:  файл стилей .CSS и файл скриптов .JS . При этом сами файлы также ужаты. Из них удалены все лишние символы и пробелы.

Пойдем еще дальше и включим максимальный уровень минимизации HTML. Посмотрим исходный код страницы:

7

Из кода были удалены все лишние символы и пробелы. Сам код занял всего 6 строк. Для человека он стал практически нечитаемым, а браузеры переваривают на ура.

Также JCH Optimize вносит изменения в файл htaccess вашего сайта, активируя дополнительное браузерное кэширование. Правда здесь есть нюанс. Для того чтобы это кэширование работало, на сервере должны быть включены некоторые модули, которые на практике включены далеко не всегда.

Настройки исключения

Иногда бывает необходимо не включать какой-либо файл в компиляцию, а загружать его отдельно. Причины тому могут быть разные. JCH Optimize дает возможность исключить отдельные CSS и JS файлы из компиляции общего файла. Сделать это можно на вкладке Настройки исключения:

8

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

Параметры

Помимо описанных выше способов оптимизации, в бесплатной версии JCH Optimize есть также генератор спрайтов. Про спрайты я уже когда-то писал. Если данный термин вам неизвестен, можете посмотреть статью по ссылке.

JCH Optimize предлагает автоматический способ создания спрайта из фоновых изображений вашего сайта. Это также может помочь в ускорении загрузки сайта, т.к. фоновые изображения будут загружаться не отдельно, а сразу, будучи объединёнными в одно изображение-спрайт.

JCH Optimize Pro

В платной версии JCH Optimize добавляются такие функции, как:

  • Поддержка CDN
  • LazyLoad для изображений сайта
  • Оптимизация загрузки CSS, при которой наиболее востребованные стили выносятся в шапку сайта
  • Оптимизация изображений, в том числе и через сервер разработчиков JCH Optimize

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

Заключение

JCH Optimize меня приятно удивил. Это действительно стоящее расширение для тех, кто хочет легко и быстро увеличить скорость загрузки своего сайта на Joomla. Конечно, JCH Optimize не сможет сравниться с профессиональным программистом, но может являться отличной бесплатной альтернативой.

Об авторе
Wedal
(Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.
Основной профиль – создание сайтов и расширений на CMS Joomla.
Добавить комментарий

Комментарии  
1
Благодарен создателям этого сайта и всегда относился с доверием к опубликованным здесь материалам.
Но в отношении этого плагина прошу быть очень осторожным.
Например проверка в гугле после установки этого плагина на моем сайте показала понижение на 9 балов для мобильной версии.
0
Станислав, странно и интересно. Сходу не могу понять, что именно могло вызвать такое понижение. Возможно у вас шаблон, который уже сам собирает файлы в один, и с плагином получается двойная работа.

Так или иначе, не стоит бездумно устанавливать плагин. Стоит поэкспериментировать с настройками и проверить результат по PageSpeed. Для разных сайтов результат может значительно отличаться.

Спасибо, что поделились вашим опытом установки.
0
Да, такая же реакция. Но через некоторое время показатель мобильного сайта увеличился
0
Здравствуйте, почему-то яндекс перестал видеть метрику
что нужно сделать? какое исключение?
0
Alex, смотря как она у вас подключалась. Если отдельным файлом, попробуйте отключить опцию минимизации JS или вынести файл в исключения. Если скрипт добавлялся прямо в шаблон, то попробуйте разные комбинации опций плагина.
0
Google PageSpeed может показать разные результаты для одного и того же сайта в течении нескольких минут. Да и при оптимизации изображений Google PageSpeed зачатую врет. Иногда качество фото занижаю до нуля, а Google PageSpeed все равно показывает, что надо сжать еще
0
iygv, да, бывает. Но какую вы можете предложить альтернативу этому инструменту?
0
Ну я не скажу, что Google PageSpeed это совсем уж плохо, все таки там есть дельные подсказки. Но могу предложить еще несколько похожих севисов, каждый по своему хорош:
http://pr-cy.ru/speed_test
https://tools.pingdom.com
http://www.webpagetest.org
https://gtmetrix.com
0
Спасибо)) в гугле теперь пишеь "похже у вас все хорошо, ничего исправлять не нужно".
0
После установки, сразу же легла админка и весь сайт ! Как быть ?
0
Игорь, интересно... Может быть вы устанавливали плагин на старую версию Joomla?
Но по факту:
1) Можно зайти в базу данных сайта через phpmyadmin, найти в таблице расширений плагин и задать в колонке enabled ноль - так вы отключите плагин.
2) Можно зайти в файл configuration.php, который в корне сайта, найти там опцию error_reporting и установить значение maximum - так вы включите отображение ошибок и сможете понять в чем дело.
0
Версия joomla последняя. В базе данных в таблице extension ничего связанного с этим плагином не нашел. Может подробно опишите где искать. Удалил через менеджер файлов все папки с этим плагином, ничего не помогло.
0
Добрый день!
Да действительно при тестировании страницы сайта в pagespeed скорость по попугаям Google увеличивалась на некоторых страницах чуть не в три раза, но в реальности по чувствам и рецепторам Homo sapiens страницы загружались с паузой полторы, две секунды.
Судя по всему это ситуация с "искусственным интеллектом", что искусственный это видно, а что интеллект... увы. Не знаю, но пока все отключил, так быстрее для человека.
0
Василий, очень странно, что так. Файлы скриптов и стилей компилируются при первой загрузке страницы, а потом просто берутся из кэша. Если вы очистили кэш, то да, первая загрузка будет дольше, но все последующие - почти мгновенно. Хотя тут еще зависит от хостинга тоже. Но я не вижу вариантов, при которых оно будет загружаться медленнее. JCH Optimize используется и на этом сайте. Скорость для человека можете оценить сами.
0
Да, конечно я тоже это понимаю, что страницы из кэша будут мгновенно загружаться. Но я без всяких шуток поведал как мой сайт при включенном плагине загружался медленней и причем гораздо, увеличение скорости при тесте Google pagespeed - приходилось для мобильных страниц, для компьютера скорость увеличивалась совсем чуть чуть, иногда даже и дольше чем при выключенном плагине. При заходе на страницу "обратный звонок" при включенном плагине, визуализация происходила от 2 до 3 сек. При отключенном плагине почти мгновенно.
Что бы выявить все нюансы происходящего надо иметь желание для этого и не слабые мягко сказать знания о том с чего и как состоит сайт и сервер и взаимодействие составляющих всех звеньев этой платформы. Да и видя, что по мобильных показателях не дотяну до 90 гугловских попугаев я полностью остыл к этому начинанию. Например главная страница по мобильным данным получила 6 попугаев при включенном плагине 16, ну и куда тут бежать. Думаю надо будет переходить на Joomla 4 где то в сторонке с более современным шаблоном и потом удалять все и разворачивать все заготовленное.
0
Василий, 6 попугаев - это совсем мало, независимо от плагина. Сайты, которые я делаю на заказ, обычно имеют 60-80 для мобильных вообще без каких-либо оптимизаций, просто в стандартном базовом исполнении. Как можно получить 6 - для меня, честно говоря, загадка. Ну и не должны страницы грузиться по 2-3 секунды. Может быть это связано с вашим хостингом.
0
Думаю все может быть.
После перехода с cPanel на ISPmanager в плане удобства это ока и мерседес. Где Мерседес это cPanel. Что тут скажешь. Санкции в действии. Хорошо только кому ничего не изменилось. Хотя это наверно не должно на скорость влиять. У меня плохой опыт с 6,7 хостами и к нынешнему моему "дому" у меня претензий относительно моего скромного опыта нет.
0
Василий, я бы не сказал, что ISP прямо чем-то хуже. Это, скорее, вопрос привычки. Есть также и самописные панели у разных хостингов, свои. С ними может быть даже быстрее/удобнее/дешевле. Хотя если у вас выделенный сервер, физический или виртуальный, то ISP вполне удобен. Нужно только разобраться с ним.
0
Виталий, изменилось отношение к этому плагину в 2024? По прежнему используете? На этом сайте он есть?
0
gitik, в 2024 году это уже полноценный компонент. Может многое, но также может создавать и много проблем. Нужно хорошо настраивать и внимательно тестировать сайт. С выходом протокола http2 создание общего CSS и JS файла уже не так актуально, но если вы гонитесь за попугаями в Google Page Speed, то да, это расширение позволить увеличить показатель.
0
Почему все отвечают только на первый вопрос?
"По прежнему используете? На этом сайте он есть?"
Лично у меня этот монстр кратно увеличивает нагрузку на сайт. Отключил и ничего плохого не заметил. При кешировании всех ресурсов браузером, возникает вопрос - нафига он нужен?
0
Gitik, нет, больше не использую. Использовал раньше. Может быть вернусь когда-нибудь к нему, но визуально я разницы в скорости загрузки не вижу, тогда зачем усложнять?
0
А каким инструментом перемещаете ява скрипты в низ?
0
Выводом их внизу шаблона в коде. А вообще есть разные расширения, например, jscssmanipulate.
0
jscssmanipulate давно заброшен и он для J3.