C февраля 2016 года Roman.ua работает на защищенном HTTPS соединении с SSL-сертификатом. У нас почти нету конфиденциальных данных и пока нету авторизованных пользователелей, но мы перешли на HTTPS. И вот почему:
- Поисковые системы стимулируют к переходу: https используется как сигнал в поисковом ранжировании;
- Доверие пользователей повышается;
- Появились бесплатные сертификаты от инициативы letsencrypt.org (наш выбор),CACert (на момент публикации выдавал ошибку Your connection is not private),StartSSL;
Основной страх перехода с HTTP на HTTPS — стать невидимкой для Google Analytics чужих сайтов и потерять поисковый трафик. Система аналитики не распознает переход с вашего https-сайта на обычный http и отнесёт его к прямому. Проблему решит мета-тег «referrer». Его нужно использовать, чтобы системе аналитики было видно, с какого защищённого сайта был переход. Есть несколько способов составления тега:
- None: Никогда не передает реферальные данные:
<meta name="referrer" content="none"> - None When Downgrade: Передает реферальные данные сайтам на HTTPS, в то время, как сайтам на HTTP данные не передаются.
<meta name="referrer" content="none-when-downgrade"> - Origin Only: Передает данные о хостах и поддоменах. При этом URL , как правило, имеет следующий вид: https://roman.ua/example.html отправит только https://roman.ua (наш выбор)
<meta name="referrer" content="origin"> - Origin When Cross-Origin: Передает полные данные о URL в случаях, когда настройка произведена по схеме №3 вне зависимости от того, какой протокол использует сайт HTTP или HTTPS.
<meta name="referrer" content="origin-when-crossorigin"> - Unsafe URL: Всегда передает полный URL реферера. Важно понимать, что данная настройка является наименее безопасной. Часть незашифрованных данных может быть передана. По умолчанию фрагменты URL , имя пользователя и пароли автоматически исключаются из URL-а.
<meta name="referrer" content="unsafe-url">
Смена протокола нужнa особенно для сайтов, которые содержат информацию для перехвата (интернет-магазины, платные онлайн курсы, сервисы с конфиденциальными данными пользователей). Такой протокол как HTTP не предоставляет защиту информации на сайте: соединение можно перехватить, и оно является небезопасным. HTTPS соединение зашифровано и безопаснее, и возможность перехвата информации блокируется.
В нашей статьей вы найдёте подробную инструкцию перехода на HTTPS. Мы подготовили материал на базе своего опыта и информации из блогов Netpeak, Emaro-ssl.
Покупка SSL сертификата
Для того, чтобы перейти на безопасный протокол, в первую очередь необходимо установить SSL сертификат. Необходимо определиться, какой вид сертификата нужен. Классифицировать SSL сертификаты можно по степени защиты:
- Domain Validation. Наиболее распространенный сертификат. Выдается на один домен, и если вы решите сменить доменное имя, придется оплачивать заново. Цена — от $10 до $30 в год.
- Organization Validation. Подтверждает домен и организацию. Могут проверить информацию в прессе, свидетельство о государственной регистрации. Цена — от $40 до $200 в год.
- Extended Validation. Сертификат с расширенной проверкой — для его получения проверяется наличие компании по адресу, свидетельство о регистрации, операционная деятельность, торговая марка. Все для того, чтобы получить зеленую строку в адресной строке браузера. Цена — от $120 до $300 в год.
А также по функциональности:
- обычные SSL-сертификаты;
- Wildcard сертификаты — используйте, если хотите установить HTTPS и на поддоменах;
- SAN сертификаты — используется для нескольких доменов;
При переходе на HTTPS мы воспользовались бесплатным “Let’s encrypt”, на хостингеSiteground. Он автоматически выдается и продлевается раз в 3 месяца.
После установки сепртификата на сервер проверьте, правильно ли «встал» ваш SSL-сертификат.
Сервисы:
- Проверка качества защиты сервера SSL LABS, SSL Server Test
- Сканирование частей страниц SSL-check
Если сервис нашел проблемы в конфигурации сервера или показал, что вы не установили промежуточные и корневые сертификаты, то лучше как можно быстрее решить эти проблемы до остальных работ.
Подготовка к переходу на HTTPS
Подготовка смены протокола начинается с замены абсолютных внутренних ссылок на сайте на относительные. Кроме того, заменяются также адреса скриптов, картинок, видео и кодов ремаркетинга на относительные с доменным именем, но без протокола HTTP.
Например:
http:/ /roman.ua/internet-marketing/mobile-friendly-email/
→
/internet-marketing/mobile-friendly-email/
Существует и второй тип относительных ссылок, когда используется доменное имя в адресе ссылки, но не указан протокол.
Например:
http:/ /roman.ua/internet-marketing/mobile-friendly-email/
→
//roman.ua/internet-marketing/mobile-friendly-email/ (наш выбор)
Если источник имеет HTTPS версию, вы можете просто заменить ссылки на соответствующий контент. Это будет актуально для крупных компаний — Google, Яндекс, Facebook, Вконтакте. Остальные картинки мы рекомендуем загрузить на свой сервер и открывать их по защищенному протоколу. Это поможет в дальнейшем избежать ошибки со смешанным содержимым.
Кроме того, все внешние скрипты, например, библиотеки javascript и jQuery, а также скрипты сервисов Яндекса (например, Метрика и Директ), а также Google AdWords и Analytics следует открывать через относительные URL-адреса.
Например:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">
→
<script src= "//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">
Переход на HTTPS
Тест работы вручную
Тестируем работу в разных браузерах и операционках, например на BrowserStack. Нужно посмотреть на цвет замочка во время просмотра сайта: зелёный или серый. Определить, нет ли ошибок в консоли о том, что часть элементов загрузилась небезопасно.
Поправьте картинки, скрипты, где инструмент https://www.jitbit.com/sslcheck/ нашел, просматриваем вручную в Mozilla Firefox, ищем поломанный замочек.
Перегенерируйте sitemap.xml, чтобы он содержал ссылки на https-версии страниц и добавьте сайт в версии https в webmaster-панели Google и Яндекс.
Настройка 301-го редиректа с HTTP на HTTPS
Следующий шаг — настройка переадресации каждой HTTP-страницы на соответствующую ей HTTPS-страницу.
Эта процедура соответствует переносу сайта на другой домен. Переадресация должна быть прямой и не включать промежуточных документов, иначе образуются цепочки редиректов, которые только запутают поисковых роботов и негативно повлияют ранжирование.
Вы можете осуществить переадресацию с HTTP на HTTPS с помощью .htaccess, если ваш сайт размещен на сервере Apache. Если ваш сайт создан на каком-либо языке программирования, настроить переадресацию можно прямо в коде сайта.
В файле robots.txt замените строку host для Яндекса, прописав в ней не просто доменное имя, а доменное имя вместе с https.
Например:
http://roma.net.ua/robots.txt (В то время как http://roma.net.ua/ → https://roman.ua/)
Сообщите поисковым системам о переходе на HTTPS
- Убедитесь, что все теги “rel=canonical” в HTML-коде указывают на страницы с HTTPS
- Обновите URL-адрес вашего сайта в социальных сетях и в системах отслеживания трафика, таких как Google Analytics и Yandex Metrika
- Создайте новую запись для ресурсов с HTTPS в Google Webmaster Tools и Яндекс.Вебмастер. Помните, что эти сервисы рассматривают версии сайта с HTTP и HTTPS как два разных ресурса. В вебмастере Яндекса нужно также выбрать, в инструменте Переезд, что теперь сайт по https:// работает
- По возможности обновите важные внешние ссылки на ваш веб-сайт, чтобы они вели на URL-адрес с HTTPS
- Убедитесь, что поисковые системы могут индексировать и предоставлять содержимое вашего ресурса по новому URL-адресу
- Ежедневно отслеживайте сайт с HTTPS в Google Webmaster Tools и в Google Analytics, чтобы предупредить возможные проблемы с индексацией и загрузкой вашего сайта
Результат
301-й редирект передает, по слухам, от 85 до 99% веса ссылки, поэтому переход с HTTP на HTTPS может вызвать колебания в объемах трафика и в позициях сайта. Падение трафика также может быть обусловлено тем, что будут слабеть внешние ссылки, которые ранее вели на HTTP версию вашего ресурса.
При правильных работах позиции и трафик восстанавливаются уже через несколько месяцев после того, как перешли с HTTP на HTTPS.
В нашем случае было от 2000 до 2500 переходов с поисковых систем в месяц. После перехода стало от 1700 летом до 2000 в августе. Учитывая, что летом много отпусков, а нас читает бизнес аудитория — то можно сказать, что трафик сохранился.