Скорость загрузки сайта — 15 шагов как её увеличить

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

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

Скорость загрузки сайта один из важнейших параметров SEO ваших статей. Говорят, что гугл скорости загрузки сайта придаёт большее значение чем яндекс. Но что бы там не говорили, все поисковые системы любят высоко скоростные сайты. Почему же скорость загрузки сайта так важна для поисковых систем? Для лучшего понимания важности этой величины, давайте немного углубиться в принципы работы поисковых роботов.

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

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

После принятых мер, скорость загрузки моего сайта выросла в 3 - 7 раз. Замеры времени проводились уже после оптимизации изображений. А учитывая оптимизацию изображений, скорость загрузки сайта возрастает намного больше. Разброс в цифрах говорит о том, что скорость загрузки сайта величина вообще не постоянная. Более того она зависит от очень большого количества факторов, которые постоянно меняются. Давайте разберёмся, что же влияет на формирование этой величины.

Скорость загрузки сайта и что на неё влияет

Время ответа сервера

Это самый важный параметр. Зависит он от многих факторов, которые мы сейчас будем рассматривать. Часто время ответа сервера определяет, насколько быстро ваш сайт будет работать вообще. Возможно после исследования и устранения всех причин, влияющих на время ответа сервера, вам придётся просто поменять хостера. И так начнём.

Как вы уже знаете, сайт расположен на сервере. Сервер это специальный компьютер, предназначенный для раздачи информации всем пользователям сети. И как всякий компьютер, он должен быть мощным. А для обслуживания большого количества пользователей он должен быть очень мощным. Как правило, нормальные хостеры описывают оборудование своих серверов: тип процессора, объём памяти, тип жесткого диска (SATA, SCSI,...), операционная система сервера (Unix, Linux, Windows). И вы по своему кошельку или по требованиям к сайту, точнее к его посещаемости и объёмам хранимой информации, выбираете тариф и оборудование. Отсюда вывод:

1. Чем мощнее сервер, тем меньше время ответа сервера, тем быстрее работает сайт.

Если с оборудованием всё понятно, то какое отношение к мощности сервера имеет операционная система? Самое непосредственное. Unix изначально разрабатывалась как сетевая, многозадачная и многопользовательская серверная операционная система. Она получилась более производительной, чем Windows. Были случаи, кода простая замена операционной системы  сервера Windows на Unix приводила к двукратному увеличению скорости работы сети. Linux это производные ОС от Unix и в силу своей комплектации могут незначительно отличаться. Поэтому обращайте внимание и на ОС. Вывод:

2. Лучшая ОС - Unix, значительно улучшает время ответа сервера.

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

3. Чем меньше сайтов расположено на одном сервере, тем меньше запросов обрабатывает сервер, тем быстрее время ответа сервера, тем быстрее работает ваш сайт.

Развивая дальше тему, что плохого, когда много сайтов на одном сервере, должен сказать, что сервер подключен к интернету, как правило, только одним сетевым кабелем. Это значит, все сайты передают информацию в интернет поочерёдно, используя только один общий IP-адрес. В случае сильной нагрузки (огромное количество запросов) на любой сайт этого сервера, будет тормозить весь сервер. И ваш сайт будет загружаться медленно. В случает блокировки IP-адреса  по решению суда, будут заблокированы все сайты, расположенные на этом сервере и ваш сайт станет недоступным для посетителей. Отсюда ещё один важный вывод:

4. Лучше иметь свой выделенный IP-адрес. Это повышает безопасность и скорость обработки запросов именно к вашему сайту, а следовательно и время ответа сервера.

Суммируя два последних вывода, получаем новый вывод ещё более важный:

5. Лучше под сайт заказать Выделенный сервер с выделенным IP-адресом. Это много-кратно повышает безопасность и время ответа сервера, а следовательно и быстродействие вашего сайта.

Да это дорого, но в плане максимальной безопасности и максимальной производительности сайта это того стоит. (Имеет особую важность для высоко-посещаемых сайтов).

Так потихоньку мы вышли за пределы самого сервера, но факторы, влияющие на время ответа сервера, этим не заканчиваются. Есть ещё как минимум два.

Место расположения сервера (регион). Как вы понимаете, значение расстояния от сервера до пользователя ещё ни кто не отменял и чем оно длиннее, тем время ответа сервера больше. Глупо было бы предположить, что сайт, расположенный на американском, или австралийском сервере будет для европы отвечать быстрее, чем сайт, расположенный на европейском сервере.

В идеале сервер должен находиться в середине зоны вещания, или хотя бы как можно ближе к самой зоне. Поэтому не стоит пренебрегать региональными серверами. Это особенно касается в первую очередь сайтов-магазинов направленных на конкретный регион. Если вы стараетесь охватить несколько регионов, то пусть будет в каждом регионе свой сайт. Они будут более быстро доступны для покупателей в своём регионе. Поэтому вывод такой:

Читайте также:  Файл sitemap - Карта сайта для поисковика

6. При вещании на определённый регион выбирайте сервер в центре региона, или как можно ближе к региону.

Время отклика DNS-сервера

Доступ к сайтам осуществляется через доменные имена, которые сопоставляются с IP-адресами на DNS-серверах. DNS-серверы имеют своё время отклика, которое может сильно меняться в конкретный момент времени, в зависимости от загруженности каналов связи. DNS-серверы при прокладывании пути к нужному IP-адресу общаются между собой. Они отправляют запрос тому серверу, который в зависимости от загруженности отвечает раньше. Поэтому, в конкретный момент времени, заранее нельзя знать по какому пути пойдет запрос и насколько быстро, и по какому пути вернётся ответ. Естественно Время отклика DNS-сервера оказывает огромное влияние на общую скорость ответа сервера.

Чем дольше обрабатывает запрос DNS-сервер, тем больше становится общее время ответа сервера. Иногда это время меняется в десятки раз. Повлиять на DNS-серверы мы ни как не можем. Но учитывая что NS расположены на серверах хостинга выбор хорошего местного хостера значительно может снизить это влияние. Поэтому ещё один вывод:

7. Время отклика DNS-сервера сильно влияет на время ответа сервера. Проблема решается выбором сервера от местного хостера.

Теперь снова возвращаемся на сервер к сайту. И будем рассматривать, что еще влияет на скорость загрузки сайта, но уже с точки зрения программного обеспечения и объёмов информации.

Настраиваем wp-config.php

Небольшой способ улучшить скорость загрузки сайта — немного изменить настройки файла wp-config.php, который находится в корневой директории вашего вордпресса.

Находим в файле wp-config.php строку:

define ('WPLANG', 'ru_RU');

Заменяем её на:

if (strpos($_SERVER['REQUEST_URI'], 'wp-admin')) define ('WPLANG', 'ru_RU'); else define ('WPLANG', 'ru_RU_lite');

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

Удаляем ненужные плагины

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

Отключаем пинг беки и трек беки

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

Скорость загрузки сайта - Отключаем пинг беки и трек беки

Скорость загрузки сайта - Отключаем пинг беки и трек беки

Отключение этих функций не только ни как не навредит вашему сайту, а ещё снизит нагрузку на сайт и уменьшить количество спама по этим каналам.

Выбираем быструю тему шаблона

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

Настраиваем тему

1. Максимально уменьшаем количество виджетов. Удаляем, виджеты "Архивы", "Свежие записи", "Свежие комментарии", "Популярные сообщения", "Мета". Если у вас уже есть хорошее меню, то виджет "Рубрики" тоже удаляем. Можно оставить виджет "Облако меток" и то только если очень нужно. Эта процедура уменьшает количество запросов к БД, сокращает объём кода для всех ваших страниц и резко уменьшает количество ссылок на всех страницах вообще, а так же уменьшает количество ссылок дублей ваших страниц. Что очень полезно. Дело в том что архивы, рубрики и метки формируют для ваших сообщений новые URL, но с тем же содержанием. Об этом достаточно подробно написано в настройках SEO плагинов, в частности Yoast SEO.

2. Максимально облегчаем домашнюю страницу. На домашней странице уменьшаем количество сообщений. В настройках чтения указываем небольшое количество "5-7", не более (постраничную навигацию поможет создать плагин WP-PageNavi). Обязательно указываем "Выводить только Анонсы", а не полный текст. Анонсы в статьях делаем короткие из одного абзаца на 3-7 предложений. Остальной текст отделяем разделителем "Читать далее".

3. Облегчаем размеры выводимых страниц. Очень большие статьи разделяем на страницы с помощью тега <!-nextpage->.

4. Если ваши статьи активно комментируются, не следует выводить под статьёй больше 50 комментариев. Используйте переключение страниц между комментариями. Настройки устанавливайте в "Настройках обсуждений".

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

Уменьшаем в объёмах все картинки, имеющиеся на сайте. Если у вас есть изображения в формате PNG, переформатируем их в JPG. Файлы JPG формата значительно меньше по размерам. Но и JPG тоже можно ужать. Сжатие изображений может достигать 30-70%, что позволяет уменьшить объём страницы в 2-3 раза. Соответственно во столько же раз вырастит скорость загрузки страницы. Самый простой и лучший способ выполнить эту операцию, это проверить скорость загрузки сайта на developers.google.com/speed/pagespeed/insights/.

После тестирования страницы, ниже результатов тестирования и ниже пункта «Внедренные приемы оптимизации», находите строку «Скачать оптимизированные изображения, ресурсы JavaScript и CSS для этой страницы». Нажимаете на ссылку и скачиваете архив, с уже сжатыми изображениями, JavaScript и CSS файлами. Распаковываете его. Смотрите в результатах тестирования, что где находится и копируете файлы на свои места на сайте. Так вы разом убиваете трёх зайцев. Но правда не всех сразу. Такую процедуру придётся выполнить для каждой страницы отдельно.

Если страниц на сайте очень много, а изображений ещё больше и данный способ не подходит, то вы можете использовать плагин WP Smush. Он хорош тем что позволяет не только оптимизировать вновь загружаемые на сайт изображения, но и выполнить массовую оптимизацию всех имеющихся на сайте изображений. Правда бесплатная версия делает это по частям, но это на много проще предыдущего способа.

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

Читайте также:  All in one SEO pack - SEO плагин Wordpress настройки и возможности

Оптимизируем JavaScript и CSS

Описанная выше операция оптимизации JavaScript и CSS даёт некоторую усадку объёма, за счет уменьшения количества пробелов и комментариев,  но не решает всех проблем, которые они создают. JavaScript и CSS, расположенные в шапке сайта, сильно тормозят загрузку содержимого сайта. Происходит это потому, что при запросе JavaScript или CSS, файлы не только их загружаются, но  ещё и выполняются. На это время загрузка страницы приостанавливается. И чем файлов больше, чем больше их объём, тем больше они тормозят загрузку сайта. Чтобы ускорить загрузку сайта необходимо все файлы JavaScript и CSS объединить в один файл и перенести в конец страницы. С такой задачей великолепно справится плагин Autoptimize. Кроме этого он ещё оптимизирует HTML-код вашего сайта (извлекает из кода тексты комментариев).

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

Основой WordPress является база данных, в которой записано всё о вашем сайте: доменное имя, URL, название сайта, название статей, их содержание, адреса расположений картинок, комментарии и всё, всё, всё… При написании статей сохраняются промежуточные копии (ревизии), которых может быть очень много. Большинство плагинов, при активации и работе, в базу добавляют свои таблицы. А после их отключения, эти таблицы остаются брошенными. В результате база раздувается и скорость обработки запросов к ней естественно снижается. Поэтому периодически необходимо чистить базу данных и оптимизировать. Быстро и качественно выполнит эту работу один из плагинов WP-Optimize, Wp-DBManager, Optimize Database after Deleting Revisions, WPDBSpringClean.

Уменьшаем количество запросов к БД или редактируем шаблон

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

Открываем файл header.php вашего шаблона в текстовом редакторе, желательно Notepad++ (можно в AkelPad или phpDesigner).

1. Указываем кодировку. Если вы используете на сайте UTF-8, то делаем так:
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>;charset=<?php bloginfo('charset'); ?>" />

заменяем на:
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Так мы избавились сразу от 3 запросов.

2. Указываем прямые адреса местоположения файлов стилей. Ищем код, отвечающий за стили.
<link rel="stylesheet" href="

То что вы найдёте в header.php будет выглядеть примерно так:
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen, projection" />

или
<link rel="stylesheet" href="<?php echo THEMATER_URL; ?>/css/defaults.css" type="text/css" media="screen, projection" />

Реально у вас может быть несколько файлов стилей. Определить какие у них адреса можно в браузере, например в Гугл Хроме
открываете сайт и нажимаете комбинацию клавиш «Ctrl+U». Копируете часть кода:
rel="stylesheet"

и вставляете его в окно поиска на открывшейся странице. Между треугольными скобками и будут расположены коды необходимых адресов.
Их и будете целиком вставлять header.php.

Строка с кодом может выглядеть примерно так:
<link rel="stylesheet" href="https://ваш-сайт.ru/wp-content/themes/название-темы/style.css" type="text/css" media="screen, projection" />

или так, если файл находится не в корневой папке WordPress:
<link rel="stylesheet" href="https://ваш-сайт.ru/wp-content/themes/название-темы/lib/css/defaults.css" type="text/css" media="screen, projection" />

Таким образом избавляемся ещё от 1-4 запросов к базе данных.

3. Ищем код пинбеков (ещё 1 запрос) наиболее вероятный файл нахождения Themater.php:
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />

Заменяем его на:
<link rel="pingback" href="https://вашдомен.ru/xmlrpc.php" />

4. Ищем код RSS ленты (2 запроса) наиболее вероятный файл нахождения Themater.php:
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />

Заменяем его на:
<link rel="alternate" type="application/rss+xml" title="Название_вашего_сайта RSS Feed" href="http://вашдомен.ru/feed" />

5. Если там же присутствует запрос для вывода адреса фавикона, так же точно исправляем на адрес фавикона. (минус ещё 1 запрос)

6. Частенько в подвале сайта (footer.php), разработчики шаблонов вставляют запросы к Базе данных выводящие
название сайта (1 запрос):
<?php get_bloginfo('name') ?>

текущий год (1 запрос):
<?php echo date('Y'); ?>

адрес сайта и название сайта (2 запроса):
<a href="<?php echo home_url(); ?>"><?php $theme->option('site_title'); ?>

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

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

Маленькие советы, которые позволят ускорить загрузку сайта

1) Если ваш сайт не использует комментарии, не надо их скрывать с помощью плагинов, это только создает дополнительную нагрузку на сервер. Правильнее сделать так. Если нужно отключить комментарии только на некоторых страницах или статьях, открываете нужную статью в редакторе. В правом верхнем углу есть кнопка «Настройки экрана». Нажимаете её и убираете галочку возле блока «Комментарии». Так отключаем вывод блока комментариев для конкретной статьи или страницы.

Если же вам комментарии не нужны ни где, просто удалите следующий код из файла темы (single.php):

<?php comments_template(); ?>

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

3) Все дополнительные коды, скрипты на подобии счетчиков от Live Internet, Google Analytics, Яндекс Метрика стоит размещать в подвале сайта, что бы они так же как и другие скрипты грузились только в самую последнюю очередь. Для этого не стоит применять специализированные плагины, подключающие счетчики. Они слишком громоздкие и преследуют скорее рекламные цели нежели просто подключение счетчиков. Если шаблон имеет в настройках специальное поле для ввода кода в подвал, то лучше воспользоваться им или в крайнем случае плагином для ввода кода в нижний колонтитул типа "Insert Headers and Footers".

4) В самом WordPresse и плагинах есть ещё куча мелочей, которые не используются или работают не правильно. Для их отключения применяйте плагин Webcraftic Clearfy. Но не используйте автоматические настройки по умолчанию.

Включаем Gzip сжатие

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

# Динамическое сжатие text, html, javascript, css, xml для сервера Апаче:
<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</ifModule>

Проверить как работает gzip сжатие можно на сервисе www.gidnetwork.com/tools/gzip-test.php

Читайте также:  Настройка robots.txt для сайта wordpress

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

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
<ifmodule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_item_include file \.js$
mod_gzip_item_include file \.css$ </ifmodule>
</IfModule>

Динамическое сжатие выполняется при каждом запросе любой страницы и эффективно только пока мало посетителей. Как только количество посетителей начнёт зашкаливать, сервер будет перегружен постоянными запросами на сжатие и начнёт тормозить. Здесь на помощь приходит статическое сжатие. Это значит, из всех динамических страниц надо создать статические копии. Такая процедура называется статическое кеширование на стороне сервера. Само кеширование уже даёт не слабое ускорение, так как исключается огромное количество запросов к базе. Эти статические копии необходимо сжать архиватором 7-Zip и загрузить на сервер. Потом переадресовать все запросы на сжатые файлы. Решить такую задачу поможет код в файле .htaccess:

Код статического сжатия для сервера nginx:

/Начало

#Включение gzip-сжатия
AddEncoding gzip .gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]

<IfModule mod_headers.c>
Header append Vary User-Agent
<FilesMatch .*.js.gz$>
ForceType text/javascript
Header set Content-Encoding: gzip
Header set Cache-control: private
</FilesMatch>
<FilesMatch .*.css.gz$>
ForceType text/css
Header set Content-Encoding: gzip
Header set Cache-control: private
</FilesMatch>
</IfModule>

/Конец кода для nginx

Код статического сжатия для сервера Апаче:

/Начало

# Перенаправление на gzip файлы
AddEncoding gzip .gz
<FilesMatch "\.js.gz$">
ForceType text/javascript
Header set Content-Encoding: gzip
</FilesMatch>

<FilesMatch "\.js$">
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*)\.js$ $1\.js.gz [L]
ForceType text/javascript
</FilesMatch>

<FilesMatch "\.css.gz$">
ForceType text/css
Header set Content-Encoding: gzip
</FilesMatch>

<FilesMatch "\.css$">
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*)\.css$ $1\.css.gz [L]
ForceType text/css
</FilesMatch>

/Конец кода для Апаче

Включаем кеширование на стороне сервера

Кеширование на стороне сервера один из самых действенных способов улучшить скорость загрузки сайта. Код в .htaccess срабатывает не всегда. Поэтому лучший вариант выполнить эту операцию с помощью кеширующих плагинов. Самые лучшие WP Super Cache, W3 Total Cache, WP Fastest Cache, Hyper Cache. Все плагины многофункциональные. Самый простой и быстрый wpFastestCache.

Включаем кеширование на стороне браузера

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

Первый способ с использованием модуля mod_headers.c:

# Включаем кэш в браузерах посетителей
<ifModule mod_headers.c>
# Все html и htm файлы будут храниться в кэше браузера один день
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=86400"
</FilesMatch>
# Все css, javascript и текстовые файлы будут храниться в кэше браузера один месяц
<FilesMatch "\.(js|css|txt)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
# Все флэш файлы и изображения будут храниться в кэше браузера один месяц
<FilesMatch "\.(jpg|jpeg|png|flv|swf|ico|gif)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
# Отключаем кеширование php и других служебных файлов
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>

Второй способ с использованием модуля mod_expires.c

# Включаем кэш в браузерах посетителей
FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>

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

Используем CDN сети

Еще один способ ускорить загрузку сайта - использовать CDN сети, Content Delivery Networks. Это распределённая по континентам, странам и городам сеть кеширующих серверов. После регистрации вашего сайта в такой сети, все статические файлы закачиваются на все серверы этой сети, расположенные в разных городах и странах. Теперь, каждый раз, когда любой пользователь будет запрашивать какой-либо материал с вашего сайта, он будет получать его почти мгновенно не с сервера вашего хостера, а с ближайшего CDN-сервера, расположенного возможно совсем недалеко от его места нахождения. Таким образом почти полностью снимается нагрузка с вашего сайта не зависимо от количества посетителей, а скорость загрузки сайта становится максимально возможной и зависит уже от мощности каналов и серверов поставщика услуг CDN.

Услуга эта конечно не бесплатная, но каждая сеть имеет достаточно дешёвые лёгкие тарифы или пробные бесплатные с минимальными возможностями. Почти все сети иностранные и их серверы расположены за пределами России. Но во всех приграничных странах имеется как минимум один сервер. Есть небольшая сеть "WEB SUPPORT REVOLUTION". Она имеет серверы в 47 городах 31 страны. При этом только на территории России в Санкт-Петербурге, Москве, Челябинске, Новосибирске, Томске, Хабаровске, а также в близлежащих Харькове, Киеве, Минске, Вильнюсе. Эта сеть позволяет бесплатно подключить только первый сервер. если по ошибке отключились, то дальше придётся платить. Но эффект просто обалденный! Сам проверял. Так что можете пробовать. Только если у вас https, то нужно подключить сертификат на ихний сервер.

Также можно использовать плагин Jetpack Photon который даёт возможность использовать бесплатный тариф CDN сети Photon  для загрузки только изображений вашего сайта, но и это уже не мало. Для этого достаточно зарегистрироваться на сайте WordPress.com. Плагин особенно хорошо оптимизирует страницы для мобильных клиентов. Этот плагин создан как замена многим другим плагинам. Поэтому если вы уже используете плагины, которые повторяют функции, имеющиеся в Jetpack, то необходимо оставить что-то одно, а другое отключить. Иначе увеличится не только нагрузка на сервер, но и вероятность конфликта между похожими программами. В целом Jetpack со своей задачей справляется на отлично.

Отправить ответ

Оставьте первый комментарий!

avatar
  Подписаться  
Уведомлять если
WordPress: 46.86MB | MySQL:83 | 0,976sec