Бесконечная загрузка на сайте выглядит так: пользователь видит спиннер, затем ничего не происходит. Иногда страница частично открывается, но данные, форма, каталог или личный кабинет остаются в состоянии загрузки.

Такая проблема часто находится на стыке frontend и backend. JavaScript ждет ответ, API отвечает ошибкой, PHP падает в фоне, база не отдает данные или код не обрабатывает неудачный сценарий.

С чего начать диагностику

Главное — понять, зависла сама страница или конкретный запрос: форма, список товаров, фильтр, личный кабинет, оплата или карта.

  1. Открыть консоль браузера и вкладку Network.
  2. Найти запрос, который висит, падает или возвращает ошибку.
  3. Проверить ответ сервера: 400, 403, 404, 500, timeout или пустой JSON.
  4. Посмотреть PHP/backend-логи по времени запроса.
  5. Проверить обработку ошибки в JavaScript, чтобы loader не висел бесконечно.

Частые причины

  • JavaScript-ошибка остановила выполнение кода
  • AJAX/API-запрос возвращает 500 или пустой ответ
  • неверный URL endpoint после переноса сайта
  • CORS или защита блокирует запрос
  • backend долго выполняет запрос к базе
  • loader не скрывается при ошибке

Что можно проверить без риска

Для первичной оценки достаточно открыть DevTools и сохранить ошибку из Console/Network.

  • проверить страницу в другом браузере
  • сделать скриншот вкладки Console
  • найти зависший запрос во вкладке Network
  • проверить, повторяется ли проблема на мобильном
  • уточнить, после какого действия появляется загрузка

Когда лучше не экспериментировать

Не стоит просто скрывать loader через CSS. Это уберет симптом, но не исправит причину: данные могут не загрузиться, форма не отправиться, заказ не создаться.

Как я обычно чиню такую проблему

Я проверяю цепочку от действия пользователя до ответа сервера: событие, JavaScript, запрос, backend, база, ответ и обработка ошибки на странице.

  1. Смотрю симптомы: адрес страницы, скриншот ошибки, время появления, что меняли перед сбоем.
  2. Проверяю серверные логи, конфигурацию сайта, права файлов, базу данных и зависимости.
  3. Делаю точечную правку: без лишней смены CMS, шаблона или случайной установки плагинов.
  4. Проверяю результат на основной странице, мобильной версии, формах и важных пользовательских сценариях.
  5. Кратко объясняю, что сломалось и что сделать, чтобы ошибка не повторялась.

Что подготовить для оценки

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

Сроки

Ошибка JS или неправильный endpoint30-90 минут
Проблема API/backend1-4 часа
Сложная связка формы, оплаты или CRMпосле диагностики

Вопрос-ответ

Почему загрузка зависает только у части пользователей?

Может влиять браузер, кэш, регион, блокировка скрипта, авторизация или разные данные пользователя.

Если в консоли нет ошибок, что дальше?

Нужно смотреть Network: запрос может не падать явно, а зависать или возвращать неправильные данные.

Можно ли починить без доступа к серверу?

Frontend-часть можно проверить, но если запрос падает на backend, понадобятся логи и доступ к коду/серверу.

Итог

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

Если нужно быстро разобраться с такой ошибкой на сайте, напишите в Telegram: @rabotator_support. Посмотрю симптомы, скажу, что нужно проверить, и предложу аккуратный план исправления.