В своё время новость Google навела довольно большой шум и суматоху среди вебмастеров. В новости говорилось о том, что в новых версиях браузера Хром появятся оповещение незащищённого соединения на сайтах, которые используют http. Это не было липой и так случилось на самом деле. Но это оповещение оказалось не столь заметным и не пугающим для посетителей.
Но ещё позже стали появляться другие новости, также о важности перехода сайта на протокол https и его значимости по всем пунктам, вплоть до того, что это будет влиять на ранжирование сайта в поисковиках. В принципе это так и происходит, даже Яндекс в кабинете вебмастера подчёркивает этот недостаток как возможную ошибку. Вот что лично говорит «Гоша».
В общем, мы приходим к таким итогам, что любой сайт, в том числе личные блоги, должны рано или поздно перейти на https. Давайте это сделаем с лаконичной пошаговой инструкцией шаг за шагом.
Переносим WordPress с http на 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
Прилагаю официальные источники, где есть ответы на часто задаваемые вопросы от самих поисковиков. Есть также краткие инструкции и есть много интересных вопросов от пользователей в самых различных ситуациях.