Обзоры расширений Joomla

 

 

 

В предыдущей статье «Обзор JCH Optimize Pro. Увеличение скорости загрузки Joomla» мы рассмотрели основные возможности плагина, сравнили его версии, аргументировали важность скорости загрузки Joomla и детализировали ряд настроек JCH Optimize Pro. В этой части рассмотрим оставшиеся опции.

Настройка JCH Optimize Pro

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

Дополнительные параметры

На данной вкладке (рисунок ниже) особого внимания заслуживает опция Использование URL Rewrite. Она позволит «улучшить» кэширование объединённых файлов прокси-серверами и браузерами пользователей. Опция коррелирует с опцией Перенаправление URL в настройках Joomla (Система – Общие настройки – Сайт). Для опции Использование URL Rewrite доступны такие варианты:

  1. Нет. Если у Вас на сайте не активна опция Перенаправление URL (в общих настройках Joomla), то ссылка на объединённые файлы, добавленная в HTML-код страницы, будет выглядеть примерно так: «/media/plg_jchoptimize/assets2/jscss.php?f=d59eb7c31bb5db3d6836588a8771c109&ENGINE=js&gz=gz&d=1&i=0».
  2. Да. Если у Вас на сайте активна опция Перенаправление URL (в общих настройках Joomla), то ссылка на объединённые файлы, добавленная в HTML-код страницы, будет выглядеть примерно так: «/media/plg_jchoptimize/assets/www-jchoptimize/gz/1/0/a25144b9a665ba4f60e0ae89c835d961.js». Данный вариант более предпочтителен, так как некоторые прокси сервера могут не кэшировать файлы, в имени которых содержится запрос. Как в случае с предыдущей опцией (№1).
  3. Да – (без Options +FollowSymLinks). Если в Вашем файле «.htaccess» указана команда «Options +FollowSymLinks» и возникли проблемы, то выберите данный вариант настройки.
  4. Авто. Плагин будет пытаться самостоятельно определить, включено ли перенаправление URL на сервере или нет. В зависимости от этого будет автоматически выбрано Нет, Да или Да – (без Options +FollowSymLinks) для опции Использование URL Rewrite.
JCH Optimize Joomla
JCH Optimize Joomla

Срок (дни). Количество дней, которые JCH Optimize будет хранить кэш сгенерированных файлов. Эта опция может существенно ускорить сайт Joomla и снизить нагрузку на сервер. В зависимости от активности изменений файлов на Вашем сайте (таблиц стилей, скриптов) можно задать большее значение. По истечению этого времени, плагин сгенерирует новые файлы и поместит их в кэш. Данная опция может помочь, если у Вас обнаружились проблемы со временем ответа сервера и\или чрезмерной нагрузкой на хостинг. Обратите внимание, что, например, добавление новой статьи (материала), добавление комментария к материалу и так далее, не требует обновления кэша объединённых файлов.

Применение опций, доступных в области Настройки Поиск и устранение неисправностей будет рассмотрено далее в этой статье в разделе «Поиск ошибок и конфликтов».

Исключить параметры

Опции на данной вкладке (рисунок ниже), в основном, необходимы для устранения ошибок в работе сайта, связанных с применением JCH Optimize Joomla. Найдя причину ошибки, как указано в статье ниже в разделе «Поиск ошибок и конфликтов», можно задать исключения из объединения тех или иных файлов или фрагментов кода. У меня, например, были исключены из объединения файлы кнопок социальных сетей AddThis.

Ускорение сайта Joomla
Ускорение сайта Joomla

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

Особое внимание стоит уделить опциям из области «Удалить CSS и JavaScript файлы из страницы». Они помогут удалить со страницы дубликаты файлов, например, дубликаты библиотек jQuery. Это особо актуально, когда многие расширения Joomla, для своей корректной работы, подгружают для себя библиотеку jQuery. Может возникнуть ситуация, когда таких библиотек подгружено несколько. Это приводит к ухудшению скоростных показателей страницы сайта и может привести к конфликту в его работе (не по вине JCH Optimize).

Бесплатные особенности

Опции на данной вкладке (рисунок ниже) позволяют активировать и настроить генерацию спрайтов. Спрайт – это объединённое изображение. Опция чем-то напоминает объедение CSS и Javascript файлов, но относится к изображениям. Если кратко, то JCH Optimize будет искать на странице «фоновые изображения», например, кнопки (если они в виде изображений), иконки маркированных списков и так далее. Плагин объединит их в одно изображение и изменит код страницы должным образом. Это призвано сократить количество запросов к серверу – должно ускорить загрузку Joomla. Если у Вас появились проблемы в отображении изображений после активации генерации спрайтов, попробуйте изменить направление обработки или включить обёртку. Обратите внимание, что обёртка увеличивает финальный размер спрайта.

Ускорение Joomla 3
Ускорение Joomla 3

Pro Особенности

На данной вкладке (рисунок ниже) можно настроить использование CDN (сеть доставки контента). Если кратко, то статические файлы Вашего сайта (css, png, gif, ico, pdf, js, jp(e)g, bmp, tif(f), doc(x)) будут располагаться на других серверах и будут загружаться в браузер пользователей с этих серверов, если они находятся ближе к пользователю, чем Ваш основной сайт (на основании географического местоположения). Это позволит ускорить загрузку Joomla за счёт «физического» сокращения расстояния между клиентом и сервером и за счёт уменьшения количества промежуточных звеньев (сетевого оборудования). Также ускорение достигается за счёт параллельных загрузок.

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

я собираюсь, в целях оптимизации скорости загрузки, настроить Cookieless Domain (при помощи этого). Сейчас тестирую этот плагин. Без него ссылка на картинку выглядит так:

/images/joomla/rasshireniya/sigplus/nastrojka-sigplus.png

а с ним:

//statich1.aleksius.com/images/joomla/rasshireniya/sigplus/nastrojka-sigplus.png

где "statich1.aleksius.com" - один из 3-х Cookieless-доменов. В связи с этим у меня вопросы:
1) Будет ли проблема с индексацией картинок и всего сайта в целом? Собираюсь таким образом разнести все файлы с расширениями css, png, gif, ico, pdf, js, jp(e)g, bmp, tif(f), doc(x).
2) Будет ли проблема в получении трафика с поиска по картинкам? Сейчас он маленький, но есть.
3) Такая манипуляция не нарушает ни каких правил Яндекса? В лицензии на поиск Яндекса я ничего не нашёл на этот счёт.

Ответ службы поддержки Яндекса (Платон Щукин):

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

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

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

Обратите внимание, что для работы CDN Вам нужен определённый «провайдер». JCH Optimize Pro работает с такими провайдерами:

Если денег на это нет, можно воспользоваться «куки-доменом». То есть, статические файлы будут загружаться с того же сервера, что и Ваш основной сайт, но с разных поддоменов. В своей панели управления хостингом создайте три поддомена. Все они должны вести в корневую папку Вашего основного сайта. Как это сделать именно на Вашем хостинге\сервере зависит от установленной там панели управления.

При использовании поддоменов перейдите в общие настройки Joomla (Система – Общие настройки – Сайт) и в поле Cookie домена введите имя своего домена, например, «www.aleksius.com» (без кавычек). Подробнее об этих настройках можно прочесть в официальной документации Joomla. Затем настройте JCH Optimize Pro так, как показано ниже. Но вместо «www.statich1.aleksius.com», «www.statich2.aleksius.com» и «www.statich3.aleksius.com» укажите созданные Вами поддомены. Можно создать и указать от 1 до 3 поддоменов.

Обратите особое внимание на наличие в доменном имени Вашего сайта «www». Если у Вас домен без «www», то использовать вариант с «куки-доменами» нельзя. Только CDN. Иначе, это повлияет на все поддомены сайта и может привести к некорректной работе.

Ускорение загрузки Joomla
Ускорение загрузки Joomla

Несмотря на то, что использование «куки-доменов» дешевле чем CDN, некоторые тарифные планы хостинг-провайдеров могут не позволить Вам создавать поддомены. Для решения этой проблемы обратитесь к Вашему хостинг-провайдеру.

Оптимизация изображений

На данной вкладке (рисунок ниже) Вы можете выбрать файлы изображений и\или папки, содержащие изображение. Также можно изменить размер изображений (по ширине и высоте). Для работы данной опции обязательно нужно ввести Ваш лицензионный ID в настройки плагина на вкладке Pro Особенности.

Обратите внимание, что на Вашем сервере должна быть включена поддержка c URL. Её могут отключать для повышения безопасности сайта и его защиты от взлома.

Оптимизация изображений
Оптимизация изображений

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

Поиск ошибок и конфликтов

Очень важным вопросом в процессе настройки JCH Optimize Pro и ускорения сайта в целом является поиск ошибок и конфликтов. В документации разработчика есть хорошая статья «How to Resolve Conflicts with Other Extensions» (на англ.) о том, как это делать. Рассмотрим основные моменты.

Сперва выясните, вызвана ли ошибка именно плагином JCH Optimize Pro. Это сделать достаточно просто. Отключите плагин, очистите кэш Joomla и браузера, повторите проверку. Если ошибка устранена, скорее всего, причина в конфликте с JCH Optimize Pro. Нет – ищите другие причины.

Перед началом настройки JCH Optimize Pro отключите все расширения кэширования, если они есть, а также кэширование в самой Joomla. Кэш Joomla отключается тут: Система – Общие настройки – Система – Кэш. Также проверьте плагин кэширования «Система - Кэш» в Расширения – Менеджер плагинов, если он включён – отключите.

На вкладке Дополнительные параметры активируйте опцию Отладка плагинов и Используйте Try-Catch. После устранения проблемы, деактивируйте эти опции. Для добавления отладочной информации JCH Optimize Pro к отладочной информации Joomla нужно включить одноимённый плагин Joomla и активировать настройку отладки в общих настройках Joomla.

Опция записи исключений в лог файл, на данный момент (17.12.2015) в переводе она значится как «Войти поймали исключения» (на вкладке Дополнительные параметры в области «Настройки Поиск и устранение неисправностей»), позволяет записывать информацию об ошибках в специальный файл «plg_jch_optimize.errors.php», который будет создан или в Вашей папке логов Joomla или, если такой папки нет, в папке логов плагина. В этом файле могут содержаться сведения об ошибках, в случаях, когда JCH Optimize Pro включён, но результатов оптимизации нет.

Есть вероятность, что конфликт вызван объединением CSS или Javascript. Если Вы не уверены точно, с объединением каких именно файлов связана ошибка, то проверяйте оба «объединения» поочерёдно. Как правило, если Вы видите, что сайт (его части) отображается не корректно, то, скорее всего, проблема в объединении CSS. А если что-то не работает или работает не должным образом, тогда, скорее всего, проблема в объединении Javascript.

Поиск проблем, связанных с объединённым CSS. На вкладке Основные параметры нажмите на заголовок «Автоматическое Группа Настройки» и отключите опцию объединения CSS-файлов (рисунок ниже).

Отключение объединения файлов
Отключение объединения файлов

Проверьте результат. Если проблема устранена, попробуйте найти конфликтующий файл в объединённом CSS-файле. Для этого верните настройки JCH Optimize Pro к предыдущему состоянию, сгенерируйте страницу повторно. В её исходном коде найдите ссылку на объединённый файл CSS. Она примерно такая: «/media/plg_jchoptimize/assets2/jscss.php». Скопируйте всё содержимое этого файла в поле на сайте Csslint.net (рисунок ниже). Отключите поиск всех ошибок и нажмите на кнопку «Lint!».

Csslint.net
Csslint.net

На следующей странице (рисунок ниже) ошибки типа «Unknown @ rule: @-ms-keyframes» игнорируйте, а все остальные учтите. Нас интересуют ошибки «Parsing Errors».

Найденные ошибки в CSS файле
Найденные ошибки в CSS файле

Откройте Ваш объединённый файл, например, в Notepad++ и найдите в нём строку, в которой тест нашёл ошибку. Путь к файлу примерно такой «/media/plg_jchoptimize/assets». Чтобы узнать, к какому именно CSS-файлу относится строка с ошибкой в объединённом CSS-файле, прокрутите полосу прокрутки вверх до ближайшей пометки вида «/***! /templates/aleksius_com_1_9_72/css/template.css !***/». Путь «/templates/aleksius_com_1_9_72/css/template.css» указывает на файл, который содержит ошибку. Его можно или исправить (что более предпочтительно), или добавить в исключения в настройках JCH Optimize Pro на вкладке Исключить параметры в поле Исключить CSS-файлов.

Поиск проблем, связанных с объединённым Javascript. На вкладке Основные параметры нажмите на заголовок «Автоматическое Группа Настройки» и отключите опцию объединения Javascript файлов (по аналогии с CSS).

В зависимости от того, каким браузером Вы пользуетесь и какое дополнительное расширение в нём установлено, действия могут отличаться. Покажу на примере Mozilla Firefox 43.0 (рисунок ниже). В меню браузера выберите Разработка – Веб консоль, перейдите на страницу сайта, где есть ошибка, обновите страницу и посмотрите, какие ошибки появятся в консоли.

Найденные ошибки в Javascript файле
Найденные ошибки в Javascript файле

Ищите ошибку «Uncaught ХХХ Error». Вместо «ХХХ» будет указание ошибок. Нажмите на ссылку на объединённый Javascript файл в окне консоли, ссылка, примерно, выглядит так: «/media/plg_jchoptimize/assets». Чтобы узнать, к какому именно Javascript файлу относится строка с ошибкой в объединённом Javascript файле, прокрутите полосу прокрутки вверх до ближайшей пометки вида «/***! /modules/mod_ext_tabs/js/tabPane.min.js !***/». Путь «/modules/mod_ext_tabs/js/tabPane.min.js» указывает на файл, который содержит ошибку. Его можно добавить в исключения в настройках JCH Optimize Pro на вкладке Исключить параметры в поле Исключить JavaScript файлов.

В следующей статье «Скорость загрузки сайта Joomla» мы рассмотрим итоги оптимизации, сравним результативность работы автоматических настроек JCH Optimize Joomla и поговорим о том, какую скорость загрузки сайта можно считать нормальной. Кроме этого будет приведён перечень ресурсоёмких настроек и рекомендации по общей оптимизации Joomla без JCH Optimize.

 

Полезные ссылки: