Як інтернет-магазину на 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 – там не повинно бути ніяких попереджень і помилок. Перевірте таким способом основні види сторінок на своєму сайті (головна сторінка, сторінка категорій, сторінка товару і т.п.).

Після того, як ви переконаєтеся, що все працює так, як потрібно, можете знову включити кеш.

 

 

Рекомендуємо також ознайомитися:

 

Recent Posts

Вуді Аллен

Якщо хочеш пізнати людину, не слухай, що про неї говорять інші, послухай, що вона говорить…

4 дні ago

Еріх Марія Ремарк

Вибачення — не означає, що ти не правий, а інша людина має рацію. Це всього…

2 тижні ago

Джим Керрі

Той, хто вміє усміхатися щодня, вміє жити Джим Керрі  

3 тижні ago

Хань Сян-цзи

Допомагаючи ледачим людям, ти допомагаєш їм сісти на свою шию Хань Сян-цзи  

3 тижні ago

Як працює електронна книга

Атмосферу паперової книги, запах свіжого чорнила і паперу, що трохи залежався, складно замінити гаджетами. Але…

4 тижні ago

Робін Шарма

Дій так, ніби невдача просто неможлива, а успіх забезпечений Робін Шарма  

1 місяць ago