Переводим сайт на ssl шифрование
Делаем работу магазина на Opencart по https протоколу
В эпоху современного веба тяжело представить нормальный интернет магазин без ssl шифрования. Тем более учитывая тенденцию отношения поисковых роботов к https можно сделать вывод что это просто необходимо.
С января 2017 года google chrome будет помечать сайты без шифрования как небезопасные.
Итак, как сделать https в магазине на Opencart
Для начала нам надо настроить ssl на хостинге. Из-за того что хостеры у всех разные, буду показывать на примере своего. Идем в панель управления и переходим в настройку ssl.
Есть платные сертификаты и бесплатные от компании Let's Encrypt, цель которой сделать интернет безопасным.
Конечно же лучше выбрать бесплатный сертификат ибо платный стоит около $50 в год.
Устанавливаем, и на этом настройка на хостинге (на моем) завершена. На других - более сложная процедура, да и бесплатные есть не на многих. По-этому я рекомендую этот хостинг.
Настройка ssl в Opencart
Для начала нам надо открыть файлы config.php и admin/config.php где поменять HTTPS_SERVER на https://ваш-сайт. Далее переходим в настройки магазина и включаем использование ssl.
По задумке все должно быть ок, сайт должен работать на 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 и заказать услугу.