Как ускорить загрузку сайта

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

Зачем вообще ускорять работу сайта, неужели без этого нельзя обойтись? Конечно, можно ни обращать внимание на то, что Ваш сайт загружается слишком медленно, об этом можно даже не волноваться, если Вас не интересуют такие показатели как:

  • Количество посетителей попавших на сайт с поисковых систем
  • Количество отказов – другими словами то количество людей, которые закрыли сайт, не дождавшись его загрузки
  • Рейтинг в поисковых системах
  • Позиции сайта в поисковой выдаче

Кроме того этот список можно дополнить таким показателем как доход с продаж или рекламы.

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

Следите за обновлениями движка и расширений

Первое и самое простое, на что стоит обратить внимание это на наличие обновлений движка и расширений. Старейтесь обновлять Joomla своевременно, ведь обновления выходят не просто так. Последние версии всегда содержат исправленный, улучшенный и оптимизированный код (по крайней мере, все мы на это надеемся) способный повысить производительность сайта.

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

Обновление расширений происходит примерно по той же самой схеме. Переходим на страницу «Менеджер расширений: Обновление» (Расширения -> Менеджер расширений -> Обновление):

Проверка расширений Joomla 3 на наличие обновлений

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

Включаем кэширование для ускорения загрузки страниц сайта

Не последнюю роль в скорости загрузки сайта играет кэш Joomla. Если на Вашем сайте достаточно много материалов, которые изменяются, не слишком часто, то включив кэширование можно существенно сократить время загрузки сайта.

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

  • На странице «Общие настройки» (Система -> Общие настройки), перейти на вкладку «Система». Тут можно настроить время жизни кэш-файлов, уровень кэширования и т.д.
  • На странице «Менеджер плагинов: Плагины» найти и включить плагин «Система – Кэш»
  • Воспользоваться файлом «.htaccess» и включить возможность использовать кэш браузера.

Сжатие страниц сайта Joomla

Увеличить скорость загрузки сайта можно так же при помощи сжатия данных. В Joomla все предусмотрено и в ней уже есть готовое решение по сжатию данных при помощи архиватора Gzip. Все что нам остается сделать, это включить то самое Gzip-сжатие.

Включаем Gzip-сжатие точно так же как и кэширование в общих настройках системы (Система -> Общие настройки) на вкладке «Сервер». Кроме того будет не лишним поинтересоваться у своего хостинг-провайдера о том поддерживает ли их сервер данную опцию, дело в том что некоторые провайдеры ставят запрет на подобные опции.

Проверить включено ли Gzip-сжатие на сайте можно воспользовавшись одним из множества онлайн сервисов, а так же на странице «Проверка ответа сервера» Яндекс Вебмастера.

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

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

Самый действенный способ уменьшить физический размер изображения это воспользоваться специальными графическими редакторами, например Photoshop, но даже данная программа не всегда позволяет добиться желаемого результата – сжать изображение без потери качества. Тут я могу Вам посоветовать один замечательный онлайн сервис, которым я сам лично пользуюсь – compressjpeg.

Сервис действительно отличный, с его помощью можно сжимать не только изображения, но и PDF документы вплоть до 85%. Хочу заметить, что наилучшему сжатию поддаются PNG изображения. Чисто ради примера решил предоставить Вам скриншот с результатами сжатия случайного изображения:

Онлайн сервис по сжатию изображений без потери качества

Благодаря данному сервису мне удалось сжать PNG изображение со 137 до 38 килобайт, при этом как я не старался найти в файлах отличия этого мне так и не удалось.

Оптимизировать, конечно, можно любые изображения, но будет гораздо лучше, если загружать на сайт только такие изображения, размер которых не будет превышать область блока, в котором они будут размещаться. Другими словами не пытайтесь впихнуть изображение размером 2400 пикселей в ширину в блок шириной 800 пикселей, это не лучшим образом скажется на скорости загрузки сайта.

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

С другой стороны, если Вам все же надо добавлять изображения с высоким разрешением то лучше воспользоваться таким методом – выводить на страницах сайта их миниатюры, при щелчке по которым пользователь сможет посмотреть полную версию изображения. Это поможет значительно сократить время загрузки страницы. Как раз для подобных целей могу посоветовать отличный плагин mAvik Thumbnails, который способен создавать миниатюры изображений «на лету» без участия пользователя.

Оптимизация скриптов (JavaScripts) и файлов стилей (CSS)

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

В настоящее время это не проблема, если Ваш веб-сервер поддерживает сетевой протокол HTTP/2.0 (проверить это можно на определенных онлайн сервисах, например keycdn). Но как показывает практика, только единицы веб-серверов могут похвастаться поддержкой нового протокола.

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

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

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

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

Проверьте сайт на наличие мусора

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

Оптимизируйте базу данных

База данных и её объем так же играет не последнюю роль в скорости загрузки страниц сайта. Чтобы ускорить загрузку сайта придется копаться в таблицах базы данных, искать неиспользуемые, очищать либо удалять их.

В некоторых случаях удается сократить объем базы данных вплоть до 95%, просто очистив то, что не используется. Как это сделать мы подробно разбирали в нескольких статьях – оптимизация базы данных часть 1 и часть 2.

Хостинг – ключ к успеху

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

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

Советую периодически замерять скорость сайта и обращать внимание на время ответа сервера, в идеале оно не должно превышать 200 миллисекунд, если этот показатель будет значительно выше, то стоит обратиться к своему хостинг провайдеру и уточнить причину. Проверить время ответа сервера, можно воспользовавшись инструментами Яндекса для вебмастеров:

Проверка времени ответа сервера - в идеале этот показатель не должен превышать 200 мс

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

 

Добавить комментарий


Комментарии   

Гость
+3 #1 Гость 09.09.2017 11:22
Как вариант можно использовать утилиту JBETOLO, суть та же что и JCH Optimize, но мне нравится больше
Цитировать
Гость
+1 #2 Гость 09.09.2017 12:41
Или как вариант RokBooster, тоже хороший плагин
Цитировать
james
0 #3 james 11.01.2018 15:54
Ciao Ragazzi, Ho recentemente provato un nuovo sito Web optimizejpeg.com per ridurre le dimensioni dell'immagine e accelerare il caricamento della mia pagina web, e ho ottenuto risultati migliori, quindi ragazzi penso che dovreste dare un'occhiata a questo sito.
Цитировать
Joom4all
0 #4 Joom4all 12.01.2018 12:20
Да, как правильно подметил товарищ из Индии, для сжатия изображений можно так же воспользоваться сервисом предоставляемым сайтом optimizejpeg.com, однако по функционалу он ничем не лучше того что представлен в данной статье. Однако скорость сжатия и отсутствие поддержки русского языка несколько напрягает.
Цитировать
Роман
-1 #5 Роман 20.03.2018 02:08
Для ускорения могу посоветовать w.tools . Моему сайту хватило подключения.
Цитировать