Где сэкономить на скорости загрузки сайта

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

 

Медиа-файлы:

  • 1) Используйте меньшие изображения — в то время, как изображения не являются проблемой для большинства пользователей широкополосного канала, они все равно существенно замедляют сайт. Вы можете изменить размер и сжать JPG изображение с 200 кб до 50. Сделать это могут простейшие программы, например IrfanView.
  • 2) Используйте меньшее количество изображений или скриптов галерей — не следует отображать несколько изображений на одной странице, если конечно ваш сайт не является галереей. Если вам все же требуется сделать это, тогда используйте скрипт галереи.
  • 3) Используйте меньшее количество Flash анимаций или элементов — не используйте Flash в дизайне сайта. Flash используется для разработки веб-приложений, аудио и видео плееров. Flash анимация часто бывает лишней.
  • 4) Не используйте видео — а действительно ли необходимо загружать это видео на главной странице? Рассматривайте видео в качестве дополнения, которое можно показать и на дополнительной странице.
  • 5) Не используйте аудио — самое гиблое дело — это автоматическое воспроизведение аудио-файла на странице. Лично у меня есть специальное дополнение, которое блокирует все нежелательные звуки. Если вам все же хочется, чтобы пользователь прослушал аудио-файл, дайте ему выбор.

Файлы:

  • 6) Уменьшите количество http запросов — некоторые сайты посылают сотни http запросов. Это означает, что для каждого изображения или скрипта, сайт посылает запрос к серверу. Подумайте, а нужен ли тот или иной запрос.
  • 7) Объединение изображений, стилей и скриптов — самым очевидным способом уменьшения количества http запросов является объединение файлов. В большинстве случаев нет нужды в хранении нескольких CSS или Java Script файлов. Для объединения изображений используйте так называемые CSS Спрайты.
  • 8) Сжатие на стороне сервера (серверная компрессия) — сжимать файлы вы можете при помощи Gzip или PHP.

Скрипты:

  • 9) Используйте внешние скрипты — не встраивайте скрипты в HTML страницы. Используйте внешние файлы скриптов, а еще лучше — один.
  • 10) Воздержитесь от использования нескольких JavaScript библиотек — хотя JavaScript библиотеки и позволяют использовать ООП, я встречал много сайтов которые подключают несколько библиотек сразу, несмотря на тот факт, что они выполняют одни и те же функции.
  • 11) Не используйте замены шрифта — инструменты по замене шрифтов делают заголовки привлекательными, но они обычно используют технологию Flash или Java Script, либо и то и другое вместе. Это требует значительных ресурсов.
  • 12) AJAX Кэширование – довольно просто включить AJAX кэширование, которое сэкономит время на загрузке повторяющихся запросов.

Веб-хостинг:

  • 13) Перейдите на более быстрый сервер — Из-за недостаточных ресурсов сервера сайт при нагрузке будет тормозить и работать со сбоями, переход на более производительный сервер ускорит ваш сайт.
  • 14) Используйте локальный сервер — взгляните на статистику и определите, где живет большая часть ваших пользователей. Затем, вместо того, чтобы каждый раз посылать их на другой конец света, перенесите сайт на хостинг, расположенный именно там.
  • 15) «Облачный хостинг» — виртуальный хостинг или выделенный сервер хороши, но при высоких нагрузках они замедляются или вообще могут отключиться. Облачный хостинг, по крайней мере теоретически, работает постоянно. Связано это с тем, что ваш контент распределяется по множеству серверов, и при резком скачке трафика, нагрузка распределяется.
  • 16) Используйте CDN – Content Delivery Networks (сети доставки контента) имеют преимущества как локального так и облачного хостинга. Такие сети доставляют контент в зависимости от места, откуда был сделан запрос. К сожалению,  в отличии от Запада в РУнете такие сети не развиты.

Код:

  • 17) Загружайте внешние скрипты внизу — в прошлом, Google Analytics требовал вставки кода в хедер HTML страницы. Как только сервис становился недоступным — ваши страницы не загружались. Убедитесь в том, что все внешние скрипты загружаются в самом низу страницы.
  • 18) “Почистите” код — каждый сайт, который мне довелось проверить, имел лишний код. Иногда не использовались целые части. Удалите все, что не используется.
  • 19) Не используйте таблицы — раньше, для верстки страниц использовались таблицы. С появлением CSS и веб-стандартов этот метод устарел. Однако до сих пор встречаются те, кто пользуется старым методом. Позаботьтесь о замене таблиц блоками (div), это позволит существенно уменьшить количество кода.
  • 20) Сжатие скриптов (например, удаление пустых пробелов в файлах) — даже самые эффективные файлы имеют огромное количество пробелов, которые увеличивают их размер. В то время, как HTML и CSS довольно сложно сжать, скрипты легко поддаются сжатию.

Базы данных:

  • 21) Не используйте ”чистые” URL (mod_rewrite) – чистые URL важны как для SEO, так и для юзабилити, но они замедляют загрузку страниц. Попробуйте использовать URL в их стандартном виде. Google теперь может индексировать слишком сложные динамические URL. Например, переписанная ссылка shop?p=shoes&b=adidas&s=45 может выглядеть так shop/shoes/adidas/45.
  • 22) Уменьшение количества запросов — и вновь сохранить время вам поможет уменьшение количества запросов, посылаемых к базе данных (особенно для популярных сайтов). Например, в заголовке изображения вы можете использовать одно и то же поле для тега title, h1 и атрибута alt. Это всего лишь один запрос вместо трех.
  • 23) Кэширование файлов в качестве статической информации — вместо того, чтобы создавать отдельную страницу для каждого пользователя, вы можете сохранить страницы как статические файлы — кэшировать их. У WordPress дляэтого есть плагин WP Super Cache.

Сторонние сервисы:

  • 24) Gravatar – жаль, но встроенный в WordPress Gravatar посылает множество запросов. Даже стандартные изображения уникальны для каждого пользователя, оставившего комментарий на вашем блоге. Отключением Gravatar вы сохраните много ресурсов.
  • 25) элементы Социальных сетей – вставляя в контент инструменты (Facebook, Vkontakte и т.п.) вы делаете его более удобным для распространения, однако подумайте дважды перед тем, как сделать это. Большая ли у вас аудитория в соц. сетях? Их  инструменты загружают десятки элементов на ваш сайт. Даже кнопки Twitter могут замедлить ваш сайт.
  • 26) Используйте как можно меньше инструментов аналитики — Сейчас инструментов для аналитики сайта очень много, кроме посещаемости они помогают нам следить за поведенческим фактором и улучшать юзабилити. Оставьте самые нужные , так как каждый из этих инструментов существенно замедляет скорость загрузки каждой страницы.
  • 27) Используйте более быстрый код Google Analytics – существует 2 способа вставки кода Google Analytics в страницу: традиционный и асинхронный. Последний загружает данные в фоне, не влияя на загрузку самой страницы.
  • 28) Не интегрируйте виджеты со сторонних ресурсов — в наши дни виджеты очень распространены, особенно те, которые выводят контент со сторонних ресурсов. Вы можете установить любой виджет. Большинство из них не принесут вам ощутимой пользы, но увеличат время на загрузку.