Как правильно перейти с HTTP на HTTPS протокол — инструкция 🔒
Зачем переезжать
- Переход на HTTPS-протокол обеспечит более высокую конфиденциальность и безопасность данных, которыми обменивается пользователь с сайтом по сравнению с HTTP-протоколом. Такая защищенность передачи информации повышается за счет ее шифрования SSL-сертификатом.
- Переезд на HTTPS помогает сайту лучше ранжироваться в поисковых системах. Yandex и Google в первую очередь индексируют HTTPS-сайты из-за их защищенности.
- Прямым следствием перехода на HTTP становится повышение доверия пользователей и увеличение трафика ресурса.
- С 2018 года HTTPS стал стандартом для большинства крупных браузеров. Например, новые версии Google Chrome помечают сайты на HTTP-протоколе, как ненадёжные.
Переезд сайта
Процесс перехода по времени занимает около одного рабочего дня, а полная переиндексация поисковиками в течение 2-3 недель.
Далее следует пошаговая инструкция, как организовать грамотный переход с HTTP-протокола на HTTPS.
Подготовка к переезду на HTTPS
Так как алгоритм перехода зависит от многих первоначальных параметров — от типа хостинга до квалификации специалиста, осуществляющего перенос, — этот процесс должен проходить слаженно и по заранее согласованному плану. Чтобы сделать всё максимально быстро и не потерять в процессе позиции в ввыдаче, желательно пройти ряд этапов предварительной подготовки.
- Уточнить о поддержки хостингом SSL-сертификата. В случае, если провайдер его не поддерживает, придется менять хостинг, а соответственно и IP-адрес на новый.
- Найти специалистов для выполнения данной работы. Также следует уточнить у хостера — есть ли бесплатная или платная поддержка при «переезде».
- Позаботиться о грамотном выборе времени «переезда». Так как в процессе ресурс может временно потерять прежние позиции в поисковой выдаче, переход на HTTPS лучше осуществить в тот «сезон», когда на сайте наблюдается наименьший трафик.
Шаг 1. Делаем резервную копию сайта
Регулярный бекап файлов сайта и баз данных — обязательная часть системы безопасность любого ресурса. Но особенно актуальным резервное копирование становится при переходе на HTTPS. Вне зависимости от того, насколько успешно пойдёт процесс, у вас должна быть возможность «откатить» всё к первоначальному состоянию.
Шаг 2. Изменения в ссылках
Все внутренние ссылки сайта следует заменить с абсолютных на относительные. Делается это для того, чтобы переиндексация прошла корректно, редирект работал правильно, а на сайте после переезда не возникли ошибки в его работе.
Пример изменения
https://mysite.ru/category/base – абсолютная ссылка, меняется на: /category/base – относительную от домена и протокола.
Вместо mysite.ru впишите адрес вашего сайта.
Важно не забыть также заменить ссылки на относительные в:
- скриптах;
- адресах медиаконтента;
- атрибутах ссылок rel=”canonical” и rel=”alternate”;
- пути до карты сайта (sitemap.xml) в файле robots.txt .
Шаг 3. Покупка сертификата
Виды сертификатов
1. Простой. Для его получения нужно, чтобы домен принадлежал заказывающего его лицу. Выдается в течение нескольких минут.
2. Wildcard. Приобретается этот сертификат в случае наличия у одного доменна нескольких поддоменов. Выдается лицу, на которого он оформлен.
3. EV (Extended Validation). Перед его выдачей будет произведена полная проверка, заказывающей сертификат организации, на наличие всех необходимых документов подтверждающих ее деятельность. Наличие в whois домена названия вашей организации. Это может занять определенное время. Получившие этот сертификат будут иметь возможность отображения в адресной строке названия компании зеленым цветом, тем самым вызывая доверие у потенциальных клиентов.
5. C поддержкой IDN. Подойдет он тем, у кого кириллический домен в зоне РФ.
Простые SSL-сертификаты выдаются быстро, в течение нескольких минут. Делятся они на три уровня и перед приобретением лучше уточнить у специалистов какой именно вам подойдет. Другие сертификаты выдаются дольше и стоят они дороже. Подробнее о разновидностях и выборе SSL-сертификатов можно прочитать здесь.
Существует возможность получения бесплатного SSL-сертификата. Его можно сгенерировать в панели хостинга (если провайдер предоставляет такую услугу). Однако это хорошо только для внутреннего пользования. Публичным сайтам такой вариант не подойдет, потому что пользователи, посещающие его, будут предупреждены браузерами, что он не проверен.
Шаг 4. Подключение и проверка сертификата
Наиболее распространенный и оптимальный вариант – это установка бесплатного SSL-сертификата через панель web-хостинга ISPmanager. Затем проверяется правильность его установки.
Как проверить правильность установки
- Открыть сайт по http:// и https://. Если открылся по обоим протоколам, соответственно установка прошла нормально.
- Проверить конфигурацию SSL-сертификата при помощи специального сервиса. Например, SSL Security Test, SSL Labs или SSL Installation Diagnostics Tool.
Шаг 5. Техническая настройка сайта
После перехода на HTTPS происходит настройка 301 постоянного редиректа для склейки зеркал — перенос ссылочного веса со старой версии на новую. Она будет продолжаться довольно длительное время (до 2-3 недель).
К сожалению 301 редирект невозможно провести без потери позиций и посещаемости. Пока не склеются зеркала, не произойдёт полноценное восстановление положения сайта в выдаче и его трафика.
Для Яндекс до склеивания зеркал и переиндексации это два разных сайта. В Google, в отличие от Яндекс, предпочтение отдается https-страницам. Поэтому до окончания склейки для Google нужно сделать доступной только HTTPS-версию, а для Яндекса — оба адреса.
Существует два способа настройки редиректа – ручной и автоматический.
Автоматическая настройка
Для примера автоматической настройки постраничного редиректа 301 возьмём алгоритм для панели управления ISPmanager.
1. Выбирается пункт «WWW-домены» в меню «WWW», затем «Редиректы» и создать.
2. В поле «Путь» вписывается URL, c которого будет делаться редирект.
3. Указывается код – «301 – перенесен на новый адрес».
4. Указывается URL назначения.
Ручная настройка
При ручной настройке следует открыть файл .htaccess, находящийся в корневой директории вебхостинга: Битрикс, OpenCart, Joomla, Modx, WordPress.
После этого в него нужно добавить следующие строки:
RewriteCond %{SERVER_PORT} !^443$
RewriteRule^(.*)$ https://mysite.ru [R=301,L]
Вместо https://mysite.ru впишите адрес вашего сайта.
Затем следует открыть robots.txt, и настроить директивы Host и Sitemap. Выглядеть эти строки будут так:
Host: https://mysite.ru;
Sitemap: https://mysite.ru/sitemap.xml
Вместо mysite.ru впишите адрес вашего сайта.
Подробнее о том, как правильно настроить 301 редирект в наиболее распространенных случаях, а также в разных CMS и панелях управления можно почитать здесь.
Шаг 6. Завершение
К сожалению, после завершения всех предыдущих этапов владельцы ресурсов часто замечают, что после перехода на HTTPS упали позиции и уменьшилась посещаемость сайта. Это во многом происходит из-за того, что поисковые системы ещё не оповещены о переходе на новый протокол. Чтобы минимизировать эту угрозу, следует заново добавить сайт в панели инструментов для вебмастеров и вновь произвести необходимые настройки.
В Google Search Console и Яндекс.Вебмастер нужно перенести со старого протокола на HTTPS-версию:
- внутренние ссылки;
- robots.txt;
- rel=”canonical” и rel=”alternate”;
- sitemap.xml;
- геотаргетинг;
- метатеги реферального трафика.
После всех произведенных манипуляций остается только ждать переиндексации сайта. Иногда процесс занимает несколько недель.
Переход на https — Инструкция
В последнее время все больше сайтов переходят на защищенный протокол https. Будущее интернета не за горами и может пока еще нет серьезной необходимости переводить сайт с http, то в скором времени — это, вполне возможно, станет обязательной процедурой.
Если вы решили, что пора перейти на защищенный протокол передачи данных (гипертекста) или еще сомневаетесь — прочтите эту статью, где я расскажу обо всех преимуществах и недостатках переезда сайта на https, а так же опишу подробную инструкцию как перевести сайт на защищенный протокол.
Из-за того, что статья получилась довольно объемной, я сделал удобную навигацию по разделам :
1. Что такое https?
2. Преимущества и недостатки https
3. Инструкция по переходу на https
4. Быстрый переход на защищенный протокол https — Быстрая индексация
Переход сайта на https
Переводя свой сайт на протокол https, вам следуем учесть несколько нюансов, что бы после у вас не возникло непредвиденных обстоятельств и неприятностей, связанных с SEO продвижением и позициями сайта в поиске. А с чем именно вы столкнетесь, я опишу в статье чуть позже.
Что такое https ?
HTTPS (HyperText Transfer Protocol Secure) — защищенный протокол передачи гипертекста, где гипертекст — веб страница. Простыми словами протокол https — это защищенный канал связи между сервером и сайтом. Он передает данные, пользуясь методами шифрования, тем самым защищая конфиденциальные данные от сторонних лиц.
Довольно современный и безопасный подход к нынешней передачи информации и борьбе за конфиденциальность. А тот факт, что все больше сайтов переходят на https, заставляет задуматься над тем, что рано или поздно это будет одним из основных факторов доверия пользователя к сайту.
Плюсы https
Плюсы https, помимо увеличения безопасности и сохранения конфиденциальности данных, состоят в нескольких факторах, которые положительно влияют на посетителей сайта и работу портала в целом:
1. Защищенный протокол;
2. Безопасное подключение;
3. Ранжирование в поисковых системах.
Защищенный протокол
Передача данных осуществляется с помощью шифрования и перехватить информацию становится затруднительно. Для моего сайта, и наверное большинства сайтов — это не первостепенный, но один из важных моментов, влияющий на переезд.
Создание безопасного подключения
Подключение к сайту не защищено — один из основных факторов, требующий перейти на https. Я не проверял все браузеры, но в Google Chrome и Safari довольно сильно бросается в глаза тот факт, что сайт не защищен (слева от адреса страницы). Лично у меня в мыслях сразу возникает подозрение. А для коммерческих сайтов — это большая проблема.
К тому же, я когда-то слышал очень умную фразу от одного специалиста по контекстной рекламе — «Если есть хоть какой-то шанс, что из-за недоработки посетитель может покинуть сайт — он именно так и сделает». И это относится ко всем недостаткам, которые могут быть. Лучше их устранить.
А после перехода на https в адресной строке браузера появится надпись «безопасное подключение» и символ замка. Это усилит доверие пользователя к сайту.
Https плюс в SEO продвижении
Https будет плюсом в ранжировании позиций Google, Yandex и других поисковых системах.
Минусы https
Минусы перехода на https в основном проявляются не в работе сайта и не в защищенном протоколе, а в проблемах, возникающих при переезде. Основными проблемами могут быть — потеря поискового трафика или битые ссылки на сайте. Если с ссылками особых проблем у вас не возникнет, то потеря трафика — это довольно частый и существенный минус, который встречается практически всегда.
Поэтому если у вас совсем новый сайт, который не слишком популярен в поиске, вы смело можете переходить на https. Если ли же сайт давно работает и занимает ключевые позиции в поиске — вам следует подготовиться.
Потеря трафика при переходе на https
Основным и самым серьезным минусом при переходе на защищенный протокол будет потеря трафика. Даже если вы правильно перейдете на https — внимательно прочтете инструкцию, укажите главное зеркало (до установки редиректа) и не наделаете ошибок, то сайт все равно потеряет трафик. Почему?
Медленный переезд на https
При переезде сайта на https, поисковый робот не сможет сразу проиндексировать сайт. На это ему понадобится время. И это ни один или два дня и даже ни одна неделя. Полный переезд сайта на https может занять несколько месяцев.
Запросы на переобход страниц в Яндекс вебмастер ничем не помогут. Вам придется ждать пока поисковый робот будет индексировать страницы, а это довольное долгое занятие. Сначала индексация пройдет на главной станице, довольно быстро, а остальные начнут постепенно пополнять список на https протоколе.
→ Чем грозит медленный и постепенный переход сайта на https?
— Потерей релевантных запросов в поиске и трафика в целом.
А что такое релевантные запросы?
Релевантные запросы — это запросы, схожие с основными. Например, запрос «переход на https» — основной, а запрос «как мне перейти на протокол https wordpress» — релевантный.
И во время переезда вы потеряете львиную долю таких релевантных запросов. Хотите узнать почему?
Все дело в том, что при переходе на защищенный протокол https, ваш сайт становиться совершенно новым для поискового робота. Он никак не реагирует на тот факт, что такой сайт уже есть на http и принимает его за новую веб платформу. А старые страницы http и новые https не слишком-то и взаимодействуют, плюс опять-таки новые страницы проверяются на поведенческий фактор, а это займет время.
Переход на https — Инструкция
Переход на https должен быть максимально деликатным и правильным, что бы в последствии вы не нарушили работу сайта. Поэтому постарайтесь внимательно ознакомиться с инструкцией по переезду на https и не допустить ошибок.
Если Вы сомневаетесь или у Вас возникли трудности при переходе на https — воспользуйтесь услугами вебмастера.
Напоминаю, что при самостоятельном переезде могут возникнуть непредвиденные обстоятельства, а так же помните, что временная потеря трафика неминуема. Поэтому я рекомендую заниматься сменой протокола хотя бы не в сезон.
Начнем же, первым делом что нужно сделать — это подготовить сайт.
Замена ссылок http на https
Перед выполнением действий по переходу на защищенный протокол или уже после переезда на https, обязательно нужно изменить ссылки на сайте. Это касается всех старых ссылок, расставленных вами вручную на сайте.
Ссылки http на сайте https
Первое, что рекомендуют вебмастера в подготовке сайта при переходе на https — это замена старых ссылок http, на относительные.
Относительные ссылки — это ссылки на сайте без указания главного домена, просто название страницы.
Для сравнения : https://dosite24.ru/about — абсолютная.
/about/ — относительная.
https://dosite24.ru/contacts/ — абсолютная
//dosite24.ru/contacts/ — относительная
Если по каким-либо причинам у вас не получается заменить внутренние ссылки на сайте или вы не понимаете как сделать из абсолютных ссылок относительные, не расстраивайтесь. Это всего лишь небольшая подготовка. Исправить ссылки можно другим способом и в другое время.
Например, у некоторых CMS уже имеются плагины, которые исправляют ссылки, добавляя в адрес защищенный протокол https. Вам просто нужно будет сделать специальную настройку и это не займет много времени.
Или же при переходе на защищенный протокол исправить в ссылках адрес с http на https самостоятельно. Проще говоря сделать из ссылки http://dosite24.ru — ссылку https://dosite24.ru/
В любом случае, либо за вас это сделает скрипт, плагин или программа, либо придется делать вручную.
Вложения с http на https
Помимо ссылок на защищенный протокол https необходимо перевести картинки, видео, иконки и весь остальной контент. Не исправленные медиафайлы помешают стабильной работе защищенного протокола. Вместо зеленого замка и надписи «защищено» в строке браузера будет надпись «защищено не полностью» или что-то подобное.
Если медиафайлы находятся в корне вашего сайта, то с исправлением проблем не возникнет. Используйте относительные ссылки или подставьте «https» в адрес.
Однако если контент загружен с иных ресурсов, убедитесь, что они поддерживают протокол https, иначе ссылки окажутся битыми и лучше избавиться от таких файлов. Опять-таки не пугайтесь, популярные сервисы поддерживают защищенный протокол. Беспокоиться стоит лишь, если вы загружаете контент с непопулярных и древних ресурсов, в чем я сильно сомневаюсь.
Скрипт с http на https
По аналогии с предыдущими изменениями, меняем скрипты. Это могут быть счетчики типа Яндекс метрики и Google Analytics, скрипт библиотеки jQuery, javascript, а так же другие коды, добавленные вами на сайт вручную.
Изменяем в точно такой же последовательности : либо меняем ссылки на относительные, либо прописываем в адресе https.
Лично у меня в замене скриптов и счетчиков потребности не возникло. CMS WordPress. Однако может быть на самописных сайтах такую процедуру провести все же потребуется.
SSL сертификат для сайта
После завершения подготовки сайта к переходу на https можно переходить к основной части, а именно — покупка ssl сертификата.
Что такое SSL сертификат ?
SSl (secure sockets layer) — защищенный протокол, использующий криптографию и аутендификацию ключей обмена. Простыми словами — это и есть наш шифровальщик, который позволяет обмениваться данными и делает наше соединение безопасным.
Установка SSL сертификата
Сейчас уже на всех популярных хостингах появилась возможность установки ssl сертификата, к тому же при покупке доменного имени их стали предоставлять бесплатно. Обычно это делается в один клик, поэтому я уверен, что проблем с установкой не будет.
Если все-таки возникнут трудности, обратитесь в службу поддержки хостинга или регистратора доменов. Сотрудники подскажут как именно произвести установку.
После добавления ssl сертификата, проверьте загружается ли сайт на https протоколе. Если все сделано правильно, сайт должен работать и на https, и на http.
Настройка сайта на https
Переходим к самой сложной и ответственной стадии перехода на https защищенного протокола — настройке сайта.
Первое, и главное, что нужно сделать — это настроить 301 редирект. Его задача перенаправлять адреса с http на уже новенький, и только что установленный протокол https.
301 редирект стоит так же использовать для переадресации домена с www на без www, и в других случаях, когда нужно перенаправление.
Редирект 301 на https
Для того, что бы установить 301 редирект на сайт, необходимо на своем хостинге найти файловый менеджер или любую другую вкладку с хранением данных. Далее отыскать папку .htaccess и добавить в нее директиву :
Код на редирект
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
После добавления команды в файл «.htaccess» проверяем работу сайта. Если при переходе по ссылке с http, вас перенаправляет на https, то все работает и можно идти дальше.
Если переадресация на защищенный протокол не сработала, нужно искать иные команды. Попробуйте написать в техподдержку хостинга и спросить код от 301 редиректа на https. Вам должны прислать актуальный скрипт перенаправления, после чего так же добавляем его в файл «.htaccess» и проверяем на работоспособность. Если не сработает, продолжайте писать в техподдержку, они обязаны вам помочь.
Проверка работы https
После выполнения предыдущих инструкций сайт уже должен идеально работать на защищенном протоколе. У вас появится зеленый замок в строке браузера и рядом должна стоять надпись защищено.
Полистайте страницы, проверьте переадресацию (введите домен с http) — убедитесь, что сайт работает на защищенном протоколе полностью.
Если же на какой-либо странице появляется надпись «не защищено» или «защищено не полностью» или иные похожие ситуации или проблемы, значит где-то ошибка. Скорее всего какая-нибудь ссылка, файл, картинка или что-то подобное еще ссылается на старый протокол http.
Устраните проблему. Если невозможно исправить файл лучше избавьтесь от него и загрузите заново. Если в поисках такого файла возникнут трудности, обратитесь в техподдержку хостинга. Они без труда укажут на проблему.
Вебмастер переезд на https
После выполненных инструкций нужно сообщить поисковым системам, что ваш сайт перешел на защищенный протокол https. Как я уже говорил ранее, поисковый робот будет считать сайт на https как совершенно новый интернет портал. Соответственно, об этом ресурсе нужно будет рассказать всем поисковикам.
Для этого обращаемся в вебмастер или консоль поисковой системы, которой хотим сообщить о нашем сайте. Все это делается ровно также как и добавление нового домена. Если вы не добавляли сайт в поиск самостоятельно или забыли как это делается, пробегитесь по статьям, что бы освежить память :
Добавление сайта в Яндекс — Инструкция
и
Добавление сайта в Гугл — Инструкция
Правда на этот раз все будет намного проще. Сообщая поисковой системе о сайте на защищенном протоколе вам не нужно будет подтверждать права на домен, так как вы это уже сделали ранее, добавляя сайт в первый раз. Нужно просто добавить новый url с протоколом https и нажать проверить.
Если по каким-либо причинам поисковик не подтверждает проверку домена на защищенном протоколе, разместите мета-тег в корне вашего сайта. Как это сделать описано в статьях выше о добавлении сайта в поисковую систему.
После добавления домена в вебмастер останется только подождать, когда робот зайдет на сайт и проиндексирует страницы на защищенном https протоколе.
Быстрый переход на https — Индексация за пару дней, секреты
Сейчас я расскажу как перейти на защищенный протокол https за несколько дней, а может быть и быстрее. Основные настройки ничуть не изменятся и все действия по переходу останутся прежними, как в этой статье ранее.
Но сейчас речь пойдет не об этом. Если вы получаете трафик с поисковой системы Яндекса, то после перехода на https вы заметите или уже заметили, что большинство страниц находятся в поиске на старом протоколе http. И это уже после проверки сайта роботом.
Неприятный факт, а суть заключается в том, что должно пройти очень много времени пока сайт, а точнее страницы сайта, окажутся в поиске на новом, защищенном протоколе https. И ожидание будет тянутся довольно долго.
Ситуация такова, что после добавления сайта в вебмастер, робот яндекса зайдет к вам на портал, проверит его, и заменит главную страницу на https и может несколько второстепенных. Как именно он их выбирает, я понятия не имею. Но по личному опыту скажу, что после индексации, на https протоколе, в поиске появились «главная» страница и несколько статей. Остальные остались как были, на старом протоколе.
Лично я прождал 1,5 месяца, пока не сдали нервы и я не начал действовать. Все дело в том, что поисковик видит сайты http и https как разные порталы и из-за этого — релевантные запросы уходят, структура сайта теряется, трафик падает — ты нервничаешь.
Как бы я ни пытался : писал в техподдержку, отправлял страницы на переобход, звонил в Яндекс, толку никакого. А работа над сайтом продолжалась: я писал новые статьи пока вдруг меня не осинило..
Переход на https в поиске Яндекса — Быстро
Все новые страницы и статьи Яндекс индексировал на новом https протоколе без каких-либо проблем. К тому же индексация проходила быстро, в течение 48 часов, не более.
Тут то я и подумал, зачем мне ждать так долго, если я могу все свои страницы проиндексировать именно таким путем. Каким? Удалением страницы — и ее возрождением на защищенном протоколе.
Удаление старых страниц — создание новых
Да, вы не ослышались, все просто. Удаляем свои старые страницы, предварительно делая дубли. Убираем из поиска удаленные страницы, путем заявки в Яндекс вебмастер. Это делается во вкладке : «Инструменты» — «Удаление страниц из поиска». И вскоре, после заявки, яндекс удалит их.
Дальше публикуем свои новые станицы (со старым контентом) и при желании сообщаем об этом яндексу через вкладку — переобход страниц. Далее Яндекс проиндексирует страницы и они появятся в поиске. Вот и все! Вы на новеньком и защищенном https протоколе!
Долгий переход на https — Быстрый способ
Есть ли смысл делать быстрый переход на защищенный протокол? Определенно стоит! Если вы устали или не хотите ждать и если выпадание из поиска на несколько часов вас не испугает, то рекомендую воспользоваться таким способом.
Ведь так или иначе вы теряете посещения при переходе на https, а прождав несколько недель, а то и месяцев, в надежде на скорейшую индексацию, вы не сможете получить заслуженный трафик на сайт. Только больше времени потратите в ожидании.А благодаря моему способу, вернете заслуженный трафик в кратчайшие сроки.
Стоит ли вообще переходить на https ?
Учитывая вышеперечисленное остается вопрос — стоит ли вообще переходить на защищенный протокол? Компаниям с высоким статусом и организациям, работающим с онлайн платежами определенно имеет смысл прибегнуть к такой процедуре. Но нужен ли защищенный протокол малому бизнесу, фрилансерам или некоммерческим сайтам?
Ответ, все равно прежний — нужен.
Главное, что поисковые системы уделяют внимание факту, имеет ли сайт ssl сертификат и защищен ли канал передачи данных. А поисковое ранжирование, seo оптимизация и бесплатный трафик еще никогда не были лишними. К тому же рано или поздно протокол https станет основным атрибутом качественного сайта. Но основное решение переводить ли ваш сайт на защищенный протокол остается за вами.
Переход на https — как правильно перевести сайт с http на https
Я знаю, что уже до меня написано миллион подобных инструкций. Но посчитал, что и мне необходимо написать свою инструкцию как правильно перейти на https. Во-первых, она нужна мне самому для структурирования материала. А во-вторых, может понадобиться и моим читателям.
У меня только сейчас дошли руки до перевода своих сайтов на https. Раньше это было необоснованно преждевременно. Но с недавних пор все изменилось. Теперь переезд необходим даже сателлитам.
Для начала почитайте мою статью «К чему приведет глобальный переход сайтов на https». В ней указаны причины, по которым переезд сайта теперь необходим всем. Данный блог я тоже буду переводить этим летом. Не раньше потому что для блогов срочность немножко меньше, чем для коммерческих проектов. Поэтому пока мы переводим свои коммерческие сайты.
Вообще, я перелопатил просто тонну материала. Потратил реально 4 дня. Перечитал просто все известные инструкции о том, как перейти на https. Прочитал кучу кейсов по переводу сайтов. Так что думаю, что какой-то полезный материал в моей инструкции Вы все-таки найдете. Итак, ПОЕХАЛИ.
Теоретическая часть. Переводим свой сайт на протокол https.
Теорию не хочется очень сильно расписывать. Да и не получится рассказать в одной статье обо всех нюансах. Просто их очень много. Я расскажу именно о том, что нужно знать абсолютному большинству обычных продвигаемых сайтов. Не владельцам банков и огромных мульти-региональных Интернет-магазинов. А обычным коммерческим сайтам.
А если Вам хочется углубиться, то уже есть очень много материала на эту тему. В конце статьи в списке литературы по переходу сайта c http на https, приведено много ссылок, читайте.
Классификация SSL сертификатов по степени защиты:
- Domain Validation. Наиболее распространенный сертификат. Выдается на один домен, и если вы решите сменить доменное имя, придется оплачивать заново. Цена — от $10 до $30 в год. Для получения обратитесь в любой центр сертификации (например, Comodo или Symantec).
- Organization Validation. Подтверждает домен и организацию. Могут проверить информацию в прессе, свидетельство о государственной регистрации. Цена — от $40 до $200 в год.
- Extended Validation. Сертификат с расширенной проверкой — для его получения проверяется наличие компании по адресу, свидетельство о регистрации, операционная деятельность, торговая марка. Все для того, чтобы получить зеленую строку в адресной строке браузера. Цена — от $120 до $300 в год.
Большинству сайтов нужны сертификаты первого типа. Это просто проверка домена. Это самое простое и сейчас именно это требуют от нас поисковики.
Классификация SSL сертификатов по функциональности:
- обычные SSL-сертификаты
- Wildcard сертификаты — используйте, если хотите установить HTTPS и на поддоменах;
- SAN сертификаты — используется для нескольких доменов;
Опять, как и в прошлом случае большинству сайтов подойдут сертификаты первого типа.
Сертификат Lets Encrypt — самый идеальный вариант
В итоге, идеальным сертификатом для 99% сайтов, да еще и бесплатным становится сертификат Lets Encrypt. И Гугл и Яндекс писали, что считают этот вид сертификата надежным. Все современные браузеры тоже считают его надежным. Из минусов только то, что его надо продлевать раз в 3 месяца. Но нормальный хостер сделает эту работу за вас. Я даже буду свои некоторые сайты переводить на Timeweb, т.к. это быстрый хостинг и на котором сертификаты ставятся очень легко и автоматом продлеваются.
Процесс переноса (подробная инструкция как перевести сайт на https)
- Купить или заказать сертификат. Я заказывал бесплатный сертификат «Lets Encrypt» в админке Timeweb. Он подходит в 99% случаев. Все прошло легко и быстро. Заходим в раздел «SSL-сертификаты», нажимаем «Заказать», выбираем тип сертификата «Lets Encrypt», выбираем для какого сайта заказываем этот сертификат, и уже через 5 минут мне на почту пришло письмо, что сертификат установлен. Сайт сразу стал доступен по https. Особенность этого типа сертификата в том, что его нужно продлевать раз в 3 месяца. Timeweb это делает самостоятельно.
- Сделать все внешние и внутренние урлы относительными.
- Все внутренние ссылки на сайте должны быть либо относительными, либо идти с протоколом https (второе предпочтительнее)
Пример: http://site.ru/url-part1/url-part2/ > /url-part1/url-part2/
- Все внешние ссылки должны либо идти на с протоколом https либо без протокола (если у внешнего сайта нет https, то возможен только второй вариант)
Пример: http://site.ru/url-part1/url-part2/ > //site.ru/url-part1/url-part2/
- Все внутренние ссылки на сайте должны быть либо относительными, либо идти с протоколом https (второе предпочтительнее)
- Протестировать как работает сайт в разных браузерах на протоколе https: нужно погонять сайт в разных браузерах, посмотреть открывается ли сайт, появляется ли защищенный замочек, не забудьте проверить разные типы страниц сайта, а также в том числе мобильные браузеры. После настройки проверьте, чтобы изображения были доступны по HTTPS, проверьте все типы страниц.
- Просканировать https-весрию сайта программами-краулерами. Я бы для надежности просканировал сразу несколькими: «Screaming Frog SEO Spider», «SiteAnalizer» и «Xenu». Следите, чтобы не было ссылок, ведущих на незащищенный протокол. После этого проверьте коды ответов сервера на сайте, чтобы существующие страницы возвращали код ответа 200, а несуществующие — 404.
- Протестировать сайт на протоколе https в различных инструментах и сервисах, ссылки на которые приведены в следующем разделе ниже. Если будут какие-то ошибки, то нужно их исправить. Возможно Вы обнаружите, что в коде сайта остались ссылки, которые ведут на незащищенный протокол.
- Перегенерируйте sitemap.xml, чтобы он содержал ссылки только на https-версии страниц.
- Переделайте файл robots.txt:
- В файле robots.txt замените строку host, прописав в ней не просто доменное имя, а доменное имя вместе с https:
Host: https://site.com
- Строку с картой сайта в robots.txt также нужно обновить.
- В файле robots.txt замените строку host, прописав в ней не просто доменное имя, а доменное имя вместе с https:
- Настроить каноникл на https.
<link rel="canonical" href="https://site.ru/" />
- Добавить сайт на https в вебмастер Яндекс как новый сайт. Тут нужно будет подтвердить права сайта. А также выставить правильный регион для сайта на https.
- Включить в панели вебмастера Яндекса в инструменте «Переезд сайта», что теперь сайт работает по https.
- Добавьте сайт на HTTPS в Google Search Console как новый сайт. Подтвердите права на этот сайт. Далее укажите XML-карту сайта (используйте ссылку на https), если нужно — выставьте регион. Если у вас есть отклоненные ссылки в Disavow Tool, не забудьте заново загрузить файл с ними.
- Для всех страниц нужно добавить мета-тег referrer:
Добавить для всех страниц сайта (до закрывающего тега </head>) метатег:<meta name="referrer" content="origin"/>
(есть и другие варианты как настроить этот тег, подробнее читайте в дополнительной литературе ниже, но этот вариант настройки основной и подходит для большинства случаев).
Дождаться пока в Яндексе сменится главное зеркало. Теперь остается только ждать. Время ожидания может быть разным. Оно зависит от размера сайта, от того, как часто в Яндексе будут идти апдейты и от других факторов. Ориентировочное время ожидания — 2-4 недели. Согласно новым инструкциям ЯндексаВажно: лучше не настраивать 301-редирект на https-версию сайта до того, как в Яндексе сменится главное зеркало. Иначе у Вас может быть большая просадка трафика в Яндексе на несколько недель.Этот пункт больше не актуален. Согласно новым инструкциям от Яндекса, 301-редирект на https-версию сайта рекомендуется делать делать сразу после переезда, не дожидаясь переиндексации сайта. (А Гугл вообще изначально рекомендовал настраивать редирект сразу).
- Настроить 301 редирект постранично.
Важно: 301-редирект нужно настроить так, чтобы файл robots.txt и XML-карта сайта были доступны и по http, и по https без редиректа. В htacess при настройке редиректов исключение для файла robots.txt можно настроить такой строкой:RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
- После настройки редиректа еще раз просканируйте сайт программами «Screaming Frog SEO Spider», «SiteAnalizer» и «Xenu».
- Обновите все доступные внешние ссылки на Ваш сайт, чтобы они вели на URL-адрес с HTTPS:
- Обновите URL-адрес вашего сайта в социальных сетях.
- В системах отслеживания трафика, таких как Google Analytics и Yandex Metrika.
- То же самое нужно сделать в контекстной рекламе.
- Исправить покупные ссылки в биржах Sape и других.
- Исправить ссылки, идущие на сайт с сателитов, сайтов-партнеров и т.д.
Полезные сервисы
С помощью этих сервисов можно проверить все ли в порядке с Вашим протоколом https:
- https://www.ssllabs.com/ssltest/analyze.html?d= — проверка качества защиты сервера
- https://www.jitbit.com/sslcheck/- сканирование страниц сайта на ошибки
- https://www.sslshopper.com/ssl-checker.html — еще один сервис проверки на ошибки
- https://www.digicert.com/help/?rid=011592 — и еще один
- https://www.whatismyreferer.com/ — проверка реферера
- https://www.websiteplanet.com/ru/webtools/ssl-checker/ — удобный сервис проверки корректности установки сертификата
Где можно купить сертификаты
- Самый простой и не геморройный вариант — купить у своего хостера (но с наценкой)
- https://www.emaro-ssl.ru/ — тут продают ssl-сертификаты ДЕШЕВО
- https://rus.gogetssl.com/ — еще один продавец недорогой
- https://letsencrypt.org/ — бесплатные сертификаты Lets Encrypt
Полезные материалы
Почитать о типах сертификатов
Про тег referer
Другие интересные материалы
Как правильно перевести сайт на HTTPS
Для повышения общей интернет-безопасности и защиты информации, Гугл и Яндекс планомерно ухудшают условия ранжирования сайтов на http, пытаясь свести их количество к минимуму.
В скором времени всем сайтам с полем для ввода пользовательских данных придется перейти на безопасный https протокол, если, конечно, они не хотят потерять свои позиции в выдаче Google. Сейчас http сайты с полем ввода помечаются Гуглом как ненадежные, а в ближайшем будущем их отметят как небезопасные.
Посетители таких сайтов увидят красный треугольник и предупреждающую надпись в адресной строке. Мало кому захочется вводить личные данные и платежную информацию на сайте с такими отметками, поэтому у доменов без https протокола неизбежно уменьшится трафик и популярность, а, следовательно, количество транзакций и прибыль.
По всей видимости, нас ждет массовый переход на безопасный протокол всех онлайн магазинов, банков, форумов, почтовых серверов и медучреждений. Чтобы все прошло плавно и незаметно для посетителей ресурса, лучше всего переносить сайт в несезонное для данного вида деятельности время. Оно может отличаться – например, для интернет-магазина горнолыжного оборудования это будут летние каникулы, а для продавца экипировки для водных видов спорта – зима. Если особой сезонности в работе сайта нет, переносить его проще летом, когда многие уходят в отпуск и посещаемость снижается.
Перенос на HTTPS проходит в три этапа – подготовка сайта, работа с техническими параметрами SSL сертификата и работа с техническими параметрами сайта.
Что нужно сделать, чтобы перевести сайт на https
Еще до начала перевода домена на SSL стоит проверить его код и исправить все внутренние ссылки на относительные. Это позволит избежать возможных технических неполадок в процессе перехода и жалоб пользователей на нерабочие внутренние ссылки в новой версии сайта. Абсолютная ссылка содержит полный адрес страницы, например «https://www.ipipe.ru/info/ssl-https.html», а относительная – только адрес страницы относительно корневой папки сайта, например «//info/ssl-https.html»
В относительной ссылке нет названия протокола, поэтому она будет работать и с SSL защитой, и без. Внешние ссылки оставьте без изменений, т.к. не все внешние ресурсы работают по https протоколу.
Проверка медиа-файлов сайта
Теперь нужно проверить все графические, аудио- и видеофайлы и презентации. Те, что хранятся на сервере вашего ресурса, должны иметь относительные ссылки. Внешние медиафайлы необходимо загрузить на надежные https-хранилища с хорошей репутацией – YouTube, Facebook, Slideshare и др..
Не стоит пользоваться незащищенными видеохостингами, иначе нет смысла переносить сайт на https. При загрузке медиа-контента с http серверов страница сайта будет отмечена, как содержащая небезопасный контент. Вряд ли посетители сайта обладают достаточными навыками и желанием разбираться, что это происходит из-за видео, вставленного со стороннего http сайта.
Виртуальный хостинг сайтов для популярных CMS:
Проверяем правильное подключение внешних скриптов
Чтобы прописать шрифты или прикрутить к сайту функцию онлайн-консультанта или обратного звонка, используют внешние скрипты. Прежде чем переводить домен на https, убедитесь, что они содержат только относительные ссылки, без указания протокола. Это касается любых внешних скриптов – библиотек jQuery и JavaScript, Ajax, Google Analytics, LiveInternet. Крупные и широко используемые библиотеки и сервисы работают через https, поэтому подключение к ним проходит по безопасному соединению. Пользоваться малоизвестными или непопулярными сервисами небезопасно, т.к. они, как правило, работают по http протоколу.
Выбираем SSL сертификат для перехода на https
Любой SSL сертификат выполняет свою основную функцию – защищает сайт и передаваемую информацию от доступа посторонних лиц. Различают несколько типов сертификатов:
- Обычный SSL сертификат устанавливается на один домен, принадлежащий частному или юридическому лицу. Такой сертификат можно получить за несколько минут после простой проверки собственника домена.
- Сертификаты с расширенной проверкой (Extended validation) могут купить только компании при предъявлении регистрационных документов. Обязательное условие – название фирмы должно фигурировать в whois домена. У сайта, защищенного таким сертификатом, будет зеленая адресная строка.
- Wildcard SSL сертификат приобретают компании, имеющие несколько поддоменов в одном домене.
- IDN сертификаты поддерживают национальные шрифты и пригодятся владельцам кириллических доменов.
Устанавливаем сертификат
При покупке SSL сертификата у хостинг-провайдера тот сам устанавливает его либо обеспечивает быструю установку через панель управления. Процесс установки занимает от нескольких минут до 1-2 дней, но есть обязательное условие — сервер хостера должен поддерживать SSL-протокол. По этой причине лучше выбирать популярный хостинг с высоким уровнем защиты данных. SSL сертификат не привязан к определенному IP-адресу или хостингу, поэтому можно выбрать любого надежного хостера.
Проверяем правильность установки SSL
Теперь нужно проверить корректность установки SSL сертификата. Сделать это можно через любой из бесплатных онлайн сервисов, например, SSL Shopper, Symantec SSL Toolbox, GlobalSign SSL Check или Qualys SSL Labs.
Проверка происходит мгновенно, достаточно ввести адрес сайта в указанном формате и нажать ввод. Большинство сервисов по итогам проверки выставляет оценку уровня защищенности домена и указывает все уязвимые участки. Пример результатов проверки:
Допустимая оценка – от А и выше. Если сервис нашел ошибки в настройках сервера либо сертификата, исправьте их и запустите повторную проверку, до тех пор, пока не получите высокий уровень защиты.
Указываем https-версии в файле robots.txt
Следующий этап — настройка технических параметров сайта. Для поисковиков один и тот же сайт на http и https – это абсолютно разные ресурсы. Ваша задача – сделать так, чтобы в выдачу попадала только новая версия сайта, иначе вы рискуете лишиться значительной доли трафика.
При настройке в Яндексе пропишите директиву Host в файле robots.txt и явно укажите https-протокол. Тем самым вы сообщаете поисковику, что https-зеркало сайта является основным.
Переадресация с http на https — нужно настроить редирект
По мнению поисковиков, http и https версии сайта (так же как и сайт с приставкой www и без нее) – это разные сайты, поэтому после установки сертификата придется настраивать переадресацию всех http страниц на соответствующие страницы https. Требуются те же действия, что при переводе сайта на новый домен. Если Ваш проект еще использует анахронизм в виде приставки www – можно вместе с переездом на https протокол также указать основную версию сайта без www – например, https://demo-domen.ru .
Делайте прямую переадресацию без промежуточных документов, т.е. со старой версии сайта сразу на новую. Для переадресации достаточно настроить 301 для сайта, в зависимости от используемой CMS.
Проверяем на «битые» ссылки и доступ в разных браузерах
Теперь нужно проверить корректность работы сайта в целом — ссылки, доступ из разных браузеров, правильность редиректов. Исправьте «битые» ссылки и проверьте, что в адресной строке виден замок и надпись «Надежный» (и зеленая подсветка, если ваш SSL сертификат ее поддерживает).
Если что-то не работает, не отображается или отображается неверно, исправляйте сразу, не дожидаясь замечаний посетителей. От того, насколько хорошо вы отладите https версию, зависит трафик ближайших месяцев.
Добавляем https версии в инструменте вебмастера Яндекс и Гугл
Чтобы сообщить поисковикам о появлении https версии ресурса, добавьте в панели вебмастера https-версию сайта. Теперь в списке видны обе версии – http и защищенная https. Гуглу этого достаточно, а в Яндексе придется еще указать, что https-версия — главное зеркало http-сайта. Дополнительные настройки старой версии (файлы sitemap.xml, список ссылок для Гугла и др.) перенесите в новую с помощью панели вебмастера.
Теперь остается только подождать 1-3 недели, пока поисковые роботы Гугла и Яндекса проиндексируют новую https версию. В первые недели трафик может упасть, пока ресурс не вернет утраченные позиции в выдаче. Потом он вернется на прежний уровень, зато позиция сайта в выдаче Гугла вырастет благодаря новым правилам ранжирования.
Как перейти с HTTP на HTTPS – простая инструкция установки SSL
Веб в своем развитии движется в направлении использования безопасного протокола шифрования HTTPS по умолчанию. Данное направление, помимо прочего, стимулируется и крупными поисковыми системами, как например Google, который еще в 2014 году объявил, что HTTPS станет сигналом SEO-ранжирования. Однако, кроме такого поискового сигнала, переход сайта на HTTPS хорош и другими «плюшками», например:
- Защита конфиденциальности пользователей (логины, пароли, кредитные карты и т.д.)
- Браузеры помечают сайты с протоколом HTTP как небезопасные
- Возможность использовать преимущества HTTP/2 (мультиплексирование, доступ к некоторым API и т.п.)
- Защита своего рекламного дохода от перехвата недобросовестными Интернет- и Wi-Fi-провайдерами (которые на незащищенных сайтах «крутят» свою рекламу)
Мы не будем подробно рассматривать эти и другие преимущества, а более детально остановимся на самом процессе перехода с HTTP на HTTPS. Ваше желание перейти на сайт с HTTPS принимается как свершившийся факт.
Этапы перехода на сайт HTTPS:
- Выбор и получение SSL сертификата
- Установка сертификата на сервер
- Перезапуск сервера
- Проверка установки сертификата SSL на хостинг
- Редирект с http на сайт https
Выбор и получение сертификата
Для начала вам нужно определиться с тем, бесплатный или платный вам нужен сертификат SSL-протокола. Небольшим сайтам и блогам вполне может хватить и бесплатного SSL-сертификата, или использования, например, самоподписанного (самозаверенного) SSL сертификата. Такие сертификаты не требуют дополнительных финансовых расходов, но имеют ряд существенных ограничений (например, короткий срок действия). Бесплатные сертификаты проще всего получить у хостера (если ваш хостинг достаточно «продвинут» и он выдает такие сертификаты; в этом случае хостинг-провайдер также поможет вам и с установкой сертификата). Бесплатные цифровые SSL-сертификаты выдают также и крупные центры сертификации (например, Let’s Encrypt, CloudFlare и похожие).
Платные же сертификаты имеют ряд дополнительных преимуществ, от которых и зависит их цена. Чем больше преимуществ вы хотите от цифрового сертификата, тем больше будет его цена. Например, самый дорогой SSL-сертификат (мультидоменный, с расширенной валидацией, «зеленой адресной строкой в браузере» и т.п.) обойдется в несколько сотен, а то и тысяч, долларов в год.
Цена бюджетных SSL сертификатов стартует от 10-15$ в год. Самыми известными центрами сертификации являются такие компании как Comodo, GeoTrust, Symantec и Trustwave. Повторюсь: многие хостинг-провайдеры являются дилерами крупных центров сертификации и цифровой SSL-сертификат можно купить напрямую у них; в этом случае хостинг-компания поможет вам и с его установкой.
Установка сертификата на сервер
После выбора и получения сертификата SSL (платного или бесплатного) пришла пора установить его на свой сервер. Тут могут быть разные пути в зависимости от того, где вы приобрели сертификат. Будем исходить из того, что вы выбрали платный сертификат и установить его вы взялись самостоятельно.
Крупные хостеры позволяют устанавливать цифровой сертификат через панель управления хостингом (например, через ISPmanager или DirectAdmin). В этом случае от вас требуется минимум усилий: перейти в соответствующий пункт (например, «Сертификаты SSL») и дальше кликать на нужных пунктах. Или скопировать нужные данные в соответствующие поля формы. Такой метод установки является рекомендуемым.
ВНИМАНИЕ: следующий метод установки предназначен только для опытных пользователей, которые знают, что делают.
Несколько сложнее дело обстоит с установкой через SSH (или FTP):
- вручную копируем файлы сертификата (сам сертификат с расширением .crt и закрытый ключ с расширением .key) на сервер
- изменяем файл настроек конфигурации веб-сервера (например,
httpd.conf
для сервера Apache, илиnginx.conf
для сервера Nginx), где прописываем включение режима SSL, а также путь к файлам сертификата. - перезапускаем веб-сервер
Пример строк в файле конфигурации для включения режима SSL при веб-сервере Apache:
<VirtualHost x.x.x.x:443> DocumentRoot /var/www/ ServerName ВашДомен.com SSLEngine on SSLCertificateFile {путь к файлу}вашдомен.crt SSLCertificateKeyFile {путь к файлу}вашдомен.key SSLCertificateChainFile {путь к файлу}root.crt </VirtualHost>
где:
x.x.x.x – это IP-адрес вашего домена,
а 443 – это TCP-порт, который слушает HTTPS по умолчанию (для HTTP по умолчанию 80-й порт)
Пример строк в файле конфигурации для включения режима SSL при веб-сервере Nginx:
server { listen x.x.x.x:443; server_name ВашДомен.com; ssl on; ssl_certificate {путь к файлу}вашдомен.crt; ssl_certificate_key {путь к файлу}вашдомен.key; }
где:
x.x.x.x – это IP-адрес вашего домена
Перезапуск сервера
ВНИМАНИЕ: выполняйте этот пункт, только если вы устанавливаете сертификат вручную, и вы являетесь опытным пользователем, который знает, что делает.
После установки SSL-сертификата на сервер нужно перезапустить веб-сервер, чтобы изменения вступили в силу.
Примеры команд для перезапуска веб-сервера (для различных ОС команды могут отличаться):
Для сервера Apache выполните SSH-команду
/etc/init.d/httpd restart
Для сервера Nginx выполните SSH-команду
/etc/init.d/nginx restart
Проверка установки сертификата SSL на хостинг
После установки сертификата пора проверить успешность такой установки. Самый простой способ проверки сертификата для сайта с https – набрать в адресной строке браузера адрес своего сайта с указанием перед доменом https://. Если установка была успешной, то ваш сайт должен отображаться нормально и все стили, скрипты, картинки и страницы должны нормально подгружаться. Такое редко в реальной жизни бывает с первого раза, но тем не менее :))
Протестировать установку на сайт https-а можно и через онлайн-инструменты (например, SSL Labs или SSL Checker).
Редирект с http на сайт https
После успешной установки и проверки на сайте https`а можно все запросы к своему домену перенаправлять на обязательные SSL/HTTPS ответы.
Ниже указан фрагмент кода, который нужно для этого добавить в файл .htaccess в корне сайта (если у вас сервер Apache).
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
ИЛИ так:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://vashdomen.com/$1 [R=301,L] </IfModule>
Для сервера Nginx директива будет следующая:
# nginx location / { rewrite ^(.*)$ https://vashdomen.com/$1 redirect; }
(не забудьте везде использовать вместо vashdomen.com свой собственный домен)
(также не забывайте делать бекап файлов и базы данных перед их изменениями)
Рекомендуем также ознакомиться:
Счастливого вашему сайту HTTPS’а!
Как правильно перейти с http на https? · Блог Системы PromoPult
Массовый переход на https начался в 2014 году после того, как представители Google заявили, что сайты, обеспечивающие надежную передачу данных, получат дополнительные «баллы» при ранжировании. Несмотря на то, что Яндекс пока еще не сделал https фактором ранжирования, он все же рекомендует использовать именно этот протокол. Но переход на https связан с большой проблемой — из-за некорректных действий возможна потеря трафика и позиций. Сегодня вы узнаете, как перейти на https быстро и без потерь.
1. Подготовительная работа
Прежде чем переходить на https, желательно подготовить сайт. Сначала необходимо заменить внутренние абсолютные ссылки относительными. Есть несколько типов относительных ссылок. Google советует использовать protocol-relative ссылки. Например, если у вас была ссылка:
http://site.ru/blogpost1.html
то protocol-relative ссылка будет иметь вид:
//site.ru/blogpost1.html
Аналогично надо поступить, если на сайте есть медиа-контент — изображения, видеоролики, аудиофайлы. Например, если ссылка на изображение имела вид:
http://site.ru/image1.jpg
то protocol-relative ссылка будет такой:
//site.ru/image1.jpg
Если вы загружаете контент с внешних ресурсов, то они должны тоже иметь https-протокол, иначе подобные соединения будут небезопасными.
Также надо использовать относительные ссылки во внешних скриптах. Например, для библиотеки jQuery надо использовать такой код:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
вместо:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
По этой же схеме необходимо изменить ссылки на другие скрипты (счетчики аналитики, партнерские программы и т. п.).
Указанные действия надо проводить только на собственном сайте — обратные ссылки из внешних источников оставляем без изменений.
2. Покупка и установка SSL-сертификата
По уровню защиты SSL бывают трех типов:
- Domain Validated. Такие сертификаты стоят от $10-12 в год. Они выдаются физическим и юридическим лицам только для одного домена. Проверяется лишь принадлежность домена тому, кто заказал сертификат.
- Organization Validated. Сертификаты выдаются только юрлицам. Стоимость уже составит от $40-50 в год. Проверке подлежат документы о государственной регистрации и принадлежность домена.
- Extended Validation. Использование этого сертификата позволяет получить зеленую строчку с названием компании в браузере. Стоимость — от $130 в год. В этом случае проводится наиболее тщательная проверка компании, поэтому такой сертификат вызывает наибольшее доверие.
Также SSL-сертификаты различаются по функциональности. Они могут быть обычными (только для 1 домена), Wildcard (если требуется установка https на субдоменах) и SAN (для нескольких доменов), с поддержкой IDN (для кириллических доменов).
Основные поставщики SSL-сертификатов — GlobalSign, Comodo, Thawte, GeoTrust, Symantec, Trustwave. Купить их предлагает большинство хостинг-провайдеров. Они выдаются на срок от 1 до 3-х лет. Каждый провайдер прилагает подробную инструкцию по установке SSL.
После установки проверить корректную настройку SSL можно с помощью сервиса SSL Server Test. Добавляете адрес сайта, и если все в порядке, то результат проверки будет иметь вид:
Рекомендуем проверить вручную сайт в разных браузерах и на разных устройствах (ПК, планшетах, мобильных и т. д.), чтобы исключить некорректное отображение.
3. Склеиваем зеркала
После установки SSL адрес сайта будет начинаться с https, но в индексе поисковых систем все еще остается сайт с http. Для Яндекса это два разных сайта, поэтому нужно указать главное зеркало, чтобы он правильно переиндексировал сайт.
Для склейки зеркал в Яндексе, прежде всего, надо внести изменения в robots.txt. Откройте этот файл и исправьте директиву:
Host: site.ru
на
Host: https://site.ru
Аналогично исправьте директиву:
Sitemap: http://site.ru/sitemap.xml
на
Sitemap: https://site.ru/sitemap.xml
Далее переходим в Яндекс.Вебмастер, открываем раздел «Индексирование» / «Переезд сайта» и устанавливаем галочку напротив «Добавить HTTPS» и нажимаем «Сохранить».
Остается ждать переиндексации, которая начинается через 2-3 недели после сохранения изменений. Как только главное зеркало будет изменено, об этом придет сообщение в Яндекс.Вебмастере. Если в процессе склейки обнулится тИЦ, переживать не стоит — через пару апдейтов все вернется на свои места.
Далее зайдите в Google Search Console и добавьте версию сайта с https. В отличие от Яндекса, Google понимает, что адреса с http и https ведут на один и тот же сайт, и отдает приоритет при индексировании именно страницам с https.
4. Настраиваем 301 редирект
Для того чтобы при переходе на https сохранились позиции сайта и трафик, необходимо настроить 301 редирект. Здесь есть нюанс. Яндекс не рекомендует настраивать редирект до того момента, пока полностью не склеятся зеркала, а нужный домен будет признан главным зеркалом. Но в этом случае возможны проблемы с трафиком в Google. Поэтому проанализируйте, какой поисковик для вас в приоритете, и если это Яндекс, то лучше подождать, а если Google, то делайте редирект сразу.
Важно! Браузер проверяет наличие SSL-сертификата еще до срабатывания редиректа. Поэтому если у вас нет активного SSL-сертификата, который был выпущен удостоверяющим центром, то пользователи увидят предупреждение браузера о незащищенном контенте еще до того, как произойдет перенаправление.
Для настройки редиректа надо открыть файл .htaccess — он располагается в корневой папке сайта. Сделать это можно с помощью FTP-клиента типа FileZilla или любого другого. Если файла .htaccess нет, то его надо создать.
Добавьте в файл такие строки:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Если этот редирект не сработает, попробуйте такой вариант:
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Если и теперь ничего не вышло, и имеет место циклическая переадресация, то есть третий вариант:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
В результате пользователи и роботы со всех страниц сайта с http будут перенаправлены на страницы с https. Также будет передаваться вес сайта.
Редирект с помощью .htaccess работает только для хостинга на Linux (для веб-серверов Apache). Если у вас хостинг на Windows, то надо настраивать файл web.config. Для редиректа основного домена и всех поддоменов добавляем такие строки:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
По окончании всех этих манипуляций надо проверить, все ли внутренние ссылки корректны. Обратите внимание, чтобы протоколы ссылок в rel=”canonical”, rel=”alternate”, sitemap.xml были именно https. Кроме того, после склейки проверьте, правильно ли в Яндексе указан геотаргетинг. Если регион не определяется, надо написать в техподдержку для ручного исправления.
Если все сделано верно, то через пару месяцев зеркала полностью склеятся, страницы с http выпадут из индекса, а трафик, если была просадка, восстановится.
Процедура перехода на протокол https, безусловно, довольно сложна и требует должной экспертизы и практики. Если вы хотите безболезненно перейти со старого на новый протокол, но не имеете собственного опыта или программиста в штате, вы можете обратиться за помощью к специалистам службы «Персональный менеджер» PromoPult.
Пошаговая инструкция по переходу на https
Стоит ли вам переходить на https? Риторический вопрос.
Google настаивает на этом последние пару лет, а мы естественно “пляшем под его дудку”, и никуда от этого не денешься.
По некоторым слухам, Google будет понижать в рейтинге сайты с незащищенным http:// протоколом.
В новой версии браузера Google Chrome незащищенный сайт отмечается, как “Небезопасный” (для многих сайтов также пришло письмо с предупреждением для вебмастеров, что пора бы вам перейти на https://).
Поэтому установка SSL-сертификата и переход на защищенный протокол необходим и поможет обезопасить ваш сайт от утечки важной информации (в том числе личные и платежные данные клиентов, которые вводятся на сайте при оформлении заказов или в личном кабинете).
Итак, перейдем к пошаговому плану, чтобы всем стали понятны самые основные моменты при переезде.
Заменяем на сайте все абсолютные ссылки на относительные
Пример абсолютной ссылки:
https://site.com/kontakty/ — абсолютная ссылка (так не должно быть)
Пример относительных ссылок:
/kontakty/ — относительная ссылка (так нужно сделать)
//site.com/kontakty/ — тоже относительная ссылка (так нужно сделать)
Заменяем ссылки на медиа-контент, подключенные сервисы и скрипты
Изменяем ссылки на относительные к изображениям, видео, файлам и всем подключенным внешним сервисам, виджетам соцсетей и другим.
Например:
//site.com/images/logo.png
Изменяем также на относительные ссылки подключаемые внешние скрипты.
Устанавливаем SSL-сертификат
Можете выбрать и купить более солидный и дорогой сертификат, а можете установить бесплатный сертификат от LetsEncrypt, который сильно не уступает по своей надежности.
Подробнее о других видах сертификатов их отличиях и преимуществах уже давно все написано, например тут: https://habrahabr.ru/company/tuthost/blog/150433/
Статья уже старенькая, но основную суть и отличия сертификатов вы поймете.
Установку сертификата на сервере отдайте своему сисадмину или программисту, но после сделанной работы проверьте, чтобы сайт работал по двум версиям http:// и https://
Делаем 301 редирект (переадресацию) с http на https
Поручите эту работу сисадмину или программисту.
*Примечание для Яндекса (чтобы не потерять резко все страницы из индекса и соответственно трафик, то 301 редирект нужно ставить не сразу, а дождаться пока в Яндексе произойдет смена основного зеркала сайта и начнут появляться страницы с https:// версией).
Тестируем корректность работы после переноса
Проверяем доступность и работу всех страниц сайта, проверяем ссылки, чтобы в адресной строке браузера был “Зеленый замочек” и соединение было защищено.
Если найдена ошибка на какой-то странице, то ищем проблему и решаем.
Настройка сайта для поисковых систем
Во-первых указываем новую директиву Host в файле robots.txt (прописываем полный адрес сайта с https)
Пример:
Host: https://site.com/
Во-вторых добавляем новую версию сайта с https:// в Google Search Console и настраиваем регион.
В-третьих заменяем файл карты сайта Sitemap.xml на новый с https протоколами.
Также указываем новую https:// версию и добавляем обновленные файлы в панели Яндекс Вебмастер.
Запускаем сайт на индексацию и ждем, 1-2 недели (постепенно адреса сайта в поисковых системах будут пр оиндексированы на новые).
P.S.
После переезда на https:// и 301 редиректа ваш сайт потеряет в трафике (сколько именно точно неизвестно), но по статистике, в течение 1-2 месяцев трафик восстановится.
За то в ближайшем будущем у вас не возникнет проблем с отображением сайта, как небезопасного и не будет претензий от Google.
Вы обезопасите себя и будете спать спокойно, а вопрос о переезде на https останеться вычеркнутым в списке ваших дел.
Статью подготовил: Александр Надточий