---
title: "Як Laravel News забезпечив кешування на краю мережі за допомогою Fast Laravel"
url: https://laravelukraine.com/blog/laravel-news-kesujetsia-na-kraiu-merezi-z-fast-laravel
date: 2026-06-18
source: https://laravel-news.com/how-we-cached-laravel-news-at-the-edge-with-fast-laravel?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+laravelnews
---

# Як Laravel News забезпечив кешування на краю мережі за допомогою Fast Laravel

Команда Laravel News нещодавно завершила масштабний проєкт з оптимізації продуктивності сайту, впровадивши edge-кешування за допомогою курсу [Fast Laravel](https://fastlaravel.com) від JMac та інфраструктури Cloudflare. Редакція вирішила поділитися результатами цього експерименту, розглянувши власний сайт як детальне кейс-стаді.

Особливість ситуації полягає в тому, що Laravel News - це високонавантажений ресурс з контентом, який постійно оновлюється: нові статті, посилання, спонсори, сповіщення у верхній частині сторінки. Багато розробників припускають, що такі сторінки неможливо кешувати. Проте цей проєкт доводить протилежне.

## Почніть з найпопулярніших сторінок

Jason застосував системний підхід до оптимізації. Спочатку потрібно проаналізувати трафік запитів, визначити сторінки з найвищим навантаженням і почати кешувати саме їх. Потім поступово рухатися вниз по списку, доки найчастіші запити не стануть лише до малопопулярних підсторінок.

Для Laravel News це звелося до п'яти ключових сторінок:

- Головна сторінка
- Сторінка блогу
- Сторінки окремих статей
- Сторінка посилань спільноти
- Сторінка нових посилань

## Три виклики, які довелося подолати

Сайт переважно статичний, але має кілька динамічних елементів. Команда зіткнулася з трьома основними проблемами під час впровадження кешування.

**Видалення Livewire там, де він не потрібен.** Сайт було побудовано так, що майже все було компонентами Livewire, хоча насправді лише форма підписки на розсилку використовувала реактивність Livewire. Все інше фактично було звичайними Blade-шаблонами. Конвертація цих компонентів назад у прості Blade-компоненти виявилася дуже простим рефакторингом і дозволила ізолювати кілька ділянок, які справді мають залишатися динамічними.

**Збереження динамічності там, де вона потрібна.** Деякі елементи не можна заморозити в кешованій сторінці: toast-сповіщення, форму підписки та блоки спонсорів і партнерів, які ротуються при кожному запиті, щоб один партнер не показувався цілий день. Оскільки Alpine вже використовувався для Livewire, команда додала [Alpine AJAX](https://alpine-ajax.js.org) і застосувала його для заміни цих компонентів під час завантаження сторінки.

**Конфлікт двох рівнів кешування.** Laravel News працює на платформі Laravel Cloud, яка пропонує вбудоване edge-кешування і використовує Cloudflare під капотом. Оскільки сайт також використовував Cloudflare безпосередньо, два рівні конфліктували між собою, і було складно визначити, чиї політики діють, або правильно очистити кеш на рівні Cloud. Команда Laravel Cloud надала значну підтримку під час діагностики, але зрештою виявилося простіше обійти правила Cloud і використовувати Cloudflare безпосередньо. При цьому всі переваги залишаються.

## Очищення кешу при зміні контенту

Кеш очищується при деплої, як і на будь-якому іншому сайті, але справжня робота починається, коли публікується стаття або схвалюються посилання. Більшість цих операцій виконується через події моделей Laravel. Коли стаття оновлюється, система прослуховує подію `updated` і очищає кеш цієї конкретної статті, а також головної сторінки та сторінки блогу, оскільки свіжий пост з'являється і там.

Найскладнішим випадком виявилися заплановані статті. Редакція пише статті ввечері й планує їх публікацію на 9 ранку, тому в момент виходу поста жодна подія не спрацьовує - відбувається лише запит з порівнянням `published_at`. Найпростішим рішенням стало використання команди, яка вже виконувалася для публікації нових постів у соціальних мережах. Тепер ця команда також очищає кеш головної сторінки, блогу, статей і сторінок посилань. У гіршому випадку сторінка залишається застарілою близько п'яти хвилин, поки команда виконується.

## Працює на будь-якій платформі

Jason підкреслив, що жодна з цих технік не прив'язана до Laravel Cloud. Поки перед застосунком знаходиться Cloudflare, це працюватиме на будь-якому сервері. Він керує Laravel Shift на сервері DigitalOcean за $5 на місяць, який обробляє близько 50 000 запитів на день з повністю кешованою публічною частиною, і бачить час відгуку близько 20 мілісекунд від краю мережі.

Єдиний поточний виняток - Livewire, оскільки він значною мірою покладається на сесію для своєї реактивності. Jason обговорює з Caleb Porzio можливість створення анонімного компонента, який міг би "оживати" після завантаження сторінки. Inertia, React та будь-які інші рішення, що виконують API-виклики, працюють без проблем.

## Результати

Для Laravel News результати виявилися миттєвими. Відсоток кешованих запитів зріс від підліткових цифр до більшості запитів, зі сплесками до 70%, і сайт відчувається значно швидшим. Наступний крок - повернутися через квартал і перевірити, чи дозволить зменшене навантаження на сервер перейти на нижчий рівень обчислювальної потужності без помітної різниці для користувачів.

Повне інтерв'ю доступне у відеоформаті, а курс [Fast Laravel](https://fastlaravel.com) відкритий для всіх бажаючих. За словами Jason, edge-кешування - це одна з тих забутих практик, яка варта повторного розгляду, і після її освоєння ви зможете застосовувати її до кожного сайту, який створюєте.
