Введение

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

Cloudflare — это популярный сервис CDN (Content Delivery Network), который не только защищает сайты от DDoS-атак, но и значительно ускоряет их работу за счет кеширования.

Когда нужно включать кеширование?

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

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


1. Как настроить Cache Everything в Cloudflare? (Пошаговая инструкция)

🔹 Что делает эта настройка?

Cloudflare по умолчанию кеширует только статические файлы (CSS, JS, изображения). Однако, если включить опцию Cache Everything, в кеш будут попадать и HTML-страницы, что позволит пользователям загружать их моментально без обращения к серверу.

🔹 Когда применять?

При DDoS-атаках — если ваш сайт подвергается атакам, Cloudflare сможет отдавать кешированную копию страниц, снижая нагрузку на сервер.

Если сервер часто перегружается — кеширование снижает количество запросов к серверу, повышая его стабильность.

Во время технических работ — если хостинг временно недоступен, посетители смогут видеть кешированную версию сайта.

🔹 Как настроить Cache Everything?

Открываем Cloudflareвыбираем сайт

Переходим в CachingCache Rules → Create Rule.

Находим параметр Cache Everything

Создание правила Cache Everything для полного кеширования

Заходим в Cache EverythingCreate a Rule

Нажимаем Create Page Rule → Выбираем(All incoming requests) → Deploy Rule

Теперь Cloudflare будет отдавать пользователям кешированную версию сайта, снижая нагрузку на сервер.

❗ Важно: Если на сайте есть динамические элементы (личный кабинет, корзина интернет-магазина), полный кеш может привести к проблемам с обновлением данных. В таком случае кешируйте только статические файлы.

   🔹 Как исключить определенные страницы из Cache Everything?

1️⃣ Переходим в Cloudflare → Caching → Cache Rules → Create Rule.
2️⃣ Называем правило (например, Bypass Cache for Admin).
3️⃣ В разделе "If incoming requests match…" выбираем Custom filter expression и вводим одно из условий:

Не кешировать админку: 

http.request.uri.path contains "/admin"

Не кешировать личный кабинет: 

http.request.uri.path contains "/account"

Не кешировать корзину: 

http.request.uri.path contains "/cart" 

Не кешировать запросы с параметрами (динамический контент): 

http.request.uri.query contains "session_

4️⃣ В разделе "Then..." выбираем Bypass cache (Пропустить кеш).
5️⃣ Нажимаем "Deploy Rule" и сохраняем правило.


Проверяем, работает ли исключение

  1. Открываем сайт и заходим на /admin или /account.
  2. Нажимаем F12 → Network → Заголовки (Headers).
  3. Проверяем cf-cache-status:
    • BYPASS — кеширование отключено ✅.
    • HIT / MISS — кеш все еще работает ❌ (значит, правило настроено неправильно).

Теперь Cloudflare кеширует весь сайт, кроме страниц, которые должны загружаться в реальном времени! 🚀


2. Кеширование статических файлов (CSS, JS, изображения)

🔹 Что делает эта настройка?

Позволяет Cloudflare хранить в кеше файлы стилей, скрипты и изображения, чтобы браузеры загружали их быстрее.

🔹 Когда применять?

Если ваш сайт содержит много изображений, видео, JS и CSS-файлов.

Чтобы сократить трафик между сервером и пользователями.

🔹 Как настроить?

Переходим в CloudflareCaching → Configuration

Открываем Browser Cache TTL

Устанавливаем значение 1 месяц или больше

Cache LevelStandard

Теперь браузеры пользователей и серверы Cloudflare будут дольше хранить эти файлы в кеше.


3. Edge Cache TTL: Как настроить кэширование на серверах Cloudflare

🔹 Что делает эта настройка?

Определяет, как долго Cloudflare будет хранить кешированные версии страниц на своих серверах перед обновлением.

🔹 Когда применять?

Если у вас статический сайт, который редко обновляется.

Если сервер испытывает высокую нагрузку, и вы хотите минимизировать запросы к нему.

🔹 Как настроить?

Заходим в CachingConfiguration

Устанавливаем Edge Cache TTL на 1 день или больше

Теперь Cloudflare будет хранить копии страниц дольше, сокращая нагрузку на сервер.


4. Как очистить кеш в Cloudflare, если сайт обновился?

Иногда после обновления сайта Cloudflare продолжает отдавать старую версию страницы. Чтобы это исправить, нужно очистить кеш.

🔹 Как очистить весь кеш?

Заходим в Cloudflare → Caching → Configuration

Нажимаем Purge Everything

Подтверждаем очистку

После этого все кешированные версии удалятся, и Cloudflare запросит свежие данные с сервера.

🔹 Как очистить кеш отдельных страниц?

Переходим в Cloudflare → Caching → Configuration

Выбираем Custom Purge

Вводим URL страниц, которые нужно обновить

Нажимаем Purge

Теперь только указанные страницы обновятся, а остальной кеш останется нетронутым.


5. Включение кеширования файлов (Cache Default File Extensions)

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

1️⃣ Переходим в Cloudflare → Caching → Cache Rules → Create Rule
2️⃣ Переходим Cache Default File Extensions


3️⃣ В разделе "If incoming requests match…"

  • Выбираем File extension → is in
  • Добавляем расширения файлов, которые нужно кешировать (JS, CSS, JPG и т. д.)
  • Используем выражение:

     
    http.request.uri.path.extension in {"7z" "avi" "avif" "apk" "bin" "bmp" "bz2" "class" "css" "csv" "doc" "docx" "dmg" "ejs" "eot" "eps" "exe" "flac" "gif" "gz" "ico" "iso" "jar" "jpg" "jpeg" "js" "mid" "midi" "mkv" "mp3" "mp4" "ogg" "otf" "pdf" "pict" "pls" "png" "ppt" "pptx" "ps" "rar" "svg" "svgz" "swf" "tar" "tif" "tiff" "ttf" "webm" "webp" "woff" "woff2" "xls" "xlsx" "zip" "zst"}

4️⃣ В разделе "Then..."

  • Устанавливаем Eligible for cache
  • Edge TTL — 1 месяц (или другое значение)
  • Browser TTL — 1 неделя (или другое значение)
    5️⃣ Нажимаем Deploy Rule

Заключение

Кеширование через Cloudflare — мощный инструмент, который помогает:
Ускорить загрузку сайта
Защитить от DDoS-атак
Снизить нагрузку на сервер

Резюме по настройкам:

Cache Everything – для полного кеширования, особенно полезно при атаках и работах на сервере
Кеширование статики – снижает нагрузку и ускоряет загрузку изображений и файлов
Edge Cache TTL – определяет, как долго Cloudflare хранит кешированные версии страниц
Очистка кеша – позволяет быстро обновлять контент

Настроив кеширование правильно, вы получите быстрый, стабильный и защищенный сайт! 🚀