Как интернет-магазину на 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
This post was last modified on 20/04/2019 15:46
Последние посты
Генри Форд
Человек имеет два мотива поведения — один настоящий и второй, который красиво звучит Генри Форд…
Фридрих Ницше
Не нужно додумывать слишком много. Так вы создаете проблемы, которых изначально не было Фридрих Ницше…
Такой разный инвертор! Выбираем между кондиционерами Inverter, Inverter DC и Full DC
Лето в разгаре, а значит самое время задуматься о покупке кондиционера. Но как не потеряться…
Омар Хайям
Настоящий друг — это человек, который в глаза тебе выскажет все, что о тебе думает,…
Полезные советы по выбору раздвижной двери
Следует знать, что функциональность и дизайн работают рука об руку, когда вы используете раздвижную дверь.…