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

Автор Бидюков Денис
Share on facebook
Share on twitter
Share on vk
Share on telegram
Share on whatsapp

О 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Вот собственно и все, что я хотел вам рассказать. Эти не хитрые манипуляции позволят вам не съезжать с дешевого хостинга даже когда посещаемость вашего сайта превысит несколько тысяч посетителей в сутки.

Share on facebook
Share on twitter
Share on vk
Share on telegram
Share on whatsapp

Знаете что такое City Life?

Эта штука из меня, полуслепого инвалида второй группы, сделала успешным человеком!

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

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

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