Как интернет-магазину на Magento перейти с HTTP на HTTPS
В предыдущих статьях мы уже касались вопросов по переходу сайта на безопасный протокол HTTPS. В этой статье мы рассмотрели общие моменты по установке сертификата SSL и протокола HTTPS на сайт, а в этой статье более детально рассмотрели SEO-шные моменты перехода на безопасный протокол.
Продолжим освещение данной темы и в сегодняшней статье рассмотрим подробнее практические рекомендации по установке HTTPS для интернет-магазинов, работающих на движке Magento.
Рекомендуем вам сначала ознакомиться с вышеуказанными статьями, а потом уже переходить к прочтению данной статьи, — это позволит вам лучше понять суть вопроса.
Итак, приступим!
Вы уже прочли предыдущие статьи серии и у вас уже установлены сертификаты SSL на сервере. Напомним, что практически все крупные хостинги не только продают такие сертификаты, но и помогают с их установкой на сервер. Если ваш сайт работает под управлением CMS Мадженто и вы не знаете, что делать дальше – значит, эта статья для вас.
Основные этапы включения HTTPS`а для Мадженто-сайта:
- Изменение настроек в панели администратора
- Обновление ссылок в базе данных
- Проверка установки https
Внимание: делайте бекап файлов сайта и базы данных перед любыми изменениями
Желательно перед установкой сертификатов SSL и переходом на HTTPS выключить кеш в Мадженто.
Изменение настроек в Панели администратора
После установки сертификата на сервер, в первую очередь изменяем настройки в Панели админа по адресу System > Config > General > Web (Система> Конфигурация> Общие> Веб/Интернет). Здесь нам нужно заменить в поле Базовый URL ссылки сайта с http на https. Учтите, что это поле имеется в двух секциях: Небезопасное соединение и Безопасное соединение. Для нормального функционирования https`а достаточно заменить Базовый URL только в секции Безопасное соединение, но обратите внимание, что для некоторых функций в шаблонах при генерации ссылок нужно передавать дополнительный параметр array('_secure'=>true)
. В противном случае ссылки сайта будут генерироваться только в виде http://...
. Чтобы не заменять все функции в шаблонах темы, достаточно лишь заменить формат ссылки и для настройки Базовый URL в секции Небезопасное соединение. Метод не идеальный, но рабочий.
После этого выставьте Да для полей «Использовать защищенные URL в пользовательской части» и «Использовать защищенные URL в панели администрирования».
Затем нажмите «Сохранить конфигурацию» в правом верхнем углу страницы настроек.
Тут важно действовать осмотрительно. Если вы обновляете эти настройки, а на самом сервере еще не установлены сертификаты SSL, вы рискуете заблокировать себе доступ к Панели администрирования из-за многократного цикла переадресаций.
Если все сделано правильно и в нужной последовательности, можете обновить главную страницу своего сайта, но уже с использованием https:// в начале ссылки. Обратите внимание, что адресная строка изменилась: начало ссылки подсвечивается зеленым («безопасным») цветом, а браузер помечает сайт как «Надежный»
Но, как вы можете заметить, некоторые ссылки на страницах сайта по-прежнему содержат старый HTTP адрес. Это происходит потому, что Мадженто хранит некоторые ссылки как статические в базе данных. Чтобы весь интернет-магазин Magento перевести на HTTPS (без предупреждений о смешанном контенте), вам необходимо обновить ссылки на все ресурсы сайта.
Обновление ссылок в шаблонах активной темы
Некоторые ссылки могут быть прописаны прямо в шаблонах активной темы, по адресу app/design/frontend/{ПАКЕТ_ТЕМ}/{АКТИВНАЯ_ТЕМА}/template/
.
Воспользуйтесь поиском и, если найдете статические ссылки, замените протокол ссылки с http на https.
Обновление ссылок в базе данных
Если на вашем сайте немного товаров, вы можете обновить адреса ссылок путем простого редактирования существующих страниц через Панель администрирования. Для больших интернет-магазинов такая процедура не подходит – намного проще будет изменить все ссылки через интерфейс работы с базами данных MySQL (например, phpMyAdmin). В этом случае изменить все ссылки на сайте можно будет с помощью нескольких SQL-запросов.
Рассмотрим эту процедуру с использованием phpMyAdmin.
Откройте phpMyAdmin, а затем откройте нужную базу данных (которую использует текущая установка Мадженто). Потом откройте вкладку SQL, здесь введите нужные SQL-запросы.
Примеры SQL-запросов для обновления ссылок в таблицах catalog_category_entity_text
(ссылки, которые могут использоваться в описании категорий товаров) и cms_page
(ссылки, которые могут быть использованы в тексте CMS-страниц – в админке по адресу CMS — Page).
UPDATE catalog_category_entity_text SET value = REPLACE(value, 'http://VASH-DOMEN', 'https://VASH-DOMEN'); UPDATE cms_page SET content = REPLACE(content, 'http://VASH-DOMEN', 'https://VASH-DOMEN');
Внимание: замените VASH-DOMEN
в запросах на свой фактический домен. Желательно использовать полное вхождение ссылки домена, чтобы случайно не заменить другие записи, которые содержат название вашего домена (например, адреса электронных ящиков).
Пояснение SQL-запросов:
UPDATE
– этот оператор обновляет столбцы в соответствии с их новыми значениями в строках нужной таблицыcatalog_category_entity_text
– название таблицы в базе данныхcms_page
– название таблицы в базе данныхSET
– в этом выражении указывается список полей таблицы, которые будут обновлены и непосредственно сами новые значения полейvalue
– поле (столбец) таблицыcatalog_category_entity_text
content
– поле (столбец) таблицыcms_page
REPLACE()
– функция, которая заменяет некие данные. Синтаксис функции в примере:REPLACE({поле таблицы, где нужно что-то заменить}, '{точное вхождение, которое следует заменить}', '{точное вхождение, которым нужно заменить старые данные}')
Введите данные SQL-запросы и нажмите ОК. Это заменит все старые ссылки новыми в нужных таблицах базы данных.
Учтите, что ссылки вашего сайта могут храниться и в других таблицах/полях базы данных, тогда вам нужно будет изменить записи SQL-запросов. Сначала воспользуйтесь поиском по базе данных и выявите таблицы, которые содержат такие ссылки.
После этого не забудьте выполнить все рекомендации из статьи SEO-шные моменты переезда с http на https
Проверка установки https на Мадженто
Чтобы убедиться, что ваш интернет-магазин полностью настроен на HTTPS, мы рекомендуем протестировать ваш сайт с помощью онлайн-инструментов (например, SSL Labs или SSL Checker).
Кроме того, если вы используете браузер Chrome, откройте сайт и перейдите в режим инструмента разработчика (нажмите клавишу F12) во вкладку Security – там не должно быть никаких предупреждений и ошибок. Проверьте таким способом основные виды страниц на своем сайте (главная страница, страница категорий, страница товара и т.п.).
После того, как вы убедитесь, что все работает так, как нужно, можете снова включить кеш.
Рекомендуем также ознакомиться:
- Как перейти с HTTP на HTTPS – простая инструкция установки SSL
- SEO-шные моменты переезда с http на https