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

Настройка HTTPS в OpenCart: пошаговая инструкция (Nginx, Apache)

Настройка HTTPS в OpenCart требуетчетырёх аспектов: установка SSL-сертификата, правка конфигурационных файлов (config.php), настройка 301-редиректа на уровне сервера и устранение mixed content. После перехода обязательно проверьте sitemap, canonical, платёжные модули и уведомления — если что-то упустите, поисковики увидят две версии сайта, а оплата может перестать работать.

Настройка HTTPS в OpenCart: пошаговая инструкция (Nginx, Apache)

Полная инструкция: HTTP → HTTPS в OpenCart

Шаг 1. Установка SSL-сертификата

Бесплатный сертификат Let’s Encrypt доступен на большинстве хостингов через панель управления (ISPmanager, cPanel, Plesk). Установите его на домен — процесс занимает 2–5 минут. Если хостинг не поддерживает Let’s Encrypt — купите сертификат у любого провайдера (от 1 500 ₽/год для базового (DV), от 5 000 ₽ для wildcard — хотя для магазина на одном домене wildcard не нужен).

Как лучше / как не делать: По моей практике, самая частая ошибка при переходе на HTTPS — не mixed content, а забытый 301-редирект. Без него Google индексирует обе версии сайта параллельно, и через месяц владелец получает падение позиций. Я бы рекомендовал начинать не с сертификата, а с настройки редиректа — убедились, что HTTP → HTTPS работает, потом ставите сертификат и правите config.php.

Кейс из практики: Был у нас клиент — магазин электроники (крупный каталог, больше 10 000 товаров). Переезд на HTTPS сделали, а HSTS не настроили. Через две недели заметили, что часть заказов перестала приходить — платёжный шлюз отказывал, потому что callback возвращался по HTTP. HSTS-заголовок решил проблему за один день. Технический аудит OpenCart как раз выявляет такие скрытые проблемы до того, как они влияют на продажи.

Шаг 2. Включение SSL в настройках магазина

В админке OpenCart перейдите в Система → Настройка → Редактирование. В карточке магазина включите переключатель «Использовать SSL». Это переключит основной URL магазина на HTTPS.

Шаг 3. Правка конфигурационных файлов

Откройте два файла и замените HTTP на HTTPS:

// config.php (корень сайта)define('HTTP_SERVER', 'https://yourdomain.com/');define('HTTPS_SERVER', 'https://yourdomain.com/');// admin/config.phpdefine('HTTP_SERVER', 'https://yourdomain.com/admin/');define('HTTPS_SERVER', 'https://yourdomain.com/admin/');

Важно: перед правкой сделайте бэкап обоих файлов. Ошибка в config.php — белая страница без описания ошибки.

Шаг 4. Настройка 301-редиректа

Все HTTP-запросы должны автоматически перенаправляться на HTTPS. Вот конфигурация для двух основных серверов:

Nginx

server {    listen 80;    server_name yourdomain.com www.yourdomain.com;    return 301 https://yourdomain.com$request_uri;}

Apache (.htaccess)

RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Подробнее о настройке редиректов — в статье «Редирект HTTP на HTTPS в OpenCart на Nginx».

Шаг 5. Устранение mixed content

Mixed content — это когда HTTPS-страница грузит ресурсы по HTTP. Браузер блокирует или показывает предупреждение. По практике, чаще всего проблемы дают внешние скрипты аналитики, шрифты Google Fonts, если они подключены без протокола, и изображения, загруженные в описаниях товаров через абсолютные http:// ссылки.

Как найти mixed content:

  • Откройте DevTools (F12) → вкладка Console — ошибки вида «Mixed Content».
  • Проверьте все абсолютные URL в описаниях товаров и статей — замените http:// на https://.
  • Внешние виджеты (чаты, аналитика, карты) — убедитесь, что они поддерживают HTTPS.

Шаг 6. Замена ссылок в базе данных

Если в описаниях товаров, категорий или статей прописаны абсолютные HTTP-ссылки, их нужно заменить. Через phpMyAdmin:

-- Замена в описаниях товаровUPDATE oc_product_description SET description = REPLACE(description, 'http://yourdomain.com', 'https://yourdomain.com');-- Замена в описаниях категорийUPDATE oc_category_description SET description = REPLACE(description, 'http://yourdomain.com', 'https://yourdomain.com');

Сначала сделайте бэкап базы! Неправильный запрос может повредить данные.

Чек-лист после перехода на HTTPS

  • Все страницы открываются по HTTPS без предупреждений.
  • HTTP отдаёт 301 на HTTPS.
  • Нет mixed content (проверьте Console в DevTools).
  • Sitemap содержит HTTPS-адреса.
  • Canonical-тег ведёт на HTTPS.
  • Платёжные модули работают (проверьте тестовый заказ).
  • Яндекс.Метрика и Google Analytics получают данные.
  • Яндекс.Вебмастер и Google Search Console обновлены.
  • Добавлен HSTS-заголовок (опционально, но рекомендуется).

Если не уверены, что всё настроили правильно — ускорение и оптимизация OpenCart включает проверку HTTPS, mixed content и корректность редиректов как часть комплексного аудита.

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

  1. Правка config.php без бэкапа. Ошибка в пути — белая страница. Всегда сохраняйте копию файла перед редактированием.
  2. Забыли про mixed content. HTTPS-страница грузит скрипты по HTTP — браузер блокирует. Проверяйте Console в DevTools.
  3. Не настроен 301-редирект. Без него поисковики видят две версии сайта — это дублирование контента.
  4. Sitemap содержит HTTP-адреса. Поисковики будут пытаться индексировать HTTP-версию. Обновите генерацию sitemap.
  5. Не проверили платёжные модули. Некоторые шлюзы требуют HTTPS для callback-уведомлений. Без HTTPS оплата может перестать работать.

FAQ

Почему браузер показывает «не защищено»?

Часто причина в mixed content: часть ресурсов (изображения, CSS, JS) грузится по HTTP на HTTPS-странице. Откройте DevTools → Console и найдите ошибки.

Нужно ли менять ссылки в базе данных?

Если в описаниях товаров и статей прописаны абсолютные HTTP-ссылки — да. Используйте запрос REPLACE в phpMyAdmin (с бэкапом базы).

Какой редирект нужен: 301 или 302?

Для постоянного перехода на HTTPS — 301. Он сообщает поисковикам, что страница навсегда переехала, и передаёт вес.

Влияет ли HTTPS на SEO?

Да. HTTPS — базовое требование доверия и безопасности для интернет-магазина. Google и Яндекс используют HTTPS как сигнал ранжирования.

Подробнее о выборе домена, DNS-записях и SSL-сертификатах — в настройка домена и SSL для OpenCart.

Сколько времени занимает полный переход на HTTPS?

Если хостинг поддерживает Let’s Encrypt — 15–30 минут на установку, включая настройку редиректа и проверку mixed content. Если сертификат покупается вручную — до 2 часов с учётом ожидания выпуска. Самое долгое — замена ссылок в базе, если магазин старый и там много абсолютных HTTP-путей. По практике, на магазин среднего размера (5–10 тыс. товаров) уходит 2–3 часа с учётом полной проверки.

Настройка HTTPS

ШагNginxApache
1. Получение SSLLet EncryptLet Encrypt
2. Настройкаserver listen 443 sslSSLEngine on в .htaccess
3. Редирект HTTP на HTTPSreturn 301 https://$host$request_uriRewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
4. OpenCartconfig.php: https://config.php: https://

← Предыдущая Как узнать версию OpenCart: 4 способа + отличия от ocStore Следующая → OpenCart CMS: обзор платформы для интернет-магазина в 2026

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

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

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

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