Переход WordPress сайта с http на https

В своё время новость Google навела довольно большой шум и суматоху среди вебмастеров. В новости говорилось о том, что в новых версиях браузера Хром появятся оповещение незащищённого соединения на сайтах, которые используют http. Это не было липой и так случилось на самом деле. Но это оповещение оказалось не столь заметным и не пугающим для посетителей.

Но ещё позже стали появляться другие новости, также о важности перехода сайта на протокол https и его значимости по всем пунктам, вплоть до того, что это будет влиять на ранжирование сайта в поисковиках. В принципе это так и происходит, даже Яндекс в кабинете вебмастера подчёркивает этот недостаток как возможную ошибку. Вот что лично говорит «Гоша».

ответы яндекса

В общем, мы приходим к таким итогам, что любой сайт, в том числе личные блоги, должны рано или поздно перейти на https. Давайте это сделаем с лаконичной пошаговой инструкцией шаг за шагом.

Важно! Перед тем как мы начнём что-то изменять, выполните в обязательном порядке резервную копию сайта вместе с файлами сайта. И только тогда начинаем делать первые шаги.

Переносим WordPress с http на https

миграция сайта на https

Не стоит пугаться таких изменений и накручивать себе мысли, что это слишком сложно и не под силу каждому. На самом деле всё намного проще. Те, кто имеет хоть небольшой опыт работы с сайтом, смогут провернуть переезд на новый протокол. Конечно, мы в этом поможем, описав все действия. Просто следуйте этим указанием и всё получится. Если будут трудности, обращайтесь в комментариях.

Шаг 1. Сертификат let's Encrypt. Установка

Сертификат let's Encrypt является полностью бесплатным продуктом, который предоставляют все известные хостинг-провайдеры. Он устанавливается автоматически также и продлевается. Всё что вам нужно, так это зайти в свой кабинет на хостинге, перейти в определённый раздел (в зависимости от вида панели управления, разделы могут отличаться) и поставить галочку на установку сертификата.

Если по каким-то причинам в этом шаге возникнут трудности, обратитесь в техподдержку. Они или сами подключат сертификат или точно укажут где, что нажать.

Шаг 2. Настройка HTTPs WordPress

После подключения сертификата проверьте доступ сайта по https://. Если доступ появился, а он должен был появиться, тогда формально у вас стало два сайта. Мы сейчас это подправим, а позже совсем их склеим через редирект. Зайдите в админ-панель сайта на вкладку «Настройки – Основные». Нам нужно изменить две строчки – адрес WordPress и адрес сайта. Точнее, изменить только протокол с http на https. Дальше нажмите кнопку «Сохранить» и вас перекинет на страницу входа. Все отлично, так и должно быть. Просто повторно зайдите в админку.

адрес сайта

Шаг 3. Изменяем внутренние ссылки на сайте WordPress

Продолжаем работу над изменениями ссылок. Только на этом шаге нам предстоит изменить на всём сайте. Здесь есть много вариантов, как это сделать. К примеру, через sql-запросы, скачать базу и через поиск изменить, или же использовать плагины. Мы воспользуемся последним, а именно через плагин Search Regex.

Устанавливаем плагин и активируем его. Переходим в раздел «Инструменты — Search Regex». А теперь смотрим на скриншот. Цифра 1.) В выпадающем списке есть возможность выбрать, в какой части сайта мы хотим искать то, что нам нужно. Мы будем искать по порядку во всех доступных частях. Цифра 2.) В это поле ввода вписываем то, что хотим найти и изменить. А именно домен сайта с протоколом http (пример в скриншоте). Цифра 3.) В это поле вписываем то, на что хотим изменить.

изменяем внутренние ссылки

В итоге делаем так: заполняем два поля, выпадающем списке выбираем первый пункт (цифра 1.), жмём кнопку «Replace&Save». Дальше выбираем другой пункт и опять же жмём кнопку «Заменить и сохранить». Так проделываем с каждым пунктом.

Шаг 4. Настраиваем перенаправление (редирект 301) с http на https

Уже почти подходим к концу. На этом этапе займёмся объединением сайта через редирект 301. Redirect 301 – это перенаправление с одного адреса на другой, на постоянной основе (навсегда!). Это то что нам и нужно. По сути, мы склеим старый протокол с новым, чтобы в итоге получился одни сайт, работающий по защищённому соединению HTTPs.

Для этого также можно использовать плагины. В официальном репозитории по этой задачи их довольно много. Но это уже слишком для ленивых. Мы воспользуемся некими функциями, которые нужно прописать в файле .htaccess в самом его начале. Я представлю несколько вариантов на случай, если один из них не будет работать на вашем хостинге.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Ещё вариант:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Ещё вариант:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

Ещё вариант:

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Пробуйте их поочерёдно и проверяйте сайт, чтобы при обращении к ресурсу по протоколу http, открывался сайт на https.

Шаг 5. Доработка и исправление смешанного контента

Переход WordPress сайта на https, можно сказать, что уже состоялся. Остались мелкие правки и исправление смешанного контента. Что это такое? Это когда сайт работает на https, но на страницах или статьях, или ещё где, остался протокол http. Это могут быть подключения скриптов, стилей или же это картинки. В общем, всё что угодно. Задача как раз заключается в том, чтобы найти их и исправить. Начнём по порядку.

Изменение адреса sitemap. Откройте файл robots.txt и исправьте в нём путь к карте сайта, то есть просто измените в нём протокол. И если есть строка host, в ней тоже исправьте префикс. Должно быть, вот так:

Host: https://site.ru
Sitemap: https://site.ru/sitemap.xml

Обновление CDN, скриптов, стилей. Нам нужно исправить все подключения к сайту на относительные ссылки, если эти подключения идут через http. К примеру, у вас подключается какой-то сторонний скрипт. Он идёт через http (http://site.ru/script.js). Мы меняем на относительный путь, то есть без протокола. Вот так //site.ru/script.js. И так исправляем везде, где есть значок смешанного контента.

смешанный контент

Проверьте по всему сайту, чтобы таких сообщений «подключение к сайту защищено не полностью» не было. Вспомните, встраивали вы прямо в тело шаблонных файлов темы какие-то скрипты, сторонние сервисы и прочее. Можно через исходный код с помощью поиска искать оставшиеся http.

Изменить адрес сайта в Google Analytics. Если вы используете инструмент «Аналитику» от Goolge, то тогда нужно в настройках внести изменения. Переходим в кабинет анализа и идём по такому пути «Администратор – Настройки ресурса». В пункте «URL по умолчанию» меняем протокол и сохраняем изменения.

исправить адрес в гугл аналитике

Шаг 6. Проверить корректность работы сертификата

Давайте проверим проделанную работу, точнее, корректность работы сертификата. В этом нам помогут сервисы. Просто заходим на них и вводим домен сайта. Если на ресурсе окажутся проблемы, они проявятся в отчёте. Обычно красным или жёлтым цветом.

https://www.ssllabs.com/ssltest/ — глубокий анализ конфигураций SSL-сервера.
https://www.jitbit.com/sslcheck/ — этот сервис поможет найти все пропущенные ссылки с http.

Шаг 7. Добавление нового сайта с HTTPS в поисковики

В самых изначальных рекомендациях от поисковиков говорилось, что нужно подождать пока сайт склеиться, проиндексируется и только тогда добавить его в поиск по-новому. Но сейчас этого не требуется. Это официальные ответы от Яндекса. Ниже я добавлю ссылки на источник, чтобы вы в этом не сомневались. Давайте начнём добавление «нового» сайта.

Google. Для этого поисковика много действий делать не нужно. Просто заново добавьте сайт в Google вебмастере, как обычно, добавляют новый сайт. Но только с протоколом https и со временем поисковик начнёт считать его главным зеркалом. И не забудьте добавить карту сайта.

Яндекс. В этом случае придётся сделать пару дополнительных действий. В первую очередь также добавляем сайт в Яндекс как новый сайт, только с протоколом https. Дальше перейдите на старую версию сайта (с протоколом http) в кабинете вебмастера. Слева в меню выбираем «Индексирование – переезд сайта». Укажите протокол https и нажмите кнопку «Сохранить». И про карту сайта не забудьте.

добавить сайт в яндекс

Вот и всё. На склейку может уйти до двух месяцев. Обычно хватает 2-3 недели или пару «апов» поисковика.

Рекомендации от Яндекс и Google по переезду сайта на HTTPS

Прилагаю официальные источники, где есть ответы на часто задаваемые вопросы от самих поисковиков. Есть также краткие инструкции и есть много интересных вопросов от пользователей в самых различных ситуациях.

Инструкция по переходу на HTTPS — https://yandex.ru/support/webmaster/yandex-indexing/https-migration.html
Самые популярные вопросы про переезд сайта на сегодняшний день — https://webmaster.yandex.ru/blog/samye-populyarnye-voprosy-pro-pereezd-sayta-na-segodnyashniy-den
HTTPS как знак качества сайта — https://webmaster.yandex.ru/blog/https-kak-znak-kachestva-sayta
Защищайте свой сайт с помощью HTTPS — https://support.google.com/webmasters/answer/6073543?hl=ru

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *