Как решить проблему зависания генерации sitemap.xml в Битрикс
Иногда при работе с CMS Bitrix пользователи сталкиваются с неприятной проблемой: генерация файла sitemap.xml зависает. Разберёмся, в чём может быть причина и как быстро вернуть систему в рабочее состояние.
В чём проявляется проблема
После настройки карты сайта и нажатия кнопки «Сохранить и запустить» процесс генерации не идёт — индикатор остаётся неподвижным, а на кнопке продолжает крутиться лоадер.
Ситуация возникает редко: по опыту, с ней можно столкнуться всего пару раз за долгое время работы с системой. Но если она возникла, важно оперативно найти и устранить причину.
Как диагностировать проблему
Чтобы понять, что именно пошло не так, выполните следующие шаги:
-
Откройте консоль браузера (например, через инструменты разработчика в Chrome или Firefox).
-
Посмотрите, какие запросы отправляет браузер на сервер.
-
Если генерация зависла, вы увидите бесконечные запросы к адресу:
/bitrix/services/main/ajax.php?action=seo.api.sitemap.job.do
Даже если вы перезагрузите страницу «Настройка sitemap» или уйдёте с неё и вернётесь позже, ситуация не изменится: процесс по‑прежнему будет «зависшим».
Почему это происходит
Причина обычно кроется в незавершённом процессе предыдущей генерации. В базе данных остаётся запись о том, что генерация всё ещё идёт, хотя на самом деле она прервалась из‑за какой‑то ошибки.
Эта информация хранится в таблице seo_sitemap_job базы данных Bitrix. В поле RUNNING такой записи будет стоять значение 'Y' (означает «идёт процесс»). Из‑за этого система «думает», что генерация уже выполняется, и не запускает новый процесс.
Пошаговое решение проблемы
Чтобы исправить ситуацию, выполните следующие действия:
-
Зайдите в админку Bitrix.
-
Перейдите в раздел Настройки → Производительность → Таблицы.
-
Найдите таблицу seo_sitemap_job
. -
Откройте её и найдите единственную запись, в которой поле
RUNNING имеет значение 'Y'. -
Отредактируйте эту запись: измените значение в поле
RUNNING на 'N' (означает «процесс завершён»). -
Сохраните изменения.
-
Вернитесь на страницу «Настройка sitemap».
После этих действий генерация sitemap.xml должна запуститься моментально — файл создастся или обновится.
Дополнительные замечания
Судя по дате записи в базе данных, ошибка, скорее всего, возникает в процессе автоматической генерации карты сайта. Пока описанный способ позволяет быстро восстановить работоспособность системы, но в перспективе имеет смысл:
-
проанализировать логи сервера за момент возникновения ошибки;
-
проверить настройки cron‑задач (если используется автогенерация);
-
убедиться, что на сервере достаточно ресурсов (памяти, времени выполнения скриптов) для генерации больших карт сайта.
Итог
Зависание генерации sitemap.xml в Битрикс — редкая, но решаемая проблема. Чаще всего она связана с «зависшей» записью в базе данных. Исправление значения в поле RUNNING с 'Y' на 'N' в таблице seo_sitemap_job позволяет мгновенно восстановить работу функции.