Протокол https как настроить на сайте
Как перевести сайт на HTTPS
Перевод сайта на https как переезд из одной квартиры в другую — вроде бы ничего сложного, но, если не подготовиться заранее, дополнительных проблем не избежать. Чтобы ничего не упустить и не забыть, воспользуйтесь нашей пошаговой инструкцией. И пусть ваш переезд на https пройдёт легко и безболезненно.
Итак, приступим. Что же нужно сделать, чтобы переехать на защищенный протокол.
1. Создать резервную копию файлов и баз данных
Во-первых, вы сможете восстановить данные, если что-то пойдёт не так.
Во-вторых, у вас появится шанс безопасно попрактиковаться на копии сайта, прежде чем рубить с плеча и делать всё «на горячую» на работающем сайте. Совет особенно полезен владельцам сложных и нестандартных проектов, а также всем, кто сомневается, что всё пройдёт гладко, и знает, как сильно перерывы в работе сайта бьют по карману и репутации.
Для создания резервной копии используйте отдельное хранилище, а не дисковое пространство сервера с данными сайта. Если с сервером что-то случится, копии файлов останутся целыми и невредимыми.
Как создать копию сайта, чтобы потренироваться
1. Создайте тестовый поддомен вида test-ssl.yoursite.com, чтобы потренироваться на нём. Или используйте бесплатный технический поддомен от FirstVDS — yoursite.fvds.ru. Просто добавьте данный домен в панели ISPmanager.
2. Перенесите копии файлов и баз данных вашего сайта на тестовый поддомен.
3. Далее действуйте по нашей инструкции по переезду на HTTPS.
4. Чтобы не покупать сертификат для тестового переезда, рекомендуем подключить бесплатный сертификат от Let’s Encrypt.
2. Выбрать SSL-сертификат
Без SSL-сертификата не получится перевести сайт на https : ведь именно сертификат проверяется поисковиками и участвует в шифровании данных, которые веб-сервер получает от пользователя.
Мы советуем заранее выбрать сертификат, ведь его получение может занять не один день. Так, на выпуск сертификата с проверкой организации (OV) может уйти до 5 дней.
Чтобы определиться в выборе SSL-сертификата, ориентируйтесь на то, какой тип сертификата подойдёт вашему проекту и какая цена является для вас оптимальной.
3. Подготовить сайт
Чтобы между сайтом и браузером клиента было установлено защищённое соединение, необходимо, чтобы весь контент сайта отдавался исключительно по https-протоколу.
Так как содержимое сайта запрашивается с веб-сервера при помощи ссылок, начать следует с того, чтобы грамотно их изменить.
Какие бывают ссылки:
Внешние ведут с вашего сайта на другие ресурсы.
Внутренние — переводят с одной страницы на другую внутри сайта.
Также ссылки делятся на абсолютные и относительные.
Абсолютные ссылки представляют собой полный URL , с указанием протокола, домена и пути до каталога или файла.
Пример:
Относительные ссылки — по своей сути лишь часть URL , неполный путь к определенному файлу. Путь такой ссылки высчитывается относительно чего-либо, например, корневой директории домена или протокола.
Пример:
Что же нужно сделать?
3.1. Все внутренние ссылки изменить с абсолютных на относительные
Проверьте, каким образом на вашем сайте реализована внутренняя адресация. Если для этого используются абсолютные ссылки вида http:// , измените все URL на относительные. Во-первых, это серьёзно упростит настройку редиректа, о котором речь пойдет позже, а во-вторых, если вы однажды соберетесь менять доменное имя, сильно облегчите себе задачу.
3.2 Изменить все внешние ссылки с http на https
Если внешние ссылки с сайта относительны по протоколу, то после подключения SSL , контент по этим ссылкам автоматически будет запрашиваться через https . В этом случае, надо лишь убедиться, что запрашиваемый URL доступен по https .
Если внешние ссылки сейчас являются абсолютными и в них используется протокол http , то просто переделайте их на https .
И главное, помните: необходимо исправить ссылки для всех типов контента — картинок, видео, скриптов и т.д.
Примечание: на страницах вашего сайта могут быть ссылки на другие ресурсы, выполненные в виде кликабельного текста. Это реализовано через html-тег , и в этих ссылках не надо менять http-адрес на https , поскольку адрес может не работать по защищённому протоколу.
Как изменить ссылки
Большая часть сайтов в мире сделана на базе готовых движков, так называемых систем управления контентом — CMS. У большинства из них есть готовые решения для управления ссылками либо средствами самой CMS, либо при помощи плагинов. Это самый простой и безопасный способ для того, чтобы изменить ссылки.
Такой вариант подходит для многостраничных сайтов со сложной структурой. Если же ваш сайт содержит всего несколько страниц, можно попробовать изменить ссылки вручную.
Современные CMS сохраняют содержимое страниц в базу, поэтому чаще всего ссылки хранятся в базе данных сайта. Чтобы заменить их вручную, можно использовать phpMyAdmin с удобным поиском по базе. Тем более, что он доступен в панели ISPManager.
Есть и другие способы:
— Вручную просмотреть все файлы сайта, скрипты и т.д.: откройте их в текстовом редакторе, типа NotePad++, и при помощи функции поиска и замены приведите все ссылки к нужному виду. Этот вариант подходит тем, чей проект содержит до 4-5 страниц, имеет мало активного содержимого и не имеет базы данных как таковой.
— Поменять при помощи самописных программ. Можно написать скрипт, который при запуске заменит все сочетания вида «http://» на «https://» во всех файлах сайта, или только в указанных. В ОС Linux, например, это можно сделать, написав однострочный скрипт с использованием редактора sed. Такой способ подходит не всем, так как есть риск нарушить структуру файлов.
В статье способы рассматриваются как альтернативные, однако для некоторых веб-сайтов придется использовать не один способ, а два или больше. Например, отдельно поменять ссылки в CMS, отдельно — в базе данных и вручную переписать ссылки в коде сайта.
4. Установить SSL-сертификат
Установка сертификата — несложный процесс, но имеет свои нюансы в зависимости от того, какой сертификат вы устанавливаете — платный от известного центра или бесплатный Let’s Encrypt. Если вы обслуживаетесь у нас и используете панель ISPmanager, то можете воспользоваться готовой инструкцией по установке сертификата для любого сайта или для окружения Битрикс. Если возникли сложности, напишите в техническую поддержку, и мы поможем вам с установкой.
5. Проверить работу сайта
Самый простой способ проверить, верно ли настроен сайт и установлен ли SSL-сертификат — открыть сайт через https:// . Если появился значок защищённого соединения в браузере, значит сертификат установлен и все данные на странице загружаются через защищённый протокол.
Хорошо, если вы сможете проверить каждую страницу: неверные ссылки или ошибки при настройке редиректа могут привести к тому, что часть контента будет загружаться через http-протокол. В этом случае при просмотре страницы в браузере будет отображаться ошибка смешанного содержимого (Mixed content).
Понятно, что проверить вручную все страницы сайта получится не всегда. Тогда, чтобы убедиться, что все страницы загружаются корректно, используйте бесплатные средства SEO-аудита от Яндекс.Вебмастера и Google Search Console. С их помощью можно проверить, верно ли указаны ссылки, а ещё, что тоже пригодится, как отрабатывает редирект, правильно ли сформированы robots.txt и sitemap.xml . Для более детального SEO-анализа можем порекомендовать такие инструменты как, как Netpeak Spider или Screaming Frog .
6. Настроить редирект
После того, как установлен SSL-сертификат, пользователи смогут заходить на ваш сайт как по запросу http, так и по https . Чтобы использовалось только защищенное соединение, необходимо настроить перенаправление запросов, или редирект. В этом случае любой полученный сервером http-запрос будет возвращаться по защищённому каналу.
В нашей Базе знаний вы можете прочитать о том, как настраивать автоматический редирект на HTTPS с помощью ISPmanager для самых распространенных вариантов — на связке Apache+Nginx и чистом Apache.
7. Внести изменения в файл robots.txt и sitemap.xml
Файл robots.txt — это текстовый документ, размещённый в корне сайта, в котором прописываются параметры управления индексацией сайта. И в нём нам надо изменить следующие адреса:
В поле «host» меняем ссылку с http на https :
Было:
Стало:
Меняем ссылку на sitemap.xml.
Было:
Стало:
Sitemap — это, как следует из названия, карта сайта для поисковых систем, которая ускоряет процесс индексации. Это файл в формате XML, размещённый в корне сайта и содержащий адреса всех страниц сайта.
Файл sitemap.xml необходимо заново сгенерировать. Это можно сделать при помощи онлайн-ресурсов или через плагины CMS. После создания новой карты сайта, нужно загрузить её в корневую директорию ресурса.
8. Изменить адрес сайта на стороне поисковых систем
Чтобы не потерять позиции в поисковой выдаче, следующий и последний шаг, который вы должны сделать, — указать поисковым системам, что сайт защищён SSL-сертификатом и работает по https-протоколу.
Для Яндекс.Вебмастера
Для индексирующих ботов сайт по http и сайт по https — это разные сайты. Поэтому добавим новый сайт с https .
После подтверждения прав на домен, перейдём снова на сайт без HTTPS и после перейдём в раздел «Индексирование» — «Переезд сайта» и поставим галочку «Добавить HTTPS» .
Для Google Search Console
Необходимо добавить отдельный сайт для каждого URL , поэтому добавим ресурс с https.
Теперь вам останется только подождать, когда поисковые системы проиндексируют ваш сайт по HTTPS. Чтобы узнать больше о работе поисковиков и индексации сайта, воспользуйтесь справочной информацией от Google Search Console и помощью Яндекс.Вебмастера.
Раздел помощи SpaceWeb
Настройка сайта для работы по HTTPS
Настройка сайта для работы по HTTPS
Если для работы с сайтом должен использоваться протокол HTTPS, после установки сертификата производится настройка защищенного соединения для всех элементов и страниц сайта.
В первую очередь осуществляется переадресация сайта на защищенный протокол HTTPS. Переадресация с протокола HTTP на протокол HTTPS реализуется добавлением в файл .htaccess следующих директив:
Также производится проверка всех ссылок на сайте на предмет явного использования протокола HTTP. При наличии элементов, открывающихся по небезопасному протоколу, соединение будет считаться недоверенным, и информация об этом отобразится в адресной строке.
Проверить страницы сайта можно с помощью следующего сервиса.
При наличии элементов, доступных только по протоколу HTTP, ссылки на них меняются на относительные (к примеру, вместо в коде страницы ссылка должна иметь вид /content/pic.jpg ), либо явно указывается использование протокола HTTPS (в таком случае ссылка будет иметь вид «).
Также меняются ссылки для элементов, загружаемых с внешних ресурсов. Например, если на сайте используется скрипт, доступный по адресу , эта ссылка должна быть изменена на //externaldomain.us/scripts/ad.js или . Обратите внимание, что сайт, на котором расположен элемент, также должен иметь валидный SSL-сертификат.
Настройка известных CMS для работы по HTTPS
Помимо ссылок, которые явным образом указываются в коде страницы, существуют особенности при переводе различных CMS на защищенный протокол.
В конфигурационном файле (configuration.php) строка public $live_site =»»; заменяется на следующую public $live_site = ‘https://www.yourdomain.com’; где «yourdomain.com» — имя домена. Также вместо строки public $force_ssl = ‘0’; используется: public $force_ssl = ‘1’; .
В Joomla! версии 3.x. перевод сайта на протокол HTTPS может быть осуществлён автоматически в административной панели сайта в разделе Система -> Общие настройки. На вкладке Сервер в поле «Включить SSL» устанавливается значение «Весь сайт«.
В Joomla! 3.x. Русская версия для проверки работы сайта по протоколу HTTPS до указания в файле /public_html/.htaccess рекомендуемых в данной статье директив, можно внести изменения в файл /public_html/libraries/joomla/uri/uri.php, заменив строку if (isset($_SERVER[‘HTTPS’]) && !empty($_SERVER[‘HTTPS’]) && (strtolower($_SERVER[‘HTTPS’])!= ‘off’)) на if (isset($_SERVER[‘HTTP_X_FORWARDED_PROTO’]) && $_SERVER[‘HTTP_X_FORWARDED_PROTO’] == ‘https’) .
Обращаем внимание, что указанные действия производятся уже после установки сертификата на домен, иначе они могут привести к неработоспособности сайта.
В административной панели WordPress производится смена протокола в адресе сайта. Для этого в разделе «Настройки» > «Общие«, в полях «Адрес WordPress» и «Адрес сайта» протокол «http» меняется на «https».
Для быстрой и удобной настройки SSL можно воспользоваться специальным плагином Really Simple SSL Стоит заметить, что для безопасности сайта все установленные компоненты и плагины необходимо своевременно обновлять.
Работа сайта включается в административной панели сайта с использованием безопасного соединения. Сделать это можно следующим образом: Настройки > Управление масштабированием > Панель управления > Глобальные действия > Включить https.
В конфигурационном файле (/sites/default/settings.php) добавляется следующая директива $conf[‘https’] = TRUE; Также, для удобства настройки безопасного доступа к авторизованным разделам сайта рекомендуем установить модули «Auth SSL Redirect» и «Secure Login«.
Для расширенной настройки доступа к сайту по защищенному протоколу рекомендуем установить модуль «SSL 1.0.0-ga«, доступный по следующей ссылке. При использовании MODX Revolution для настройки работы сайта по https вносятся следующие изменения в конфигурационный файл core/config/config.inc.php:
После внесения изменений очищается кэш MODX.
Как указать поисковым системам, что сайт является защищенным
Компания Google рассматривает использование HTTPS на сайте в качестве фактора ранжирования. Для корректного индексирования сайта по протоколу HTTPS компания Google рекомендует соблюдать следующие правила:
Используйте относительные URL для ресурсов, которые находятся на одном защищенном домене.
Например, для перехода на страницу на вашем сайте example.com, использовать a href=»/about/ourCompany.php» предпочтительнее, чем a href=»https://example.com/about/ourCompany.php» . Это гарантирует, что ваши ссылки и ресурсы всегда будут использовать HTTPS. За счет этого также уменьшается вероятность ошибок в локальном развитии сайта, так как изображения, страницы и другие ресурсы загружаются из локальной среды разработки, а не из производственной среды.
Используйте схожие по протоколам URL-адреса для всех остальных доменов (например //petstore.example.com/dogs/biscuits.php ), или обновите ссылки своего сайта для перехода непосредственно на ресурс HTTPS.
Конструктор сайтов настройка протокола HTTPS
Изменения делаются в кострукторе сайтов, значок Настройки -> Настройки -> галочка в поле «Публикация с принудительным HTTPS» и нажать кнопку «сохранить».
Важно.
Следует понимать, что включение шифрования SSL без сертификата приведет к некорректной работе сайта..
Правильный переезд сайта с HTTP на HTTPS
Зачем переезжать
Переезд сайта
Процесс перехода по времени занимает около одного рабочего дня, а полная переиндексация поисковиками в течение 2-3 недель.
Далее следует пошаговая инструкция, как организовать грамотный переход с HTTP-протокола на HTTPS.
Подготовка к переезду на HTTPS
Так как алгоритм перехода зависит от многих первоначальных параметров — от типа хостинга до квалификации специалиста, осуществляющего перенос, — этот процесс должен проходить слаженно и по заранее согласованному плану. Чтобы сделать всё максимально быстро и не потерять в процессе позиции в ввыдаче, желательно пройти ряд этапов предварительной подготовки.
- Уточнить о поддержки хостингом SSL-сертификата. В случае, если провайдер его не поддерживает, придется менять хостинг, а соответственно и IP-адрес на новый.
- Найти специалистов для выполнения данной работы. Также следует уточнить у хостера — есть ли бесплатная или платная поддержка при «переезде».
- Позаботиться о грамотном выборе времени «переезда». Так как в процессе ресурс может временно потерять прежние позиции в поисковой выдаче, переход на HTTPS лучше осуществить в тот «сезон», когда на сайте наблюдается наименьший трафик.
Шаг 1. Делаем резервную копию сайта
Регулярный бекап файлов сайта и баз данных — обязательная часть системы безопасность любого ресурса. Но особенно актуальным резервное копирование становится при переходе на HTTPS. Вне зависимости от того, насколько успешно пойдёт процесс, у вас должна быть возможность «откатить» всё к первоначальному состоянию.
Шаг 2. Изменения в ссылках
Все внутренние ссылки сайта следует заменить с абсолютных на относительные. Делается это для того, чтобы переиндексация прошла корректно, редирект работал правильно, а на сайте после переезда не возникли ошибки в его работе.
Пример изменения
– абсолютная ссылка, меняется на: /category/base – относительную от домена и протокола.
Вместо mysite.ru впишите адрес вашего сайта.
Важно не забыть также заменить ссылки на относительные в:
- скриптах;
- адресах медиаконтента;
- атрибутах ссылок rel=”canonical” и rel=”alternate”;
- пути до карты сайта (sitemap.xml) в файле robots.txt .
Шаг 3. Покупка сертификата
Виды сертификатов
1. Простой. Для его получения нужно, чтобы домен принадлежал заказывающего его лицу. Выдается в течение нескольких минут.
2. Wildcard. Приобретается этот сертификат в случае наличия у одного доменна нескольких поддоменов. Выдается лицу, на которого он оформлен.
3. EV (Extended Validation). Перед его выдачей будет произведена полная проверка, заказывающей сертификат организации, на наличие всех необходимых документов подтверждающих ее деятельность. Наличие в whois домена названия вашей организации. Это может занять определенное время. Получившие этот сертификат будут иметь возможность отображения в адресной строке названия компании зеленым цветом, тем самым вызывая доверие у потенциальных клиентов.
4. Мультидоменные SSL. Этот сертификат поддерживает несколько доменов. Подойдет для организаций, которые хотят иметь несколько доменных имен.
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 %
RewriteRule^(.*)$ https://mysite.ru [R=301,L]
Вместо https://mysite.ru впишите адрес вашего сайта.
Затем следует открыть robots.txt, и настроить директивы Host и Sitemap. Выглядеть эти строки будут так:
Host: https://mysite.ru;
Sitemap:
Вместо mysite.ru впишите адрес вашего сайта.
Подробнее о том, как правильно настроить 301 редирект в наиболее распространенных случаях, а также в разных CMS и панелях управления можно почитать здесь.
Шаг 6. Завершение
К сожалению, после завершения всех предыдущих этапов владельцы ресурсов часто замечают, что после перехода на HTTPS упали позиции и уменьшилась посещаемость сайта. Это во многом происходит из-за того, что поисковые системы ещё не оповещены о переходе на новый протокол. Чтобы минимизировать эту угрозу, следует заново добавить сайт в панели инструментов для вебмастеров и вновь произвести необходимые настройки.
В Google Search Console и Яндекс.Вебмастер нужно перенести со старого протокола на HTTPS-версию:
- внутренние ссылки;
- robots.txt;
- rel=”canonical” и rel=”alternate”;
- sitemap.xml;
- геотаргетинг;
- метатеги реферального трафика.
После всех произведенных манипуляций остается только ждать переиндексации сайта. Иногда процесс занимает несколько недель.
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Правильный переезд сайта с http на https без потери позиций и трафика
Вчера решил, что хватит это терпеть и пора перевести свой сайт с http на https. По случаю решил описать весь процесс, как я его делаю. Честно говоря преследую этим еще одну цель — когда меня в очередной раз попросят помочь переехать на https, я просто дам ссылку на подробное руководство.
HTTP, HTTP/2, HTTPS, SSL — о чем речь?
Hypertext Transfer Protocol (HTTP) — это основном протокол связи, который используется на любом сайте для установки соединения.
HTTP/2 — более современный протокол, в котором добавлены увеличивающие производительность и безопасность.
HTTPS — расширение протокола HTTP, которое поддерживает шифрование.
Secure Sockets Layer (SSL) — криптографический протокол для безопасной связи.
Переход на https — зачем мне это?
Я бы выделил 4 причины:
- Забота о безопасности данных: сейчас по этой теме сходят все с ума (раньше все клали с пробором, но теперь…). Для сайтов работающих с деньгами и онлайн оплатой — это острая необходимость, т.к. шифруются все данные. Для простых информационных ресурсов — вас все равно заставят перейти на https, т.ч. выбора особо нет.
- Это фактор ранжирования: и Яндекс и Google открыто об этом говорили. Если раньше только Гугл заставлял переводить сайты на https, то сейчас за это взялось зеркало Рунета и с 24 января 2019 года в вебмастере уже многие увидели предупреждение:
Предупреждение в Яндекс Вебмастере
Т.е. это благотворно скажется на ваших позициях и трафике с поисковых систем (на самом деле нет, чаще вообще никак не скажется ? )
Больше доверия со стороны пользователей. Когда посетитель видит в браузере метку:
Меня это не пугает и я все равно юзаю сервис ?
Это может его отпугнуть/насторожить, особенно если это человек не сильно понимающий сути происходящего.
Ну а теперь перейдем к пошаговому плану по переходу с http на защищенный протокол https.
Шаг 1: Подготовка сайта
Многих сложностей может не быть вообще, если изначально за сайтом следили и делали все чисто и без костылей.
Любое вмешательство в жизнь сайта (если это не простые действия с контентом или вы не самоуверенный программист) начинается с бэкапа, т.к. в случае появления проблем — вы быстро восстанавливаете данные и программист уходит все делать на своем серваке.
Относительные ссылки
Когда на сайте абсолютные ссылки вида — это может быть проблемой, т.к. их нужно:
- Либо заменить на относительные вида /page-name;
- Либо в абсолютных заменить протокол на https.
Я бы выбирал 1 вариант, т.к. он более гибкий и пригодится не только в решении текущей задачи. Однако и там есть свои минусы, но это не тема данной статьи.
Уверен, на любом сайте вы найдете волшебную таблетку (пример замены домена в статьях):
Пример замены домена через SQL-запрос: кто-то его проверял?
Почему люди везде это пишут — хз, видимо никто не проверял работоспособность т.к. этот вариант просто не работает. SQL запрос не может заменить домен в ячейке, содержащей целый текст, т.к. это просто замена в лоб (как в Excel). Т.е. вы не можете заменить ячейку, если она не равняется вашему тексту (читай, ячейка = текст и ничего более).
Но у нас же в ячейках текст статей в html формате.
Даю 2 рабочих вариант:
- Для понимающих (хотя им не нужно объяснять). Идем в PhpMyAdmin, экспортируем нашу базу данных (или конкретную таблицу, в которой нужно сделать изменения). Далее открываем редактором типа Sublime или Notepad++ и через замену все меняем. Далее импортируем исправленный вариант обратно в нашу базу данных.
- Чтобы не накосячить. Во многих CMS есть плагины, которые с помощью регулярок могут делать замены (да и без них). Например, для WordPress есть хороший плагин Search Regex — который быстро и без проблем поможет сделать замену в тех местах, в которых это нужно.
Пример работы плагина Search Regex
Все пути к файлам и изображениям также должны быть изменены.
Адрес сайта
В CMS нужно изменить адрес вашего сайта на корректный, в WordPress это делается так:
Замена домена в админке WordPress
Внешние скрипты
Все внешние скрипты должны подключаться строго через https, т.к. в противном случае у вас будет смешанный протокол.
Чтобы убедиться — смотрите страницы через режим исходного кода и проходитесь поиском или любой краулер аля Screaming Frog, Netpeak и т.д.
Robots.txt и Sitemap.xml
В robots.txt чаще всего не нужно никаких изменений вносить (раньше нужно было добавить директиву для Яндекса: host: https://romanus.ru — но теперь это уже не нужно), кроме замены пути для sitemap.xml.
В самой карте сайта нужно изменить все ссылки. Если она у вас выводится автоматом + все ссылки в базе данных вы изменили — чаще всего никаких доработок не понадобится. Но лучше перепроверить:
В sitemap.xml не должно быть ссылок на незащищенный протокол
P.S. Многие рекомендуют делать исключения в .htaccess, чтобы robots.txt открывался по 2 протоколам. Я не делаю этого — проблем не замечал, но держу вас в курсе.
Шаг 2: Покупка SSL сертификата
Прежде чем приобретать SSL нам нужно определиться с нашими потребностями.
Все сертификаты выдаются для 1 домена:
- С проверкой домена (DV): отлично подойдет для блогов, сайтов-визиток, интернет-магазинов и любых сайтов, для которых важно само наличие SSL. Стоит дешево, выдается быстро., замок показывается в браузере.
- С проверкой компании (OV): вариант для тех, кому важно большее доверие, т.к. центр сертификации проверяет принадлежность компании к домену. Нужно крупным компаниям и магазинам. Делается за 3 дня.
- С расширенной проверкой (EV): максимальное доверие к компании, т.к. выдается только юридическим лицам и центр сертификации проверяет больше данных. Делается за 7-10 дней, стоит дорого, но вы получаете в браузере вывод вашей компании:
Пример отображения в браузере EV сертификата
Если у вас много поддоменов и вы хотите их перевести на https — стоит обратить внимание на сертификаты с пометкой Wildcard (количество поддоменов неограниченно).
Активация https для домена
После того, как вы решили какой тип сертификата вам нужен, купили его (свои сертификаты я покупал на gogetssl.com, а для блога решил потестить бесплатный Let’s Encrypt) и не забыли сохранить все ключи, которые вам были даны — самое время привязать все к вашему домену.
После активации домена он должен пройти валидацию:
Валидация домена пройдена
Все, теперь можно переходить к следующему шагу.
Бесплатный SSL от Let’s Encrypt
Let’s Ecnrypt — это некоммерческий центр сертификации. Вы можете без проблем взять их бесплатный сертификат, если вам важно само наличие https.
Яндекс и Google (а также браузеры) нормально относятся к нему, т.е. никаких трудностей у вас не будет.
У хостеров бесплатный сертификат подключается за 1 минуту
На многих хостингах можно буквально за минуту подключить бесплатный SSL.
Установка SSL на примере FastVPS
У вас есть ключи и все что вам нужно сделать — это добавить их в панели своего хостинга.
Просто вставить в поля свои ключи от центра сертификации
Шаг 3: Оповещаем поисковые системы
После покупки и установки сертификата на подготовленный сайт мы можем оповестить о наших действиях поисковые системы Яндекс и Google в их кабинетах.
Яндекс.Вебмастер
- Добавляем версию с https в панель вебмастера;
- На старом зеркале с http заходим в переезд сайта и ставим галочку;
- Залить новую карту сайта;
- Не забыть поставить регион
Меняем зеркало в Яндекс Вебмастере
По сути в Яндексе переезд на https осуществляется 1 галочкой + перенести свежие данные.
Google Search Console
Самое страшное, что может произойти во время переезда сайта на https в Гугл — забыть перенести Disavow файл, потому краткий чек-лист:
- Добавить новое зеркало с https;
- Если у вас были отклонены ссылки через Disavow Links — нужно обязательно обновить данные;
- Добавить карту сайта;
Шаг 4: 301-редирект с http на https
Здесь все сложно и просто одновременно. Подробная статья о 301 редиректах с примерами, рекомендую изучить.
Скорее всего вам подойдет один из вариантов:
Если варианты не подошли — дергаем программиста с просьбой “склеить 301 редиректом все страницы на http со страницами на https” соответственно.
Шаг 5: Ожидание переиндексации
Если вы нигде не накосячили то склейка происходит довольно быстро: 1-2 недели в Google и 2-4 недели в Яндексе.
- Если у вас были скрипты репостов — они будут показывать 0, т.к. http и https это 2 разные версии;
- Сайт временно может падать по трафику и позициям в момент склейки. После всей процедуры с большей вероятностью все восстановится;
- Ссылки будут переклеены в среднем от 4 недель до пары месяцев;
Вроде все страхи описал.
Поздравляю, теперь у вас рабочий сайт на https, проверить можно на https://www.ssllabs.com/ssltest/:
Проверка корректности SSL
13 популярных ошибок при переходе сайта на https
Пишу самые популярные моменты, которые знаю из своего опыта или опыта коллег:
- Сделать 302 редирект вместо 301 для склейки версий http с https;
- Сделать редирект всех внутренних страниц на главную;
- Допустить цикличные редиректы;
- Забыл, что твой сайт без www, но склеить с ;
- Забыл прописать новый путь для sitemap.xml;
- Пропустил этап с заменой абсолютных ссылок;
- Не изменил урлы в скриптах и медиа-контенте;
- В карте сайта указаны урлы на версию с http;
- Описался при наборе домена при получении сертификата;
- Может сломаться 1С, если забыли обновить данные;
- Сайт интегрирован с различными API и вы забыли изменить адреса;
- Косяки с rel=”canonical” на старые страницы;
- Не очистил кэш и начал сам себе выдумывать проблемы.
А с какими косяками вы сталкивались?
Ответы на несколько вопросов
Напоследок несколько популярных вопросов, которые могут всплыть:
Почему сам тянул с переездом на https?
Я все никак не могу взяться за свои проекты (это видно по дате последних постов и съемки видео на канале), ну и решающим моментом стало оповещение Яндекса о том, что уже пора бы.
Могу ли я потерять посещаемость?
Да. Любые действия с сайтом в теории могут негативно повлиять на трафик. Но чаще проблем не бывает, если нигде не напортачил.
После перехода на https упали позиции, что делать?
Это тоже нормально. От момента переезда я обычно засекаю 3-4 недели (примерно) и не обращаю внимания на колебания. По истечении этого срока уже должна произойти склейка (в вебмастере зеркала будут слеплены вместе) и тогда можно делать какие-то выводы. Чаще всего все восстанавливается и иногда даже с плюсом.
Я хочу ЧПУ и SSL — в какой последовательности делать
Очень скользкий вопрос, сродни «Какой рукой открывать дверь: правой или левой?». Я опасный и потому делаю все сразу за 1 раз :). Проблем вроде не было, но склейка была дольше.
Настройка сайта для работы по HTTPS
После установки SSL-сертификата необходимо настроить перенаправление всех запросов с протокола HTTP на HTTPS. Сделать это можно с помощью директив в файле .htaccess.
Чтобы настроить перенаправление c HTTP на HTTPS на хостинге RU-CENTER:
1. Перейдите в раздел Файловый менеджер панели управления хостингом.
2. Выберите папку с названием сайта, на который вы установили SSL-сертификат, и перейдите в папку docs (корневой каталог).
3. На панели инструментов нажмите Создать файл и укажите название .htaccess.
4. Нажмите на созданный файл для редактирования и добавьте в него следующие директивы:
Если файл .htaccess на вашем сайте уже существует, откройте файл и добавьте указанные выше строки в его начало.
5. Сохраните изменения и проверьте работу сайта. Сайт должен открываться по HTTPS. Если сайт отображается корректно и отображается в адресной строке значок защищенного соединения, то настройка произведена корректно.
Если после настройки перенаправления сайт отображается некорректно, то это может быть связано с наличием смешанного контента (Mixed Content). В этом случае часть содержимого загружается на страницу сайта по небезопасному протоколу HTTP вместо HTTPS, что не позволяет считать страницу сайта полностью безопасной. Как правило, это можно исправить методом замены абсолютных ссылок на относительные, т.е. в каждом файле проекта поменять ссылки вида — на относительные— /content/.
6. Если на вашем сайте установлена CMS, вам необходимо произвести дополнительные действия по настройке HTTPS-соединения и оповестить поисковики об изменениях.
Рекомендуем вам обратиться к документации по CMS и выполнить следующие действия:
• для сайта на WordPress: необходимо изменить протолок сайта с HTTP на HTTPS. Изменить основной протокол сайта с HTTP на HTTPS можно в разделе Настройки → Общие настройки в панели администрирования WordPress;
• для сайта на Joomla: в панели управления CMS перейдите в раздел Общие настройки → Сервер → Включить SSL;
• для сайта на Drupal: настройте переадресацию и отредактируйте ссылки, как это описано в пунктах 1-5 этой инструкции.
• для сайта на Opencart: в панели управления CMS-сайта перейдите в раздел Сервер → Безопасность и включите опцию Использовать SSL и добавьте ключ шифрования конфиденциальной информации при обработке заказа.
• для сайта на MODX: в панели управления сайта перейдите в раздел Системные настройки → Система и сервер, найдите тип сервера и измените протокол на HTTPS.
7. Если настройки для SEO уже сделаны, нужно произвести дополнительные действия по настройке HTTPS-соединения.
Для этого отредактируйте файл robots.txt, указав протокол HTTPS в директивах Host и sitemap :
Host :
sitemap :
8. Оповестите поисковые системы об изменениях на вашем сайте после завершения настройки HTTPS-соединения:
• перейдите в Яндекс.Вебмастер в раздел Индексирование → Переезд сайта и установите отметку в поле Добавить HTTPS.
• зайдите в Google Search Console и добавьте версию сайта с HTTPS.