Снижаем нагрузку на сайт с помощью Cloudflare

Автор Бидюков Денис

О Cloudflare я узнал когда зашел на один сайт и увидел вместо ожидаемой страницы я увидел вот такую вот картину:

Ошибка ответа сервера

Увидев новое слово, я тут же решил загуглить, я бы не сказал что информации по этому сервису изобилие, но её вполне достаточно для того, чтобы понять что такое Cloudflare. Правда я на тот момент плохо понимал как он может быть полезен именно мне, поскольку я не обладаю серьезными сайтами, которые нуждаются в снижении нагрузки. Но время шло и в какой-то момент мой сайт начал создавать нагрузку на хостинг, причем если раньше это были разовые пики, то в этот раз превышения были каждодневными и только благодаря терпению хостера мне не заблокировали аккаунт. Нагрузка не падала больше недели и я понял что надо что-то делать. Настройка WP Super Cache не спасала и я вспомнив про Cloudflare пошел добавлять туда сайт. Процесс добавления сайта подробно описан в этой статье.

Но простое добавление ситуацию никак не спасло, нагрузка на хостинг никак не изменилась. Я решил изучить функционал Cloudflare чуть по подробнее. Оказалось с помощью Page rules можно управлять кешированием, а именно, задавать время хранения страниц и файлов на серверах Cloudflare. Иными словами мы можем указать Cloudflare что и сколько времени хранить. При желании конечно можно посмотреть что именно создает нагрузку и кешировать именно то, но я решил не заморачиваться и создал вот такое правило на вкладке «Page rules»:

Добавление правил в Cloudflare

Тем самым я указал что нужно кешировать весь сайт и добавил три параметра:

  • Browser Cache TTL – указывает браузеру сколько времени хранить полученные файлы. Я ставлю один день, поскольку браузер хранит даже страницы.
  • Cache Level – тут мы указываем что Cloudflare должен кешировать. Я выбрал кешировать все.
  • Edge Cache TTL – тут указываем сколько времени живет кеш на сервере Cloudflare.

После этих настроек на следующий день я увидел долгожданное падение нагрузки:

Сообщение о превышении нагрузки

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

Тогда я понял что для админки необходимо кеш отключать. Для этого необходимо добавить в разделе Page Rules одно правило. Все по сути выглядит вот так:

Добавление правила в раздел Page Rules

Таким образом мы отключим кеширование для админки. Естественно это работает только в сайтом на вордпресс. Для других сайтов необходимо корректировать параметр в первом поле. Указываем необходимые параметры и жмем кнопку «Save and Deploy». Все готово. Мы настроили исключение для админки нашего сайта.

Управление кешем

Для тех, у кого сайт работает на популярных CMS, таких как WordPress, есть плагин для управления кешем сайта. Допустим вы внесли какие-то поправки во внешний вид сайта или отдельной страницы. Чтобы эти изменения появились на сайте, нужно сбросить кеш. Чтобы его сбросить, необходимо либо лезть на сайт Cloudflare, либо установить плагин.

Если у вас сайт работает на WordPress, то достаточно перейти в раздел «Плагины» и нажать кнопку «Добавить новый». В строке поиска просто ввести «cloudflare»/

Добавление плагина Cloudflare на сайт WordPress

Нас интересует самый первый плагин. Как видите он разработан командой Cloudflare. Устанавливаем его. После активации нам необходимо его настроить. Проходим в настройки плагина. Делается это просто, слева в разделе «Настройки» и там ищем «Cloudflare». Попав в раздел настроек плагина, указываем наш емейл, который является логином в Cloudflare и API key. Если с емейлом проблем нет, мы его вроде как знаем, а вот с API Key придется покопаться в Cloudflare. Для этого кликаем сайт в личном кабинете Cloudflare, затем внизу справа ищем ссылку «Get your API key».

Сссылка Get your API key в разделе информации о сайте

Тут мы попадаем в раздел из которого нам надо перейти в другой раздел, который называется API Tokens.

Раздел настроек аккаунта

В этом разделе напротив «Global API key» кликаем кнопку «View».

Раздел API Tokens в Cloudflare

После этого нам необходимо указать пароль от нашего аккаунта и код с картинки.

Получение API token

После того, как мы ввели все необходимое и нажали кнопку «View», мы получим наш API Token. Нам останется скопировать его и вставить в поле в настройках плагина, а затем сохранить. Вот и все, теперь вы можете управлять некоторыми настройками сайта.

Допустим вы добавили на сайт новую статью. Заходим на страницу плагина Cloudflare, затем ищем «Purge Cache» и жмем кнопку с таким же названием, там выбираем «Purge Everything».

Сброс кеша в админке сайта с помощзью плагина

 

Советую всегда выбирать всегда «Purge Everything» за исключением случаев, когда изменения вносятся в содержимом отдельной страницы. Например если вы добавили новую статью, то нужно сбрасывать весь кеш. Поскольку кешируется практически все, в том числе и Sitemap, в котором долгое время не будет нашей новой статьи пока не обновится кеш. Тоже самое с блоками а-ля «Последние записи», «Похожие записи» в конце статей и т.д.

Один совет

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

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

Хотите крутой сайт?

Сделайте его своими руками! Это очень легко!

Пройдите

Абсолютно бесплатно

Бидюков Денис

Эксперт по сайтам

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