Содержание статьи:
В начале февраля 2019 года “Яндекс вебмастер” массово разослал уведомление администраторам сайтов о возможных проблемах. Эти сообщения получили те, кто не использовал защитный протокол HTTPS (Hypertext Transport Protocol Secure) на своих веб ресурсах.
Дословно звучало так: Главное зеркало сайта не использует HTTPS-протокол. Рекомендуем использовать протокол HTTPS, чтобы повысить уровень безопасности сайта и доверия со стороны пользователей, а также поисковой системы. Протокол HTTPS позволяет снизить риск перехвата персональных данных пользователей и передачи этой информации третьим лицам (логины, пароли, номера банковских карт и т. д.), а также подмены информации на самом сайте (например, подмены вашей рекламы на рекламу злоумышленника).
Под раздачу попали несколько моих сайтов. Почему использовал http а не https?
- Во-первых, на сайтах не было форм для сбора какой-либо персональной информации.
- Во-вторых, я не заметил никакого положительного результата в продвижение от защищенного протокола.
Посовещавшись с коллегами по цеху и оценив слова ПС яндекс «скоро мы начнем активнее предупреждать пользователей сайтов об использование небезопасного протокола — в поиске, браузере и на других сервисах Яндекса” было принято решение переехать на https.
Я не буду рассказывать и объяснять принцип работы шифрования, комментировать о типах сертификатов, а просто покажу как деликатно переехать с http на https, настроить редиректы и не потерять позиции сайта.
На примере будут рассматриваться cms wordpress и хостинг hostia.
Переделываем внутренние ссылки сайта
Необходимо понимать если сайт находился на HTTP, то при загрузке медиа-контента (изображения, видео, презентации, и др.) абсолютный путь выглядит так http://anton-vorontsov.ru/wp-content/uploads/… и при переносе сайта, все файлы медиа-контента также должен подгружаться с защищённого протокола: то есть https://anton-vorontsov.ru/wp-content/uploads/… . Для этого необходимо сделать некоторые манипуляции:
- Ручками изменить базу данных; (если любите пощекотать нервы)
- Воспользоваться плагином; (рекомендую)
В различных интернет-источниках предлагают разные варианты внутренней перелинковки:
- Изменить ссылки на абсолютный путь (с использованием конкретного протокола http или https)
- Изменить ссылки на относительный путь (без использования протокола, а начиная путь с одинарным или двойным слэшом)
Для наглядного примера приведу несколько вариантов
- httрs://anton-vorontsov.ru/category/web-masteram/ (абсолютная ссылка)
- httр://anton-vorontsov.ru/category/web-masteram/ (абсолютная ссылка)
- //anton-vorontsov.ru/category/web-masteram/ (относительная ссылка)
- /anton-vorontsov.ru/category/web-masteram/ (относительная ссылка)
Честно говоря, дважды пробовал менять в базе данных и экспериментировал с относительными ссылками, но, к сожалению, так и не смог переехать без последствий и приходилось восстанавливать сайт из бэкапа.
Во избежание различных ошибок рекомендую воспользоваться плагином, который в два клика автоматически поменяет все ссылки.
Устанавливаем плагин Search Regex. Далее переходим в «инструменты — Search Regex”
Заполняем поля «Search pattern» и «Replace pattern» как указанно на изображение ниже.
Нажмите на кнопку «Replace & Save».
Приобретение и установка SSL-сертификата
Для подключения HTTPS-протокол необходимо включить ssl сертификат у хостинга провайдера. Большинство популярных хостингов предоставляют возможность подключить бесплатный ssl.
Заходим в панель управления хостингом, далее в выпадающим меню «управление доменами» жмем на «управление SSl»
Далее ставим галочку в чекбоксе «защита ssl» и нажимаем изменить.
Далее в настройках устанавливаем символьную ссылку и сохраняем
Если все сделали верно, то в течение пару минут должен активироваться ssl протокол. Для проверки работоспособности используем сервис https://www.sslshopper.com/ssl-checker.html301 редирект через .htaccess
Настройку редиректа рекомендуют делать на конечном этапе (после склеивания доменов), но, честно говоря, разницы я не заметил. ПС отлично понимают и обрабатывают склейку зеркал при наличии 301 редиректа.
В админ панели хостинга или подключением через FTP-клиент находим конфигурационный файл «.htaccess», который необходимо отредактировать. Добавляем код, содержащий в себе всего 3 строки, тем самым делаем переадресацию с http на https.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Редактируем robots.txt
Находим в корне сайта файл robots.txt, меняем директиву Host: (таким образом укажем главное зеркало сайта для яндекса, это необходимо сделать чтобы исключить появление копии вашего сайта) и отредактируем адрес к файлу sitemap.xml.
Настройка cms wordpress
Следующие действия будем проводить в админ панели cms wordpress. В консоли WordPress открываем Настройки — Общи и изменяем протокол.
Сообщаем поисковикам о переезде сайта на HTTPS
В панели вебмастера Яндекс переходим на вкладку “индексация — переезд сайта” и ставим галочку в чекбоксе на против «Добавить HTTPS” и нажимаем сохранить, появится сообщение о том, что заявка обрабатывается. В течение 2-3х произойдет полный перенос. (не забудьте указать новый путь для файла sitemap)
С гуглом чуть-чуть посложнее, для того чтобы уведомить Гугл о переезде на https необходимо добавить новый адрес сайта в Search Console с указанием протокола пройти полное подтверждения. После добавления необходимо указать основной домен:
- Выбираем необходимый домен
- Переходим в настройки сайта (нажатием на шестеренку)
- Указываем необходимый вариант в разделе “Основной домен”
Далее ПС постепенно будут выводить из индекса страницы с протоколом http, а вместо них добавлял страницы с https.
Будь первым! Задай свой вопрос или отблагодари автора добрым словом.