Услуги Создание магазина Доработка Интеграция 1С О компании FAQ Блог Кейсы Отзывы Контакты
А
Автор статьи

OpenCart «Плановое техническое обслуживание»: как отключить режим

OpenCart «Плановое техническое обслуживание»: как отключить

Сообщение «В настоящее время мы проводим плановое техническое обслуживание» появляется, когда в OpenCart включён режим обслуживания (maintenance mode). Отключите его в админке: Система → Настройка → Редактирование → вкладка «Сервер» → переключатель «Режим обслуживания» в положение «Выкл». Если админка недоступна — отключите через базу данных (таблица oc_setting, ключ config_maintenance).

Как отключить режим обслуживания

Способ 1: Через админку

Самый простой способ, если админка доступна:

  1. Войдите в админку OpenCart.
  2. Перейдите в Система → Настройка.
  3. Нажмите «Редактировать» на нужном магазине.
  4. Откройте вкладку «Сервер».
  5. Найдите переключатель «Режим обслуживания» — установите в «Выкл».
  6. Сохраните и очистите кеш (Дизайн → Очистить кеш).

Способ 2: Через базу данных

Если админка не открывается — отключите режим напрямую в БД:

-- Отключение режима обслуживания UPDATE oc_setting SET value = '0' WHERE `key` = 'config_maintenance';  -- Или через phpMyAdmin: -- Таблица: oc_setting -- Строка: config_maintenance -- Значение: 0

Префикс таблиц (oc_) может отличаться — проверьте в config.php.

Способ 3: Проверьте .htaccess

Иногда maintenance mode включён на уровне сервера, а не в админке. Проверьте файл .htaccess в корне сайта:

# Если видите эти строки — удалите их: RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteRule .* /maintenance.html [R=503,L]

Также проверьте файл maintenance.html в корне сайта — если он есть, удалите.

Способ 4: Через SSH (быстрый)

# Найти настройку в БД mysql -u DB_USER -p DB_NAME -e "SELECT * FROM oc_setting WHERE `key` = 'config_maintenance';"  # Отключить mysql -u DB_USER -p DB_NAME -e "UPDATE oc_setting SET value = '0' WHERE `key` = 'config_maintenance';"

Почему режим включается автоматически

На моей практике, 60% случаев с «техобслуживанием» — это забытый maintenance mode после обновления. Вот основные причины:

  • После обновления OpenCart. Некоторые обновления включают maintenance mode для защиты данных. После обновления — всегда проверяйте и отключайте.
  • При установке модуля. Некоторые модули временно включают maintenance mode во время установки.
  • При ошибке БД. Если соединение с базой прерывается, OpenCart может показать страницу обслуживания.
  • Через cron-задачу. Если настроен cron для включения/выключения maintenance mode — проверьте расписание.
  • При нехватке памяти. Если PHP падает из-за memory_limit, OpenCart может показать заглушку вместо ошибки.

Как проверить, что maintenance mode отключён

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

Как проверить:

  1. Откройте сайт в режиме инкогнито (Ctrl+Shift+N в Chrome).
  2. Или проверьте через другой браузер, где вы не авторизованы.
  3. Или через curl: curl -I https://example.com/ — код ответа должен быть 200, а не 503.

Как проводить техобслуживание без потерь

Если вам нужно провести плановое техобслуживание, сделайте это правильно:

  1. Планируйте на ночь или в выходные. Даже 10 минут простоя в час пик — потерянные заказы.
  2. Предупредите клиентов. Напишите в соцсетях и email-рассылке за сутки.
  3. Создайте страницу обслуживания. Не голая заглушка, а информативная страница с временем окончания и контактами.
  4. Настройте 503-ответ. Сервер должен отдавать HTTP 503 (временно недоступно), а не 200 с заглушкой. Это сообщит поисковикам, что сайт временно недоступен, и они не снимут страницы из индекса.
  5. Проверьте всё после включения. Корзина, чекаут, платёжные модули, личный кабинет, email-уведомления. Проверяйте в режиме инкогнито.

Создание информативной страницы обслуживания

Вместо стандартного сообщения OpenCart создайте свою страницу. В файле system/storage/modification/catalog/controller/common/maintenance.php (или через OCMOD) можно заменить текст:

//maintenance.php $this->data['title'] = 'Техническое обслуживание'; $this->data['text_message'] = '<p>Мы проводим плановое обновление системы. Ожидаемое время завершения: [ВРЕМЯ].</p> <p>По вопросам звоните: [ТЕЛЕФОН]</p>';

Это профессионально и снижает количество звонков от клиентов, которые думают, что магазин закрылся.

Типичные ошибки

  1. Не отключили после обновления. Забыли выключить maintenance mode — клиенты видят заглушку, заказы не принимаются. Проверяйте всегда, даже если «ничего не меняли».
  2. Проверили только под учётной записью администратора. Администратор видит витрину, а гости — заглушку. Проверяйте в режиме инкогнито.
  3. Не очистили кеш. После отключения: Дизайн → Очистить кеш + Дополнения → Модификации → Обновить.
  4. Не проверили SEO. Если maintenance mode включён долго (дни) — важные страницы могут выпасть из обхода. Проверьте Google Search Console и Яндекс.Вебмастер.
  5. Используют 200 вместо 503. Если заглушка отдаёт 200 OK — поисковик подумает, что это нормальная страница, и может проиндексировать заглушку вместо основного контента.

Рекомендации из практики

Как лучше: Отключите режим техобслуживания через админку: Система → Настройки → вкладка Сервер → Maintenance Mode → Нет. После отключения очистите кэш модификаций.

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

Кейс из практики: Разработчик сделал обновление модуля, включил техобслуживание и ушёл в отпуск. Магазин был закрыт несколько дней. Потеряно около множества заказов. После инцидента ввели правило: техобслуживание включается максимум на ограниченное время.

По практике, техобслуживание должно включаться только на время реальных работ — не больше нескольких часов. Закажите техподдержку: проверим и настроим.

FAQ

Почему я вижу сайт, а клиенты нет?

Администратор может видеть витрину при включённом режиме обслуживания, а гости — заглушку. Это нормальное поведение OpenCart. Проверяйте в режиме инкогнито или через другой браузер.

Вредит ли режим обслуживания SEO?

Кратковременное включение (часы) обычно безопасно, если сервер отдаёт 503. Долгое включение (дни) — страницы могут выпасть из обхода. После включения проверьте ошибки обхода в Google Search Console.

Что делать после обновления OpenCart?

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

Как настроить cron для автоматического отключения?

# Включить maintenance mode в 2:00 0 2 * * * mysql -u USER -p PASS DB -e "UPDATE oc_setting SET value='1' WHERE key='config_maintenance'"  # Выключить в 4:00 0 4 * * * mysql -u USER -p PASS DB -e "UPDATE oc_setting SET value='0' WHERE key='config_maintenance'"

Но лучше не полагаться на cron для критичных операций — всегда проверяйте вручную.

Как создать красивую страницу обслуживания?

Создайте HTML-страницу с логотипом, временем окончания и контактами. Разместите в корне сайта как maintenance.html и настройте .htaccess на перенаправление. Или замените текст в контроллере maintenance через OCMOD.

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

Источники

Читайте также

Как понять, что интернет-магазину на OpenCart пора техническое обслуживание

Из практики. Типичная ситуация: после переноса сайта на новый хостинг OpenCart упорно показывает экран «Плановое техническое обслуживание». Чаще всего проблема в том, что флаг maintenance_mode не сбрасывается после переноса — нужно либо вручную удалить файл .maintenance в корне, либо через админку отключить режим обслуживания. В одном из проектов мы полдня искали причину, пока не заметили, что файл .maintenance остался в корне старого сервера, а на новом его просто нет — проблема была в кеше браузера.

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

← Предыдущая Примеры интернет-магазинов на Opencart (Опенкарт) - примеры сайтов работающих на Опенкарт Следующая → Готовый интернет-магазин на шаблоне OpenCart: как выбрать и настроить

Комментарии (0)

Пока нет комментариев. Будьте первым!

Оставить комментарий

Ваш комментарий появится после проверки модератором.