Резервное копирование
Меры предосторожности перед началом
Получение SSL-сертификата
Выбор и получение сертификата
Для перехода на HTTPS необходим SSL-сертификат. Рекомендуемые провайдеры:
Установка сертификата
Активация SSL на сервере
- Установите сертификат на сервер согласно документации (Apache, Nginx).
- Активируйте сертификат через панель управления хостинга.
- Обратитесь в техподдержку хостинга для установки.
Настройка OpenCart
Конфигурация CMS для HTTPS
3.1 Настройка config.php
define('HTTP_SERVER', 'http://site.ru/');
define('HTTPS_SERVER', 'http://site.ru/');
// Стало:
define('HTTP_SERVER', 'https://site.ru/');
define('HTTPS_SERVER', 'https://site.ru/');define('HTTP_SERVER', 'http://site.ru/admin/');
define('HTTP_CATALOG', 'http://site.ru/');
define('HTTPS_SERVER', 'http://site.ru/admin/');
define('HTTPS_CATALOG', 'http://site.ru/');
// Стало:
define('HTTP_SERVER', 'https://site.ru/admin/');
define('HTTP_CATALOG', 'https://site.ru/');
define('HTTPS_SERVER', 'https://site.ru/admin/');
define('HTTPS_CATALOG', 'https://site.ru/');3.2 Настройка в админ-панели
В админ-панели: Система → Настройки → Редактировать → Вкладка Сервер → Использовать SSL — выберите Да.
3.3 Обновление robots.txt
- Если sitemap не фид, добавьте:
Sitemap: https://mysite.com/sitemap.xml - Если sitemap — фид, предоставьте новый HTTPS фид.
Настройка 301 редиректов
Перенаправление с HTTP на HTTPS
.htaccess после RewriteBase / или RewriteEngine On. Проверьте, что mod_rewrite включен.RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?(osnovnoy_domen\.ru)
RewriteRule ^ https://%2%{REQUEST_URI} [R=301,L]Замените osnovnoy_domen.ru на ваш домен.
Вариант 1: С www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Вариант 2: Без www на с www
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:PORT} !^443$
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{ENV:HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
SetEnvIf X-SSL-Emu on HTTPS
RewriteCond %{HTTP:X-SSL-Emu} !on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Очистка кэша
Обновление временных файлов
- Очистите кэш OpenCart: удалите содержимое
system/storage/cache/. - Очистите кэш модификаторов: удалите содержимое
system/storage/modification/.
Проверка работы
Тестирование редиректов и функциональности
6.1 Если редирект с www на без www
- HTTP с WWW → HTTPS без WWW
- HTTP без WWW → HTTPS без WWW
- HTTPS с WWW → HTTPS без WWW
6.2 Если редирект без www на с www
- HTTP с WWW → HTTPS с WWW
- HTTP без WWW → HTTPS с WWW
- HTTPS без WWW → HTTPS с WWW
6.3 Проверка статических файлов
Проверьте, как сервер отдает статические файлы (например, фото товаров) по HTTPS.
6.4 Проверка редиректа
Убедитесь, что используется 301-й редирект (не 302). Проверьте через WebPageTest, Screaming Frog или в браузере (F12).
6.5 Проверка ссылок
Проверьте сайт на наличие HTTP-ссылок в статьях или описаниях товаров. Замените на HTTPS или сделайте относительными.
Добавление в вебмастеры
Регистрация HTTPS-версии сайта
Решение проблем
Устранение возможных ошибок
- 404 ошибки: Проверьте настройки сервера и DocumentRoot.
- HTTP изображения: Проверьте настройки CDN и ссылки в базе данных.
- Mixed Content: Все внешние ресурсы (скрипты, стили, шрифты, iframe) должны быть по HTTPS.
- Ограничения хостинга: Для виртуального хостинга (Beget, Timeweb) возможны ограничения. Рассмотрите VPS.
Полезные инструменты
Сервисы для проверки и мониторинга SSL.