Вчера обратился клиент с просьбой перенести сайт на https. Задача достаточно актуальная из-за ужесточения требований к безопасности персональных данных и ростом доверия поисковиков к сайтам на протоколе https.
Что такое https и зачем оно надо
HTTPS — расширенный протокол передачи данных HTTP с поддержкой шифрования.
В HTTP данные передаются в открытом виде. Вероятность несанкционированного доступа к информации сильно возрастает и занимает меньше усилий. Проблему можно решить передачей данных в зашифрованном виде по протоколу HTTPS.
Чем полезен переезд на HTTPS
- Защита персональных данных между пользователем и сайтом: пароли, банковские карты, контактные данные.
- Повышение доверия к сайту со стороны поисковиков.
- Появление оповещения в браузере о защищенности сайта и увеличение доверия пользователей к сайту.
- Возможность подключения к сайту Пуш-уведомлений — доступно только сайтам на https протоколе.
Зеркала и склейка
Самая большая тревога при переносе сайта на https — потеря позиций в поисковой выдачи и падение посещаемости. Решением проблемы является создание зеркала сайта.
Зеркало сайта — дополнительный адрес сайта прикрепленный к основному адресу. Если проще, то два адреса одного и того же сайта.
Объединение нескольких сайтов в один называется склейкой. В нашем случаи склеивать мы будем старый адрес сайта и новый с https. При склейки адресов показатели индексирования перенесутся на новый адрес: входящие ссылки, уникальный контент, ТиЦ
Перенос и настройка сайта
Правильная последовательность действий поможет за 1 день перенести сайт на HTTPS. Разделим перенос сайта условно на 3 этапа:
- Установка сертификата
- Подготовка сайта
- Обновление данных для поисковых систем (Настройка поисковой оптимизации)
Этап 1. Получение и установка SSL сертификата
Получить SSL сертификат и установить на домен в 99% случаев возможно через панель управления вашего хостинга. Например у Бегет это делается в 2 клика.
Возможность получить SSL сертификат есть почти на всех хостингах и как правило все происходит в 1−2 клика. Если такой возможности нет, то бегите от него.
Далее будем считать, что Ваш хостинг провайдер зарегистрировал и привязал к нужному домену SSL сертификат. С этой задачей справились.
Теперь проверим не установлен ли хостинг-провайдером автоматический редирект с http на https. Сайт может из-за этого некорректно открывается и быть потерян поисковиками.
В личном кабинете вебмастера заходим в раздел «Инструменты» — «Проверка ответа сервера» и вставляем старый адрес сайта с http. Кликаем «Проверить». Если редиректа на домене нет, то ответ сервера должен быть «200 OK». У нас именно так и значит все в порядке.
Теперь можно проверить корректность установки сертификата. Для этого воспользуемся сервисом SSL Lab. Заполняем форму нашим адресом, но уже с https в начале адреса и кликаем «Submit».
Этап 2. Подготовка сайта
Главная цель этапа подготовки — замена всех внутренних абсолютных ссылок на относительные ссылки. Все необходимые для работы сайта файлы должны быть доступны по новому адресу: картинки, скрипты, стили
Пример:
site.ru/catalog — абсолютная ссылка
/catalog/ — относительная ссылка
Для небольших проектов это не занимает много времени.
Если сайт на вордпрес
1) В панель управления сайтом в раздел «Настройки» — «Общие» у 2 полей «Адрес WordPress (URL)» и «Адрес сайта (URL)» в адресе заменим http на https. Сохраняем изменения.
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 запросе если вы его меняли ранее. Если нет, то оставляйте как есть.
1) В панели управления магазином зайти в «Система» — «Настройки». Зайти во вкладку «Сервер» и переключить на «Да» параметр «SSL». Сохранить.
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/
В вебмастере появилась возможность настройки оповещений о проблемах и событиях связанных с вашими сайтами. Настройте нужные оповещение. Рекомендую включить оповещение «Обновление главного зеркала». Так мы узнаем когда произойдет склейка старого и нового сайта.
В поисковой выдачи ссылки обновляются в течение 2−4 недель.
После смены главного зеркала в вебмастере сайты буду сгруппированы следующим образом:
Косвенно смену главного зеркала можно увидеть по активности индексирования страниц. При заходе на старую 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/
Авторизуясь, вы даете согласие на обработку персональных данных.