1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как перенести сайт с HTTP на HTTPS

Содержание

Как перенести сайт с HTTP на HTTPS

В предыдущей статье мы познакомились с понятием HTTPS и сертификатами безопасности, а сейчас, как и было обещано, расскажем о том, как правильно перенести сайт с HTTP на HTTPS. Это важно не только с точки зрения корректного отображения сайта в браузере, но и для правильной склейки сайтов поисковыми системами для сохранения позиций сайта. Итак, разберем пошаговый алгоритм действия для перехода сайта на протокол HTTPS.

Алгоритм самостоятельного перехода на протокол HTTPS

Если сейчас покупка SSL-сертификата обязательна, в первую очередь, для ресурсов, которые хранят пользовательские данные, (если, конечно, они не хотят потерять клиентов), то в перспективе перейти на безопасное шифрование придется всем сайтам. Перенести сайт с http на https можно самостоятельно. Главное, учесть нюансы и делать все последовательно.

Важно понимать, что процедура переноса зависит от архитектуры/CMS, поэтому этот процесс может отличаться в каждом конкретном случае. Мы постарались написать для вас наиболее типовой универсальный алгоритм. Но не забывайте учитывать особенности реализации именно вашего сайта. Так, например, в ряде систем есть расширения/функции, которые значительно упрощают переход на защищенное соединение. Дальше представляем наш алгоритм. Удачи!

1. Выбор и приобретение SSL-сертификата

Чтобы сэкономить время на ожидании сертификата, рекомендуем выбрать и купить его сразу, а потом переходить к подготовке сайта.

Не советуем использовать бесплатные сертификаты. Это небезопасно, так как браузер даже после его установки может выдать ошибку о том, что сайт не проверен. Но решать вам: сейчас можно найти множество различных предложений, в том числе и бесплатных. Иногда хостинг-провайдеры предлагают SSL-сертификаты в подарок за покупку хостинга и домена.

По функциональности сертификаты разделяют на:

Подходят как для физических, так и для юридических лиц. Самый бюджетный вариант.

Его приобретают, если у ресурса есть поддомены.

Этот сертификат можно использовать для нескольких доменов.

С поддержкой IDN.

Необходим для кириллических доменов.

По степени защиты сертификаты делятся на:

Самый распространенный тип. Он выдается только на один домен. Самый бюджетный вариант.

Этот тип подтверждает не только домен, но и организацию. При его покупке у вас могут запросить свидетельство о государственной регистрации.

Это сертификат, выдачу которого осуществят лишь после проверки адреса, свидетельства о регистрации, торговой марки. Покупка сертификата статуса «Extended Validation» позволяет получить зеленую строчку в браузерной строке.

Самый простой способ приобрести SSL-сертификат — обратиться за ним к компании, которая предоставляет хостинг вашему сайту.

Вы можете прочитать подробную инструкцию по покупке SSL-сертификата от Hoster.by.

2. Подготовка сайта

Чтобы избежать возникновения ошибки смешанного содержания «Mixed Content» после смены протокола, мы рекомендуем проверить все ссылки на вашем ресурсе.

Для проверки можно воспользоваться инструментом браузера «Инспектор кода» (вкладка »Безопасность»).

Должно быть так:

Не должно быть так:

Все подключения скриптов (в том числе на внешних ресурсах), изображений и прочих файлов, а также внутренние ссылки должны быть без указания протокола http (то есть или относительными ссылками, или абсолютными ссылками с указанием протокола https, или абсолютными без указания протокола).

Например, вместо такого http://penguin.by/styles/main.css в текстах должно быть или такое /styles/main.css, или такое //penguin.by/styles/main.css.

SEO-специалисты рекомендуют использовать третий тип ссылок (но основной критерий здесь, все же, сохранение работоспособности кода).

Где и как менять ссылки?

На этот вопрос нет универсального ответа. В каждом конкретном случае нужно действовать по-разному. Часть ссылок будут прописаны в исходных кодах вашего сайта (php, html и прочих файлах). Чтобы поменять такие ссылки, вам нужно будет найти все файлы, в которых есть проблема, скачать их с сервера, внести изменения и загрузить обратно через ФТП-соединение. Часть ссылок будут находиться в контенте (например, в тексте статьи на сайте) — такие ссылки можно менять вручную через админку. Обратите внимание, что на этом шаге идет речь только о ссылках типа .. внутри вашего сайта. Если вы замените ссылку на чужой сайт, указав протокол https, а чужой сайт еще не перешел на безопасное соединение, ваши посетители при переходе по данной ссылке обнаружат ошибку.

Иногда внутренних ссылок на сайте очень много и заменить их вручную через админку не представляется возможным. В этом случае вы можете сделать эту операцию автоматически через базу данных одним махом. О том, как заменить ссылки на сайте для перехода на https с помощью phpMyAdmin, читайте в отдельной инструкции.

3. Подключение сертификата

Оплатив сертификат, вам, будут предоставлены файлы, которые нужно установить на хостинге. Процесс установки зависит от вашего сервера, но, как правило, ничего сложного в нем нет. Если у вас не получается сделать это самостоятельно, всегда можно обратиться в службу поддержки хостинга.

Крупнейшие хостинг-провайдеры предоставляют к выдаваемому сертификату инструкцию по их установке. Также мануал можно найти на официальных сайтах. На свой сайт мы установили сертификат, который купили у hoster.by. Вот инструкция по его установке.

После вам нужно проконтролировать правильность установки. Корректность проверяется следующим образом:

Читать еще:  Как увеличить масштаб сайта на экране

Зайдите на свой сайт по двум протоколам — http и https. И в том, и в другом случае он должен быть доступен;

Проведите анализ с помощью специального сервиса. Например, ssllabs.com.

Если все настроено правильно, то результат будет выглядеть так:

Это значит, что все страницы сайта автоматически станут доступны по двум url-адресам.

4. Сообщение поисковикам о переносе сайта

И Google, и Яндекс воспринимают ресурсы с разными протоколами как разные сайты. Поэтому при установке протокола, как и при переезде ресурса на новый домен, позиции сайта в выдаче поисковика и посещаемость может снизиться. Чтобы минимизировать риски, необходимо правильно настроить сайт после переноса своего сайта на безопасный протокол. Для этого необходимо учитывать рекомендации от Яндекс и Google.

Шаг 1. Сообщение поисковым роботам

После установки сертификата сообщите поисковым роботам, что ваш сайт стал доступен по новому протоколу. Просто добавьте его в список своих сайтов через панели вебмастера. Это поможет снизить потери трафика на ресурс.

Также добавьте сайт с указанием протокола https в Google Search Console.

Яндекс и Google просят подтвердить право собственности на сайт любым удобным способом.

Шаг 2. Выберите адрес главного зеркала в Яндекс.Вебмастере

Далее укажите адрес главного зеркала вашего сайта. Сделать это можно, внеся изменения в файле robots.txt. О том, как добавить директиву Host, читайте в справочной информации поисковика.

Шаг 3. Сообщите роботу об изменении главного зеркала

Сообщите Яндекс-роботу, что у вас изменилось главное зеркало сайта. Для этого зайдите в вебмастер на страницу «Настройки индексирования» и выберите «Переезд сайта».

Шаг 4. Обновите Sitemap в Search Console

Не забудьте обновить XML-карту. Ее можно загрузить в подразделе «Файлы Sitemap» раздела «Сканирование» Search Console.

Шаг 5. Ожидание

Сейчас у вас есть два вариант развития событий:

Ждать, пока поисковик определит https-версию главным зеркалом вашего ресурса. Это может занять от трех дней до целого месяца. Зато, выбрав этот вариант, меньше рисков, что сайт снизит позиции в выдаче.

Принять риски и приступить к следующему шагу.

Шаг 6. Настройка 301 редиректа

Будем считать, что вы дождались, когда хотя бы 90% страниц вашего ресурса уже проиндексировались (или приняли возможные риски, тут уж вам решать). Теперь можно приступить к следующему, последнему шагу — настройке 301 редиректа с неглавного зеркала.

Эта процедура проходит по-разному в зависимости от установленной системы управления содержимым (CMS). Например, Joomla позволяет настроить 301 редирект за пару секунд — вам всего лишь нужно выбрать «Весь сайт» напротив «Включить SSL» в настройках сервера.

Чаще всего процесс перенаправления с http:// на https:// выполняется с помощью кода, который необходимо прописать в файле .htaccess.

Предварительная подготовка сайта к переходу на https

Подготовка проходит в девять этапов.

  1. Меняем все ссылки на страницы сайта (и элементы страниц), для которых устанавливается защищенное соединение.
  2. Весь контент сайта, в том числе внешние модули, фото и скрипты, тоже должен подгружаться по протоколу https. Иначе браузер посчитает, что на странице есть небезопасные материалы и не покажет в адресной строке зеленый значок. Несмотря на то, что страница будет загружена по https.

Самая распространенная ошибка — размещение на сайте, который работает по https, не только защищенного, но и обычного контента. В таких случаях один или несколько элементов (обычно изображения, скрипты, или CSS ) загружаются на странице https с использованием незащищенного внешнего URL, начинающегося с http://.

Список незащищенных элементов на страницах со смешанным содержанием можно найти в консоли JavaScript (в некоторых браузерах она может называться отладчиком JavaScript) либо в инструментах разработчика браузера.

  1. Убеждаемся, что все ссылки на сайте имеют относительный протокол или ведут на страницы, доступные по защищенному протоколу.
  2. Исправляем все ссылки, в том числе на графику, консультанты, виджеты и другие внешние скрипты.

Убедитесь, что корректно настроен. Получить подробный анализ конфигурации SSL можно с помощью специального сервиса >>

  1. Версия сайта с https должна быть доступной и работать без ошибок, как и версия с http. Для обеих версий файл robots.txt должен быть одинаковым.

Важно! Ранее рекомендовалось использовать параллельно два файла robots.txt и на период переклейки в Яндекс закрыть сайта от индексации Google. Сейчас этого не требуется. Был протестирован и утвержден вариант без закрытия от индексации в Google. Если доступны обе версии сайта, Google по умолчанию показывает в выдаче , а Яндекс делает это только после переиндексации.

В robots.txt должна быть строчка:

Это значит, что является главным зеркалом.

Если все сделано верно, результат будет выглядеть так:

  1. Добавляем обе версии сайта в Вебмастер Яндекса, указываем предпочтительный протокол в разделе «Настройка индексирования — Переезд сайта».

  1. В Google Search Console добавляем сайт с протоколом https и подтверждаем права.

Google понимает, что http и https являются разными протоколами одного и того же сайта. Если он найдет работающий https протокол, по ходу переиндексации контента заменит http на https. Это произойдет даже без перенаправления и добавления в Google Search Console.

  1. Ждем переиндексации сайта в Яндекс. Это произойдет, когда в индекс зайдут версии страниц с https, а версии с http выпадут из него.

Переклейка начинается через 2–3 недели. К сожалению, повлиять на ее скорость невозможно — это автоматический процесс.

Когда начнется переклейка, в Вебмастере Яндекса появится уведомление:

Также можно увидеть, что стала отображаться как основная:

Неглавное зеркало начнет выпадать из индекса Яндекса, главное — попадать в него:

У крупного ресурса все страницы не переиндексируются мгновенно.

  1. После склейки сайтов настраиваем постраничный со страниц с http на страницы с https (за исключением файла robots.txt).

Нежелательно делать это прежде чем сайты будут признаны зеркалами. Иначе по правилам Яндекса при обработке перенаправлений страницы с редиректами исключатся из поиска.

На период склейки зеркал сайт должен оставаться доступным по обоим адресам.

Для перенаправления с http:// на https:// в .htaccess можно воспользоваться тремя способами:

  • ручной корректировкой файла htacces;
  • настройкой редиректов через панель управления хостингом;
  • написанием программного скрипта настройки редиректов.
Читать еще:  Отвязать iphone от apple id через сайт

Robots.txt и карта сайта

  • Если Вы используете стандартную карту сайта CMS.S3 — она обновится автоматически. Если же на Вашем сайте используется собственная карта сайта, Вам необходимо обновить ее содержимое, заменив адреса на адреса с HTTPS.
  • HTTP и HTTPS версии одного и того же сайта — это разные сайты с точки зрения поисковых машин. Со временем поисковик определит сайты как «зеркала» и склеит их, после чего в поиске останется только одна версия, определенная поисковиком как «главное зеркало». Управление приоритетом происходит через файл robots.txt. Управление robots.txt.
  • Если robots.txt Вашего сайта не подвергался ручному редактированию, то при активации SSL-сертификата система управления автоматически укажет HTTPS-версию сайта как главную.
  • Если robots.txt содержит нестандартные значения, то Вам следует указать главную версию сайта самостоятельно или обратиться в нашу техническую поддержку с указанием того какая версия сайта (HTTP или HTTPS) должна обладать приоритетом для поисковых машин. Директиву Host можно удалять из robots.txt, но важно, чтобы на всех не главных зеркалах вашего сайта теперь стоял 301-й постраничный редирект.
  • Также, если Вы ранее отправляли запрос на добавление тега rel=»canonical», то отправьте запрос в нашу техническую поддержку, чтобы мы указали протокол.

Что делать на сайте WordPress после подключения SSL сертификата

Прежде всего, проверяем доступность сайта по двум протоколам: http и https .

Если вы не включали переадресацию http на https в административной панели хостинга, сайт должен открываться по двум адресам http и https . Если это не так, нужно исправлять.

Доступность сайта по двум протоколам,- говорят знающие оптимизаторы, является негативным фактором для поисковиков и отрицательно влияет на позиции сайта в выдаче. Верим и делаем переадресацию http на https .

Переадресация http на https

Способ 1. Мне опять везет, я делаю это из панели своего хостинг провайдера.

Способ 2. Если ваш сайт работает в веб-сервисом Apache, то в файл .htaccess , который должен быть в корне сайта. Вписываем две директивы для Apache:

Если ваш сайт работает на «чистом» Nignx, то файл .htaccess не поможет, пишите в суппорт и спрашиваете, что делать.

Способ 3. Работает при доступности сайта по двум протоколам: http и https и не отменяет первые два пункта. Идете в панель сайта WordPress, на вкладку Настройки>> Общие>>Адрес сайта и Адрес сайта WordPress. В этих двух формах, вписываем домен сайта сайт с https.

Если сайт не был доступен по https, вы потеряете доступ в панель. Чтобы восстановить доступ, читаем тут или смотрим видео:

Пример настройки сайта, работающего на CMS WordPress

1. В админке WordPress меняем http на https

Это нужно для того, чтобы ваш основной адрес сайта теперь начинался с https и панель входа в админку тоже была доступна по протоколу https.

. После внесения этого исправления вас может сразу выбросить из админ. панели сайта, вам нужно будет выполнить вход снова. Не забудьте, что теперь адрес страницы входа будет начинаться на http s .

Входим в панель управления WP, заходим в Настройки — Общие и исправляем http на https в двух строках, как на скрине ниже. Внизу страницы нажмите «Сохранить изменения».

2. Добавляем в файл конфигурации строку

Эта строка будет отвечать за вход в админку сайта по протоколу https. Файл конфигурации — это файл wp-config.php, он лежит в корневой папке сайта. Важно! После изменения этого файла вы можете совсем не попасть в админку сайта, если предварительно не выполнили первый шаг из этой инструкции.

Как можно отредактировать файл конфигурации?

Вы можете воспользоваться любым FTP-менеджером, например, FileZilla. Скопируйте файл конфигурации на локальный компьютер, отредактируйте с помощью любого текстового редактора, обязательно сохранив копию исходного файла. На скрине ниже показано, как найти файл через FTP-менеджер.

Стандартный тектовый редактор из Windows может быть неудобен, тк не поддерживает перенос строк, в этом случае вам пригодится Notepad++, который бесплатно можно взять здесь, выбрав версию своей ОС.

Открываем файл в текстовом редакторе и добавляем строку, например, сюда:

Загрузите обновленный файл обратно на сервер, перезаписав старый.

3. Меняем указание протокола для всех таблиц стилей, скриптов и картинок.

О том, почему это нужно сделать, мы говорили в самом начале этой статьи. Если вы только создаете свой сайт и и сразу установили SSL-сертификат, этот шаг вам может не понадобиться. Если же ваш сайт уже какое-то время существует, то без этого этапа не обойтись.

Итак, нам нужно добиться, чтобы подгрузка всего контента на каждой странице шла по протоколу https, в то время как до установки сертификата весь контент был подгружен по http.

Быстрее всего эту проблему можно решить, используя специальные плагины. Например, плагин HTTP/HTTPS Remover. Его можно установить из админки WP стандартным способом, активировать и он сам заменит все ссылки на https. После того, как плагин отработает, его можно отключить и удалить.

Показателем того, что плагин сработал, будет отображение всех страниц вашего сайта с зеленым замочком возле адресной строки.

Если на некоторых страницах вместо зеленого замочка все еще виден значок «i» в кружке, значит, плагин сработал не до конца. Особенно часто остаются неизмененными ссылки на изображения. В этой ситуации часть страниц вашего сайта будут показываться браузером как безопасные, с зеленым замочком, а часть — как небезопасные (пример на скринах ниже). Это те страницы, где часть контента все еще подгружается по протоколу http.

Можно попробовать другие плагины, которые выполняют ту же задачу. Например, WordPress HTTPS (SSL), WordPress force https или какие-то еще, поищите рекомендации в сети.

Важно! Ссылки, размещенные на вашем сайте, которые ведут на другие страницы сайта или на другие сайты, на безопасность отображения не влияют. Речь идет только о внутренних ссылках на изображения, стили и скрипты, которые не видны невооруженным глазом.

Если после применения разных плагинов некоторые страницы сайта все еще показываются, как небезопасные, можно попробовать найти эти ошибки в коде страницы и исправить вручную. Этот совет только для тех, кто разбирается в вопросе. Если у вас мало опыта, лучше обратиться за помощью.

Читать еще:  Ошибка 524 на сайте что означает

Как найти ошибки на странице?

Например, при просмотре страницы в браузере Google Chrome выбрать в меню браузера пункт «Дополнительные инструменты» — «Инструменты разработчика». Справа откроется панель, которая покажет ошибки со ссылкой на конкретный элемент.

На скрине ниже видно, что страница загружена по безопасному протоколу, а изображение подгружено по http. Вам останется отредактировать в WordPress страницу, исправив url изображения с http на https, и страница сразу станет отображаться, как безопасная.

4. Настраиваем 301 редирект с http на https

Эта настройка нужна для того, чтобы все пользователи попадали на безопасную версию вашего сайта. Перешедшие на ваш сайт по старым ссылкам или набравшие в браузере ваш адрес как http://вашсайт.ru будут перенаправляться по адресу http s ://вашсайт.ru.

Если не настроить редирект, часть пользователей будет входить на сайт по протоколу http и, соответственно, получать предупреждение об опасном контенте.

Как настроить 301 редирект?

Вариант 1. Взять рекомендации у своего хостинг-провайдера.

Это будет оптимальным вариантом. Рекомендации, скорее всего, опубликованы у хостера в разделе FAQ по веб-серверу, если нет — обратитесь в техподдержку. Например, инструкции от «Хостинговых телесистем» предполагают прописать в файле .htaccess (который находится в корневой папке сайта) следующие директивы:

Файл нужно отредактировать с помощью текстового редактора (аналогично п.2). Если файла нет, его нужно создать и положить в корневую папку сайта. В записи текст, выделенный красным, нужно заменить на адрес вашего сайта. Как правило, этого действия будет достаточно.

Как проверить, работает ли редирект?

Наберите в адресной строке браузера адрес своего сайта с http, нажмите Enter и убедитесь, что вы будете переброшены на страницу по протоколу https. Если редирект не срабатывает, нужно пробовать другие варианты. Иногда для корректной проверки нужно почистить кэш браузера или использовать режим инкогнито.

Пример файла .htaccess с кодом для редиректа:

Вариант 2. Если первый вариант не помог, попробуйте использовать для этих целей плагин для WordPress «Force https». Если плагин не решает проблемы, деактивируем и удаляем.

Вариант 3. Здесь вы найдете коды для 301 редиректа на все случаи жизни, вам нужно попробовать код для перенаправления http-https. Делается это аналогично варианту 1 — вам нужно просто скопировать предложенный код и добавить в файл .htaccess.

ВАЖНО. Если в вашем файле .htaccess еще нет строки «RewriteEngine On» (см. пример на скрине выше), вам нужно обязательно ее добавить. Если она уже есть, добавляете только предложенный код.

4. Правки на сайте и переиндексация

Скорее всего, даже при всех корректно выполненных шагах, в любом случае останутся ссылки с http. Например, в link rel=»canonical» . Кроме того, абсолютные ссылки на страницах пагинации также вели на 301 редирект. При наличии разных языковых версий сайта необходимо будет заменить адреса ссылок с использованием небезопасного протокола на HTTPS. Например,

link rel =» alternate » hreflang =» ru » href =» http://site.com/ » />

нжно заменить на

link rel =» alternate » hreflang =» ru » href =» https://site.com/ » />

Если все пункты выше выполнены, а браузер все равно пишет о том, что соединение не является безопасным, проверьте скрипты и замените адреса ссылок на них. Проверьте ответ сервера, чтобы существующие страницы возвращали код ответа 200, а несуществующие — 404/410.

Совет от Яндекс.Вебмастера:

4. Настроить 301-й редирект с HTTP на HTTPS

Так как поисковые системы Google и Яндекс воспринимают сайты http://domen.ru и https://domen.ru как два абсолютно разных ресурса, после установки SSL сертификата обязательно нужно настроить переадресацию каждой HTTP-страницы на соответствующую ей HTTPS-страницу. Эта процедура соответствует переносу сайта на другой домен. Переадресация должна быть прямой и не включать промежуточных документов, иначе образуются цепочки редиректов, которые только запутают поисковых роботов и негативно повлияют на восприятие сайта в целом.

Как вариант, вы можете осуществить переадресацию с HTTP на HTTPS с помощью .htaccess, если ваш сайт размещен на сервере Apache или же, если на вашем сервере имеется соответствующая утилита. Кроме того, если ваш сайт создан на каком-либо языке программирования, настроить переадресацию можно прямо в коде сайта.

4.1. Настроить внутреннюю перелинковку сайта

4.2. Проверьте работу внешних скриптов и изображений

Комментарий эксперта

Своими комментариями об опыте внедрения ssl на сайты клиентов Redbee делится руководитель компании и глава SEO-департамента Дмитрий Бычков:

«Установка SSL-сертификата и, как следствие, перевод сайта на протокол https — это по сути один из первых шагов в базовом SEO любого проекта, в случае, если этого не было сделано ранее.

Сразу отмечу, что для влияния на позиции сайта в поисковых системах абсолютно не важно, какой именно тип сертификата вы купите. Намного важнее — насколько грамотно будет выполнен переезд на https. Именно здесь и кроется основная опасность затеи. Любая неосторожность или невнимательность способна за день затопить ваш сайт на глубине органической выдачи.

Поэтому настоятельно рекомендую вам поручить этот процесс опытным специалистам, которые уже проводили подобные операции ранее, и которым вы можете доверить здоровье своего сайта. Со своей стороны мы всегда готовы провести все нужные процедуры по транспортировки вашего сайта на https быстро и безболезненно. Для этого просто заполните форму ниже, и до новых встреч ;).»

Дмитрий Бычков, Head of SEO Redbee (стаж в продвижении 18 лет)

В последние годы, в основном в связи с изменением политики ранжирования поисковой выдачи основными игроками рынка, резко увеличился спрос на SSL-сертификацию. Не последнюю роль в этом процессе так же сыграло и то, что всё больше сайтов оперируют с чувствительным к потере персональными данными пользователей, имеют личные кабинеты и т.п. А так же национальные блокировки отдельных ресурсов (в некоторых случаях, официально заблокированные в стране сайты прекрасно открываются, если в браузере руками указать защищённый протокол, то есть ввести https:// ).

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector