Вчера обратился клиент с просьбой перенести сайт на https. Задача достаточно актуальная из-за ужесточения требований к безопасности персональных данных и ростом доверия поисковиков к сайтам на протоколе https.
Что такое https и зачем оно надо
HTTPS — расширенный протокол передачи данных HTTP с поддержкой шифрования.
В HTTP данные передаются в открытом виде. Вероятность несанкционированного доступа к информации сильно возрастает и занимает меньше усилий. Проблему можно решить передачей данных в зашифрованном виде по протоколу HTTPS.
Чем полезен переезд на HTTPS
- Защита персональных данных между пользователем и сайтом: пароли, банковские карты, контактные данные.
- Повышение доверия к сайту со стороны поисковиков.
- Появление оповещения в браузере о защищенности сайта и увеличение доверия пользователей к сайту.
- Возможность подключения к сайту Пуш-уведомлений — доступно только сайтам на https протоколе.
Зеркала и склейка
Самая большая тревога при переносе сайта на https — потеря позиций в поисковой выдачи и падение посещаемости. Решением проблемы является создание зеркала сайта.
Зеркало сайта — дополнительный адрес сайта прикрепленный к основному адресу. Если проще, то два адреса одного и того же сайта.
Объединение нескольких сайтов в один называется склейкой. В нашем случаи склеивать мы будем старый адрес сайта и новый с https. При склейки адресов показатели индексирования перенесутся на новый адрес: входящие ссылки, уникальный контент, ТиЦ и тд. Правильный переезд никак не должен нарушить позиции сайта, но в тоже время поисковики не гарантируют это.
Перенос и настройка сайта
Правильная последовательность действий поможет за 1 день перенести сайт на HTTPS. Разделим перенос сайта условно на 3 этапа:
- Установка сертификата
- Подготовка сайта
- Обновление данных для поисковых систем (Настройка поисковой оптимизации)
Этап 1. Получение и установка SSL сертификата
Получить SSL сертификат и установить на домен в 99% случаев возможно через панель управления вашего хостинга. Например у Бегет это делается в 2 клика.
Выбираем нужный тип сертификата и кликаем «Установить». Нам интересен бесплатный Let’s Encrypt. Через 30 минут получаем SSL.
Возможность получить SSL сертификат есть почти на всех хостингах и как правило все происходит в 1-2 клика. Если такой возможности нет, то бегите от него.
Далее будем считать, что Ваш хостинг провайдер зарегистрировал и привязал к нужному домену SSL сертификат. С этой задачей справились.
Теперь проверим не установлен ли хостинг-провайдером автоматический редирект с http на https. Сайт может из-за этого некорректно открывается и быть потерян поисковиками.
В личном кабинете вебмастера заходим в раздел «Инструменты» — «Проверка ответа сервера» и вставляем старый адрес сайта с http. Кликаем «Проверить». Если редиректа на домене нет, то ответ сервера должен быть «200 OK». У нас именно так и значит все в порядке.
Проверьте открывается ли сайт по новому адресу с https. После установки сертификата сайт должен открыться по новому и по старому адресу.
Теперь можно проверить корректность установки сертификата. Для этого воспользуемся сервисом SSL Lab. Заполняем форму нашим адресом, но уже с https в начале адреса и кликаем «Submit».
Ждем 2-5 минут и получаем результаты тестирования сертификата. В идеале должны увидеть 3 зеленые шкалы. Если они желтые или красные, то есть замечания. Посмотрите на рекомендации и попробуйте их устранить.
SSL сертификаты имеют срок действия от 3 мес. до нескольких лет. Обязательно уточните у хостинг-провайдера или организации выдавшей вам сертификат о порядке продления. Обычно это происходит автоматически.
Этап 2. Подготовка сайта
Главная цель этапа подготовки — замена всех внутренних абсолютных ссылок на относительные ссылки. Все необходимые для работы сайта файлы должны быть доступны по новому адресу: картинки, скрипты, стили и тд.
Пример:
site.ru/catalog — абсолютная ссылка
/catalog/ — относительная ссылка
Для небольших проектов это не занимает много времени.
Если сайт на вордпрес
1) В панель управления сайтом в раздел «Настройки» — «Общие» у 2 полей «Адрес WordPress (URL)» и «Адрес сайта (URL)» в адресе заменим http на https. Сохраняем изменения.
2) Заменим все внутренние ссылки на сайте на https через sql запрос в phpmyadmin.
phpmyadmin — инструмент администрирования баз данных. Должен присутствовать в личном кабинете вашего хостинга.
Процесс такой же как и перенос сайта вордпрес на другой домен.
В phpmyadmin заходим во вкладку «SQL» и копируем туда запрос:
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://old_site.ru', 'https://new_site.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://old_site.ru', 'https://new_site.ru');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://old_site.ru','https://new_site.ru');
UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'http://old_site.ru', 'https://new_site.ru');
UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'http://old_site.ru','https://new_site.ru');
UPDATE wp_posts SET guid = REPLACE (guid, 'http://old_site.ru', 'https://new_site.ru') WHERE post_type = 'attachment';
Предварительно замените в запросе «http://old_site.ru» на адрес вашего старого сайта, а вместо «https://new_site.ru» адрес нового сайта с https. Кликаем «Вперед».
Не забудьте поменять префикс базы данных «wp_» в sql запросе если вы его меняли ранее. Если нет, то оставляйте как есть.
Теперь нужно проверить нет ли где то на сайте ссылок на старый адрес. Если есть, заменить на новый адрес, а лучше на относительный адрес (ведущий отсчет от корня сайта без указания домена и протокола). Это могут быть неправильно подключенные файлы стилей, скриптов или фоновых картинок.
Для этого запустите инструмент разработчика в браузере хром. Запустить можно правой кнопкой мыши и «Просмотреть код» или кнопкой «F12». Зайдите во вкладку «Console». Если проблемы с ссылками остались, то там будут ошибки «this content should also be loaded over HTTPS» с указанием ресурсов которые подключаются по старому адресу. Исправьте все ошибки.
Если сайт на Опенкарт
1) В панели управления магазином зайти в «Система» — «Настройки». Зайти во вкладку «Сервер» и переключить на «Да» параметр «SSL». Сохранить.
2) Открыть для редактирования 2 файла «config.php». Один находится в корне сайта, второй в папке «admin».
3) Заменить в строках HTTP_SERVER’, ‘HTTP_CATALOG’, ‘HTTPS_SERVER’, ‘HTTPS_CATALOG’ http на https.
Если сайт НЕ на вордпрес
Это общие принципы, которые подойдут под любой сайт.
1) Заменить все внутренние ссылки на сайте относительными. Перенаправляем все подключаемые к сайту ресурсы на новый адрес: скрипты, css, картинки.
Старайтесь вообще не использовать абсолютные пути до файлов и адреса. По возможности везде прописывайте относительные пути.
2) Обновить или сгенерировать заново файл sitemap.xml с новым адресом.
После правильной процедуры подготовки сайта и смены всех адресов на относительный увидите в адресной строке «Надежный».
Этап 3. Сообщаем поисковикам о переносе.
Необходимо сообщить поисковикам о всей проделанной работе. Это снизит вероятность потери поисковых позиций и проиндексированных страниц. Воспользуемся панелью для вебмастеров.
В процессе смены зеркал и переезда на https сайт может потерять позиций. Это временная проблема. При правильном переносе позиции сайта должны вернутся в течении 1-2 мес.
Очень важно сменить адрес директивы host в файле «robots.txt». В строке Host и Sitemap меняем в адресе http на https. Сохраняем.
Вебмастер.яндекс
1) Добавить новый адрес с https в вебмастер: https://webmaster.yandex.ru/sites/add/
Если до этого у Вас не был добавлен старый адрес c http, то вначале добавьте его. В панели вебмастера должны быть добавлены старый и новый адрес.
2) Настройте уведомления: https://webmaster.yandex.ru/settings/
В вебмастере появилась возможность настройки оповещений о проблемах и событиях связанных с вашими сайтами. Настройте нужные оповещение. Рекомендую включить оповещение «Обновление главного зеркала». Так мы узнаем когда произойдет склейка старого и нового сайта.
3) В вебмастере заходим в инструмент «Переезд сайта» в разделе «Индексирование» по адресу текущего главного зеркала который с http. Отметьте пункт «Добавить HTTPS». Сайт адреса на этой же страницы должен поменяться на https. Нажимаем на кнопку «Сохранить».
Если все верно, то увидите уведомление об успешной отправки информации поисковому роботу на перепроверку сайта и возможность сделать версию сайта с https главным зеркалом. Процесс подтверждения заявки на смену главного зеркала занимает от 3 часов до 2-3 дней. Соответствующее уведомление появится на странице «Переезд сайта» и в уведомлениях из предыдущего пункта.
В поисковой выдачи ссылки обновляются в течение 2-4 недель.
После смены главного зеркала в вебмастере сайты буду сгруппированы следующим образом:
Версия с http будет признана не главным зеркалом и находится под адресом в версией https.
Косвенно смену главного зеркала можно увидеть по активности индексирования страниц. При заходе на старую http версию мы будем видеть уменьшение проиндексированных страниц, а в версии c https резкое увеличение.
4) Перенос дополнительных настроек. Если для старой версии сайта в панели вебмастера у вас присутствуют дополнительные настройки, их нужно перенести на новую версию.
Например это может быть:
- Настройки региона (геотаргетинг)/ Региональная принадлежность
- Настроить «Товары и цены»
- Добавить «Важные страницы»
- Файлы Sitemap.xml
Google Search Console
1) Добавление сайта с https в Google Search Console. Как и в случаи с вебмастером.яндекс в гугл консоль должны быть добавлены 2 версии сайта: с http и https. https://www.google.com/webmasters/tools/
2) Перенос дополнительных настроек. Если для старой версии сайта в панели вебмастера у вас присутствуют дополнительные настройки, их нужно перенести на новую версию.
Например это может быть:
- Настройки региона (геотаргетинг)/ Региональная принадлежность
- Файлы Sitemap.xml
- Список ссылок в Disawov Tool
- Исключенные параметры URL
Настройка редиректа
Финальным этапом переезда является настройка 301 редиректа со старого сайта http на новый https.
Редирект нужно устанавливать только после склейки/объединения адресов в яндекс!
В противном случае есть большой риск потерять проиндексированные страницы и позиции. Со старого адреса будет редирект на новый, а новый еще не будет признан основным зеркалом. В результате выпадение из поискового индекса.
Желательно не просто подождать склейки, но и дождаться появления яндекс ссылок с новым адресом, а кол-во ссылок с http адресом обнулились.
После того как яндекс склеил сайты, переопределил главное зеркало на https, проиндексировал большую часть страниц с https и убрал из поиска старые ссылки можно приступать к настройке перенаправления.
Редирект сайта с http на https осуществляется через файл htaccess. Откроем htaccess в редакторе кода или текстовом редакторе. Копируем в файл код редиректа (если первые 2 строки уже есть, то копировать их не нужно):
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
Вместо «https://domain.ru» пишите свой адрес с https
Сохраняем фаил и проверяем. Введите адрес сайта без https в браузере. Должно перекинуть на https://вашсайт.ру.
Резюмируем
- Очень важно правильно прописать директиву host в robots.txt.
- Не забыть перенести настройки индексирования внутри панели вебмастера на новый адрес.
- Обновите или создайте карту сайта для нового адреса.
- Настройку редиректа лучше производить после склейки сайтов в яндекс.
- Вероятность потери трафика всегда присутствует. Не забывайте об этом.
Полезные ссылки
- Проверка SSL сертификата: https://www.ssllabs.com/ssltest/
- Вебмастер.яндекс: https://webmaster.yandex.ru
- Добавление нового адреса в вебмастер.яндекс: https://webmaster.yandex.ru/sites/add/
- Настройка уведомлений в вебмастер.яндекс: https://webmaster.yandex.ru/settings
- Инструмент переезд сайта: https://webmaster.yandex.ru/site/indexing/mirrors/
- Google Search Console: https://www.google.com/webmasters/tools/
Авторизуясь, вы даете согласие на обработку персональных данных.