Снижаем нагрузку на сайт с помощью 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

На сайте отсутствует реклама

Автор не получает прямой выгоды. Если считаете что материал полезен, поддержите проект

Номер карты

Заранее спасибо!

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

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

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

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

  1. Наталья

    Здравствуйте, Денис! Спасибо за полезную информацию. Но у меня вопрос: почему вы отказались от использования Cloudflare? С какими минусами вы столкнулись?

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

      Здравствуйте, Наталья! Причиной отказа было наличие IP в реестре РКН. Мой сайт был недоступен для некоторых людей. Я боялся что это повлияет на поведенческие факторы. Неприятным минусом является отсутствие возможности контролировать кеширование средствами вордпресс. В частности неудобство заключалось в том, что в кеш попадала страница с админбаром, если я первый попаду на страницу будучи авторизованным. Если админку можно исключить, то в остальном проблемы.Для одного клиентского проекта я оставил Cloudflare, но без кеширования. Есть там фишки с фаерволом. С их помощью я включил проверку при попытке авторизации, чтобы исключить атаки по подбору пароля, а так же блокируются все, кто запрашивает те или иные файлы, которые не должен запрашивать обычный пользователь. У меня хостер недавно сделал установку и автоматическое продление сертификатов от Lets Encrypt, по этой причине отпала необходимость в SSL от cloudflare. Кеширование легко реализуется плагинами. Атак я не боюсь ибо админка просто закрыта от посторонних. В общем Cloudflare можно использовать когда это реально оправдано.

      1. Сергей

        А если необходимо определенную страницу закэшировать, как прописать?

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

          Прописать адрес этой страницы, это же очевидно. Если надо кешировать только главную, то указываем адрес главной страницы https://сайт.ru/ и так далее по аналогии.

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

Ваш адрес email не будет опубликован.