Як перевести сайт на HTTPS

У цій статті я розповім про те, як перевести сайт на протокол HTTPS, з урахуванням свого власного досвіду. Пошукова система Google почала підштовхувати сайти для переходу з протоколу HTTP на протокол HTTPS.

HTTP - незахищений протокол, який використовується для отримання інформації з сайтів в інтернеті. Протокол HTTPS (HyperText Transfer Protocol Secure) є захищеним розширенням протоколу HTTP, в цілях безпеки підтримує шифрування між браузером і сайтом.

зміст:
  1. Послідовність переходу сайту на HTTPS
  2. Історія перекладу мого сайту на HTTPS
  3. Підготовка до переходу на HTTPS
  4. Переводимо сайт на HTTPS
  5. Додавання директиви в файл wp-config.php
  6. Зміна URL сайту в настройках адмін-панелі
  7. Внесення змін до файл robots.txt
  8. Установка 301 редиректу на HTTPS
  9. Виправлення помилок після переходу на HTTPS
  10. Налаштування сайту в Google Search Console
  11. Налаштування сайту в Яндекс Вебмастер
  12. Додаткові налаштування
  13. висновки статті

Сайти, які перейшли на захищений протокол HTTPS, використовують SSL сертифікат для перевірки безпеки з'єднання. SSL сертифікати видаються спеціальними центрами сертифікації, які гарантують, що дані передаються по захищеному з'єднанню. Сертифікати безпеки бувають різного типу.

Пошукові системи перейшли на HTTPS. Наприклад, слідом за Google, Yandex перейшов на HTTPS.

Навіщо переходити на HTTPS? З метою більшої безпеки, підвищення довіри, отримання кращих позицій в пошукових системах (в перспективі).

Чи потрібно переходити на HTTPS всім сайтам? В даний момент, в цьому немає необхідності. Переклад на захищений протокол HTTPS необхідний сайтам, які мають авторизацію, які приймають платежі і т. П.

Чи варто переходити на HTTPS? Я думаю, що варто. Можливо, що Google змусить до цього, а Яндекс часто повторює його дії з деякою затримкою. Яндекс перейшов на захищений протокол, перевів на нього всі свої сервіси.

Гугл може впливати на сайти, не тільки ранжуючи їх в пошуковій видачі, а безпосередньо в найпопулярнішому браузері Google Chrome. Можливий розвиток ситуації: в адресному рядку браузера, при виклику сайту з протоколом HTTP, з'явиться помітний червоний значок, що сигналізує про небезпеку. Через це, даний сайт серйозно втратить в відвідуваності, з усіма наслідками, що випливають. Якщо дії Google підтримають інші популярні браузери, то багато власників сайтів самі перекладуть свої сайти на HTTPS.

Далі я розповім, як я переклав свій сайт, що працює на WordPress, на захищений протокол HTTPS. Вам доведеться вирішити самостійно переходити на https, чи ні.

Послідовність переходу сайту на HTTPS

Переїзд сайту з HTTP на HTTPS складається з трьох основних послідовних кроків:

  1. Попередня підготовка сайту до перенесення на протокол https.
  2. Технічний переклад сайту на https.
  3. Налаштування сайту для пошукових систем після переходу на https.

Перехід мого сайту на протокол HTTPS пройшов без втрати позицій в пошукових системах, падіння відвідуваності не було.

Історія перекладу мого сайту на HTTPS

Після вивчення цього питання, спочатку я вирішив, що буду відтягувати переїзд свого сайту на протокол https якомога довше, через фінансові причини, щоб не платити зайві гроші за SSL сертифікат. У мене звичайний сайт, на якому не відбувається передача будь-яких особистих даних.

Хостинг Спрінтхост запропонував встановити безкоштовний SSL сертифікат від Let's Encrypt. Let's Encrypt - безкоштовний SSL сертифікат, створений під егідою таких відомих IT-компаній: Mozilla, Cisco, Akamai, Facebook і т. Д.

Настали новорічні вихідні, у мене з'явився вільний час. Тому я вирішив спробувати перевести свій сайт на захищений протокол.

Перша спроба завершилася невдачею. Після підключення SSL сертифікату та зміни адреси сайту, у мене почалися проблеми з входом в адмін-панель сайту. В той момент, у мене не було часу на розгляд, я просто відключив SSL сертифікат на хостингу, а потім вирішив проблему входу в адмінку.

Друга спроба виявилася набагато серйозніше. Я обговорював можливі проблеми входу в адміністративну панель сайту з техподдержкой хостингу, і вони мені запропонували самостійно налаштувати мій сайт на протокол HTTPS. Я погодився, нехай самі все зроблять.

У підсумку, через п'ять годин мені прийшов лист про те, що протокол на сайті працює. Правда була одна проблема: на самому сайті, крім зображення в шапці сайту і назви останньої опублікованої статті, нічого не було. Взагалі нічого (пусте місце) на всіх сторінках сайту. Зате в адресному рядку гордо красувався зелений значок. Вони мені написали, що з темою, встановленої на сайті, щось не так, зверніться до розробника теми, або встановіть стандартну тему, і все добре заробить.

Можливо, ця ситуація виникла через те, що справа відбувалася 2 січня. Сайт відновили з резервної копії.

Після цього, я вирішив самостійно перевести свій сайт на захищений протокол (третя спроба), та й SSL сертифікат був підключений.

Відновлений сайт мав проблеми з входом в адмін-панель, які я вирішив наступним чином: видалив 301 редирект на https з файлу htaccess, і прибрав "s" з двох URL сайту в таблиці бази даних. Всі подальші мої дії з переведення сайту, зайняли зовсім небагато часу.

Як правильно перейти на https? Подивимося мої дії послідовно крок за кроком.

Підготовка до переходу на HTTPS

Перед тим, як перенести сайт на HTTPS, необхідно виконати підготовчі дії. Буде потрібно замінити абсолютні посилання в статтях на сайті, на відносні посилання.

У статтях на сайті є посилання на зображення, посилання на інші статті сайту. З внутрішніх посилань на сайті потрібно прибрати протокол (http), для того, щоб посилання працювали при будь-якому протоколі: незахищеному (http) або захищеному (https), без різниці.

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

Приклад абсолютної посилання з протоколом:

http://vellisa.ru

Приклад відносні посилання, в якій немає протоколу:

//vellisa.ru

Для заміни посилань я використовував плагін Search Regex. Увімкніть плагін Search Regex, а потім виконайте наступні дії:

  1. В поле "Search pattern" введіть частину посилання (на цьому прикладі, частина посилання на зображення), в якій зазначено протокол (http :).
  2. Натисніть на кнопку "Search", після цього, на сторінці відобразяться всі знайдені подібні посилання і їх кількість.
  3. В поле "Replace pattern" введіть таку ж частину посилання, тільки без вказівки протоколу (дивіться приклад на зображенні).
  4. Натисніть на кнопку "Replace & Save".
  5. Після цього, всі подібні посилання в статтях на сайті зміняться.

Тепер всі посилання на зображення на сайті будуть без вказівки протоколу:

було: src = "http://vellisa.ru/wp-content/uploads/2017/01/0-2.png стало: src =" // vellisa.ru/wp-content/uploads/2017/01/0 -2.png

Подібним чином змініть внутрішні посилання (приберіть звідти протокол) на інші статті свого сайту (внутрішня перелінковка).

Я не рекомендую використовувати для пошуку конструкцію "http: //" (без лапок), а для заміни "//" (без лапок), так як в цьому випадку замінюється всі посилання в статтях, а не тільки внутрішні посилання вашого сайту. Якщо в статтях вашого сайту є посилання на партнерські продукти, то після заміни, посилання можуть стати битими або вести не туди куди потрібно.

При підготовці до перенесення сайту на захищений протокол, ми вирішуємо відразу три завдання: прибираємо протокол з посилань, видаляємо зайвий код з сайту, виконуємо рекомендації пошукових систем.

Переводимо сайт на HTTPS

Перед початком змін, обов'язково створіть резервну копію сайту і бази даних. У разі виникнення серйозних проблем, ви зможете повернути свій сайт до свого попереднього стану з резервної копії. Якщо ви використовуєте на своєму сайті плагін безпеки, вимкніть його на час переходу на https для того, щоб він не заважав вашим діям з перекладу сайту на захищений протокол.

Як перевести сайт на HTTPS, і що потрібно зробити? Порядок дій наступний:

  1. Підключення SSL сертифікату.
  2. Додавання директиви в файл wp-config.php.
  3. Зміна URL сайту в адмін-панелі.
  4. Зміна URL посилань на сайті за допомогою плагіна Velvet Blues Update URLs.
  5. Внесення змін до файл robots.txt.
  6. Установка 301 редиректу на https в файлі htaccess.
  7. Виправлення помилок після перекладу сайту на HTTPS.
  8. Налаштування сайту в Google Search Console.
  9. Налаштування сайту в Яндекс Вебмастер.

Спочатку необхідно підключити до сайту SSL сертифікат. Я не буду на цьому зупинятися, тому що на сайтах використовується різні способи отримання і підключення сертифіката.

Підключення безкоштовного SSL сертифікату від Let's Encrypt на хостингу Спрінтхост займає всього кілька хвилин.

Після підключення SSL сертифікату, сайт стане відкриватися відразу по двох протоколах "http" та "https". Переконайтеся в доступності сайту по HTTP і HTTPS в різних браузерах.

При відкритті сайту по протоколу HTTPS, відображення деяких елементів сайту, можливо, буде некоректним через те, що вони завантажуються по старому протоколу HTTP.

Додавання директиви в файл wp-config.php

Увійдіть за FTP на хостинг, відкрийте файл wp-config.php, який розташований в корені сайту (папка "public_html") на Вордпресс.

У файл wp-config.php необхідно додати наступний код:

define ( 'FORCE_SSL_ADMIN', true);

Вставте код у верхній частині файлу, відразу після коментарів (після тексту, зазначеного зірочками). Ця директива потрібно в тому випадку, якщо при роботі з панеллю адміністрування по захищеному протоколу виникає цикл перенаправлень.

У моєму випадку, при спробах входу в адмін-панель сайту, відбувалася переадресація на 404 сторінку (сторінка не знайдена).

Увійдіть в адмін-панель по протоколу HTTPS. При необхідності, очистіть кеш і видаліть куки (cookie) в браузері.

Зміна URL сайту в настройках адмін-панелі

В адмін-панелі WordPress увійдіть в "Налаштування". У розділі "Загальні налаштування" змініть "Адреса WordPress (URL)" і "Адреса сайту (URL)" з протоколу http на протокол https. Додайте букву "s" в протокол, а потім натисніть на кнопку "Зберегти зміни".

Зміна URL на сайті плагіном Velvet Blues Update URLs

Далі необхідно видалити вказівку протоколу з усіх посилань, що мають в своєму адресу назву вашого сайту.

Для цього встановіть, а потім активуйте плагін Velvet Blues Update URLs.

  1. Увійдіть в "Інструменти" => "Update URLs".
  2. В поле "Old URL" введіть стару адресу сайту (обов'язково поставте прямий слеш в кінці адреси). В поле "New URL" введіть нову адресу сайту (з HTTPS), в якому обов'язковий прямий слеш на кінці адреси.
  3. Виберіть зазначені на зображенні настройки для зміни посилань у змісті сторінок, у витягах, в посиланнях, як додаток до (зображення, документи, медіа), в полях мета даних.
  4. Натисніть на кнопку "Update URLs NOW".

Вимкніть плагін Velvet Blues Update URLs, він більше не потрібен, його можна видалити.

Внесення змін до файл robots.txt

Для пошукової системи Яндекс необхідно явно вказати протокол в директиві Hosts в файлі robots.txt. За замовчуванням, директива Hosts в файлі robots.txt вказана без протоколу. В директиву Hosts потрібно додати протокол HTTPS.

Якщо у файлі robots.txt є посилання на карту сайту, додайте в посилання протокол HTTPS.

Після поновлення, директиви у файлі robots.txt мого сайту виглядають наступним чином:

Host: https://vellisa.ru Sitemap: https://vellisa.ru/sitemap.xml.gz Sitemap: https://vellisa.ru/sitemap.xml

Установка 301 редиректу на HTTPS

Встановіть 301 редирект (перенаправлення) з HTTP на HTTPS для того, щоб сайт відкривався тільки за однією адресою. Це необхідно зробити для пошукової системи Google.

Перенаправлення додається в файл .htaccess. Уточніть в техпідтримку свого хостингу, який саме варіант 301 редиректу на протокол https, слід використовувати на даному хостингу. В інтернеті можна знайти різні варіанти подібних перенаправлень.

На хостингу Спрінтхост використовується наступний варіант 301 редиректу:

RewriteEngine On RewriteCond% HTTP: X-Forwarded-Proto! Https RewriteRule ^ https: //% HTTP_HOST% REQUEST_URI [L, R = 301, NE]
Порада: помістіть код 301 редиректу в саму верхню частину файлу htaccess.

Перевірте роботу 301 редиректу: вставте посилання на сайт з протоколом HTTP, переконайтеся, що за цим посиланням сторінка сайту відкривається з протоколом HTTPS.

Яндекс рекомендує дочекатися склейки дзеркал сайту, а потім використовувати редирект, для того, щоб не відбулося виключення сторінок сайту з індексу. Я відразу стає 301 редирект, не став чекати склейку дзеркал. Можливо, цього вже не потрібно.

В даний час, при переході сайту на захищений протокол за правилами Яндекса, на сайті потрібно відразу встановити 301 посторінковий редирект.

Виправлення помилок після переходу на HTTPS

Якщо, після переходу на захищений HTTPS протокол, в адресному рядку браузера не відображається зелений значок, то значить, що на даній сторінці є, так звані, помилки змішаного вмісту. На сторінці HTTPS є HTTP вміст, який не захищене, тому вміст таких сторінок, називають змішаним.

Виправити помилки доведеться самостійно. Виявити помилки змішаного вмісту можна за допомогою режиму (інструментів) розробника в браузері. Відкрийте сайт в браузері, натисніть на кнопку "F12".

В інструментах розробника, у вкладці Console (Google Chrome) або у вкладці "Консоль" (Mozilla Firefox) зверніть увагу на помилки "Mixed content" ( "Змішаного вмісту"). Знайдіть ці файли, змініть посилання.

На моєму сайті були дві помилки змішаного вмісту: посилання на зображення в шапці сайту і посилання на фавікон. В налаштуваннях теми я додав в URL адреси букву "s". Після цього, на всіх сторінках сайту відобразився зелений значок.


Перевірте сайт в різних браузерах, переконайтеся, що на різних сторінках (статті, рубрики, сторінки і т. Д.) Відображається зелений значок. Рекомендую перевірити доступність сайту в браузері Mozilla Firefox, інакше можна втратити відвідувачів з цього браузера, так як я спостерігав недоступність деяких сайтів, які були доступні в цей час з браузера Google Chrome.

Перевірте коректність роботи сайту по SSL на сервісі https://www.sslshopper.com/ssl-checker.html. Після перевірки на сервісі, всюди повинні стояти зелені значки. Якщо десь їх немає, необхідно вирішити ці проблеми.

Налаштування сайту в Google Search Console

Увійдіть в Search Console Google, натисніть на кнопку "Додати ресурс", додайте свій сайт з протоколом HTTPS. Підтвердіть права власності на свій сайт.

Відкрийте свій сайт в Search Console по новому протоколу. У розділі "Сканування" => "Файли Sitemap", додайте посилання на карту сайту в XML (sitemap.xml). Більше нічого робити не потрібно, Google зрозуміє, що сайт переїхав на HTTPS, поступово проиндексирует сторінки сайту по новому протоколу.

На пошту прийде лист від Google з рекомендаціями, ігноруйте цей лист.

Налаштування сайту в Яндекс Вебмастер

Увійдіть в Веб-майстер Яндекс, в розділі "Індексування" => "Переїзд сайту", поставте галку навпроти "Додати HTTPS", а потім натисніть на кнопку "Зберегти". Переїзд сайту займе якийсь час.

Додайте сайт з протоколом HTTPS в Яндекс Вебмастер https://webmaster.yandex.ru/sites/add/ і підтвердіть права на його управління.

Увійдіть в розділ "Індексування" => "Файли Sitemap". Додайте посилання на карту сайту в XML (https: // домен_сайта /sitemap.xml).

Я припустився помилки: не додав сайт по протоколу HTTPS в Яндекс Вебмастер, що працює по протоколу HTTP. Виникла така ситуація: сайт працював в звичайному режимі, переїзд сайту на HTTPS відбувся, всі сторінки сайту випали з індексу, ТИЦ обнулився. Минуло більше трьох тижнів, в індексі сторінок немає, відвідуваність у сайту звичайна, посилання в пошуку працюють по протоколу HTTPS, при спробі додати нові статті в "Оригінальні тексти", Веб-майстер не дозволяє мені додавати посилання по захищеному протоколу.

Я написав в техпідтримку Яндекса, і через кілька годин отримав відповідь від Платона Щукіна. Він пояснив мені ситуацію: мій сайт доданий в Яндекс Вебмастер по протоколу HTTP, сайт виконує перенаправлення на нову адресу з HTTPS, мені потрібно додати сайт в Веб-майстер і підтвердити на нього права.

Я додав сайт з HTTPS в Веб-майстер, додав посилання на карту сайту в XML. Через добу всі сторінки сайту по новому протоколу потрапили в індекс Яндекса.

Після перекладу мого сайту на протокол HTTPS, підвищилася відвідуваність з пошукової системи Яндекс. Після чергового апдейта, повернулися показники ТИЦ сайту.

Додаткові налаштування

Внесіть зміни в свій профіль в Google Analitics (Universal Analitics), налаштуйте URL за замовчуванням з HTTPS. Додайте нові посилання на сайт на інших ресурсах, поміняйте URL сайту в своїх профілях соціальних мереж, YouTube і т. П.

висновки статті

Для переїзду сайту на HTTPS, необхідно виконати певні дії для того, щоб правильно перейти на протокол HTTPS, без падіння відвідуваності і втрати позицій в пошукових системах.

Схожі публікації:
  • Як видалити дублі сторінок
  • Як відкрити посилання в новому вікні
  • Як збільшити відвідуваність сайту
  • Як встановити рекламу на сайті
  • Огляд швидкого хостингу AdminVPS