Переводим сайт на ssl шифрование

Делаем работу магазина на Opencart по https протоколу

ноябрь 05 , 2016

В эпоху современного веба тяжело представить нормальный интернет магазин без ssl шифрования. Тем более учитывая тенденцию отношения поисковых роботов к https можно сделать вывод что это просто необходимо.

С января 2017 года google chrome будет помечать сайты без шифрования как небезопасные.

Итак, как сделать https в магазине на Opencart

Для начала нам надо настроить ssl на хостинге. Из-за того что хостеры у всех разные, буду показывать на примере своего. Идем в панель управления и переходим в настройку ssl.

MicrodataPro;

Есть платные сертификаты и бесплатные от компании Let's Encrypt, цель которой сделать интернет безопасным.

Конечно же лучше выбрать бесплатный сертификат ибо платный стоит около $50 в год.

Устанавливаем, и на этом настройка на хостинге (на моем) завершена. На других - более сложная процедура, да и бесплатные есть не на многих. По-этому я рекомендую этот хостинг.

MicrodataPro;

Настройка ssl в Opencart

Для начала нам надо открыть файлы config.php и admin/config.php где поменять HTTPS_SERVER на https://ваш-сайт. Далее переходим в настройки магазина и включаем использование ssl.

MicrodataPro;

По задумке все должно быть ок, сайт должен работать на https, но увы в реалиях этого на 99% не происходит, если конечно это не новый магазин.

Почему ssl не работает?

Ответ более чем простой. Потому что когда магазин работал без шифрования все ссылки в базе данных записаны как http://site.com/image/image.jpg. Это происходит из-за того что визуальный редактор прописывает полный путь к фото, ссылкам и т. п. Еще одна из причин кроется в «разработчиках» которые прописывают в шаблонах полные ссылки с учетом домена. Что бы поправить http на https нам надо проверить базу данных на такие записи и файлы магазина. Все что нашли — исправляйте.

После этого магазин должен заработать уже на https. Но что же делать когда страницы сайта доступны и по старым ссылкам http? Ответ прост — делать 301 редирект на https. Для этого нам надо в файле index.php прописать код:

if(!isset($_SERVER['HTTPS'])){
	header("HTTP/1.1 301 Moved Permanently");
	header("Location: https://" . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_URL']);
	exit();
}

После всех этих манипуляций не забудьте почистить кеш и обновить кеш модификаторов (для 2.x). Сайт должен работать с шифрованием.

Для перевода сайта на https можете обратится по контактным данным info@microdata.pro и заказать услугу.