Каталог на Laravel отвечает секундами
Типичная ситуация. Домен, название компании и скриншоты кабинета здесь не публикуются.
Самописный каталог на Laravel в первый год кажется быстрым. После роста карточек и фильтров список товаров начинает открываться заметно дольше главной. Это не «сервер устал»: страница делает работу, которую можно не повторять на каждом просмотре.
Что обычно видно в таком проекте
- На одну страницу списка приходится десятки одинаковых запросов к товарам, ценам и картинкам.
- На боевом сайте включён режим отладки, а панель отладки считается вместе со страницей.
- Кеш конфигурации и маршрутов не собран, шаблоны компилируются на запросе.
- Фильтр передаёт в адрес всё подряд, включая пустые параметры.
Скорость
Классическая схема — товар, затем отдельно категория, затем картинка, затем остаток, и так по каждому ряду списка. Пока строк десять, это незаметно. На странице каталога запросы множатся. Лечится это жадной загрузкой связей и одним понятным запросом списка, а не отключением «лишних» полей вслепую.
Второй слой — кеш уже собранной страницы или фрагмента списка там, где набор товаров не зависит от конкретного посетителя. Корзину и личный кабинет в этот кеш не кладут.
Архитектура
Отладка на проде пишет стек и запросы на диск при каждом открытии. Это и медленнее, и опасно: в текст ошибки попадают пути и иногда параметры. Боевой режим — без отладочного вывода наружу, с логом, который не отдаётся по HTTP.
Очереди для писем и выгрузок, если они сейчас выполняются внутри запроса каталога, уводят в фон. Пока письмо уходит синхронно, время страницы зависит от почтового сервера.
Безопасность
Режим отладки показывает окружение тем, кто поймал ошибку. Файл .env не должен открываться как текст. После правок кеша проверяют, что старые дампы и резервные копии не лежат в public.
SEO-техника
Фильтр без правил для адреса быстро создаёт копии одного списка. Для поиска оставляют канонический URL раздела и не отдают в индекс сочетания пустых параметров. Карта сайта, собранная из всех вариантов фильтра, раздувает обход. Это правят вместе со скоростью: иначе быстрый каталог начнёт отдавать роботу те же дубли, только чаще.
Что делать
Смотрят журнал запросов одной страницы каталога, выключают отладку на проде, собирают кеш Laravel и только потом решают, нужен ли другой тариф. Поддержка этого стека — на странице Laravel.
Срок и стоимость
Готовой одной цифры на «ускорить каталог» нет: правка может быть точечной или затрагивать запросы и шаблон списка. Разовая задача начинается от 3 000 ₽. Сумму программист называет после адреса медленной страницы и доступа к коду.
Похожая ситуация?
Напишите в чат, что происходит на сайте. Помощник ответит сразу. Программист в рабочее время обычно отвечает в течение часа. Работу начинаем после согласования. Ссылку на бесплатную проверку главной можно приложить из раздела проверки сайта.
