Как сделать перенаправление с http на https

Добавил пользователь Cypher
Обновлено: 04.10.2024

Итак, приступим. Что же нужно сделать, чтобы переехать на защищенный протокол.

1. Создать резервную копию файлов и баз данных

Во-первых, вы сможете восстановить данные, если что-то пойдёт не так.

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

Как создать копию сайта, чтобы потренироваться

2. Перенесите копии файлов и баз данных вашего сайта на тестовый поддомен.

4. Чтобы не покупать сертификат для тестового переезда, рекомендуем подключить бесплатный сертификат от Let's Encrypt.

2. Выбрать SSL-сертификат

Мы советуем заранее выбрать сертификат, ведь его получение может занять не один день. Так, на выпуск сертификата с проверкой организации (OV) может уйти до 5 дней.

Чтобы определиться в выборе SSL-сертификата, ориентируйтесь на то, какой тип сертификата подойдёт вашему проекту и какая цена является для вас оптимальной.

3. Подготовить сайт

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

Какие бывают ссылки:

Внешние ведут с вашего сайта на другие ресурсы.

Внутренние — переводят с одной страницы на другую внутри сайта.

Также ссылки делятся на абсолютные и относительные.

Абсолютные ссылки представляют собой полный URL , с указанием протокола, домена и пути до каталога или файла.

Пример:

Относительные ссылки — по своей сути лишь часть URL , неполный путь к определенному файлу. Путь такой ссылки высчитывается относительно чего-либо, например, корневой директории домена или протокола.

Пример:

Что же нужно сделать?

3.1. Все внутренние ссылки изменить с абсолютных на относительные

Как изменить ссылки

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

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

Современные CMS сохраняют содержимое страниц в базу, поэтому чаще всего ссылки хранятся в базе данных сайта. Чтобы заменить их вручную, можно использовать phpMyAdmin с удобным поиском по базе. Тем более, что он доступен в панели ISPManager.

Есть и другие способы:

- Вручную просмотреть все файлы сайта, скрипты и т.д.: откройте их в текстовом редакторе, типа NotePad++, и при помощи функции поиска и замены приведите все ссылки к нужному виду. Этот вариант подходит тем, чей проект содержит до 4-5 страниц, имеет мало активного содержимого и не имеет базы данных как таковой.

В статье способы рассматриваются как альтернативные, однако для некоторых веб-сайтов придется использовать не один способ, а два или больше. Например, отдельно поменять ссылки в CMS, отдельно — в базе данных и вручную переписать ссылки в коде сайта.

4. Установить SSL-сертификат

Установка сертификата — несложный процесс, но имеет свои нюансы в зависимости от того, какой сертификат вы устанавливаете — платный от известного центра или бесплатный Let’s Encrypt. Если вы обслуживаетесь у нас и используете панель ISPmanager, то можете воспользоваться готовой инструкцией по установке сертификата для любого сайта или для окружения Битрикс. Если возникли сложности, напишите в техническую поддержку, и мы поможем вам с установкой.

5. Проверить работу сайта



Понятно, что проверить вручную все страницы сайта получится не всегда. Тогда, чтобы убедиться, что все страницы загружаются корректно, используйте бесплатные средства SEO-аудита от Яндекс.Вебмастера и Google Search Console. С их помощью можно проверить, верно ли указаны ссылки, а ещё, что тоже пригодится, как отрабатывает редирект, правильно ли сформированы robots.txt и sitemap.xml . Для более детального SEO-анализа можем порекомендовать такие инструменты как, как Netpeak Spider или Screaming Frog .

6. Настроить редирект

7. Внести изменения в файл robots.txt и sitemap.xml

Файл robots.txt — это текстовый документ, размещённый в корне сайта, в котором прописываются параметры управления индексацией сайта. И в нём нам надо изменить следующие адреса:

Было:

Стало:

Меняем ссылку на sitemap.xml.

Было:

Стало:

Sitemap — это, как следует из названия, карта сайта для поисковых систем, которая ускоряет процесс индексации. Это файл в формате XML, размещённый в корне сайта и содержащий адреса всех страниц сайта.

Файл sitemap.xml необходимо заново сгенерировать. Это можно сделать при помощи онлайн-ресурсов или через плагины CMS. После создания новой карты сайта, нужно загрузить её в корневую директорию ресурса.

8. Изменить адрес сайта на стороне поисковых систем

Для Яндекс.Вебмастера




Для Google Search Console


Apache

Откройте файл .htaccess для редактирования и допишите в него следующий блок:

Nginx

Откройте конфигурационный файл веб-сервера Nginx для редактирования.

Если вы производите настройки перенаправления первый раз, то создайте в этом файле следующие секции:

Если основная секция домена уже создана, то удалите из нее строку

и добавьте новую секцию:

Если вторая секция (с основными настройками домена) существует, то внесите в нее изменения, добавив две указанные выше строки.

Робот Яндекса воспринимает такие адреса как разные сайты. Поэтому они могут участвовать в поиске как отдельные сайты. Это может приводить к тому, что адреса начинают конкурировать между собой в результатах поиска. Следовательно один из адресов может терять трафик и не занимать желаемых позиций. Такая ситуация может сохранятся, пока робот не отследит, что на сайтах представлен одинаковый контент. Тогда они будут объединены в группу зеркал.

При объединении главное зеркало будет выбрано автоматически — адрес, который продолжит участвовать в поиске. Вы можете ускорить процесс объединения и указать главное зеркало, следуя инструкции ниже.

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

Посетители Ваших сайтов будут уверены в конфиденциальности данных и достоверности страниц, а как дополнительное преимущество использования SSL — большее доверие пользователей к сайту и более высокие позиции в поисковых системах!

Как заказать бесплатный SSL-сертификат из панели управления?



  1. После заказа SSL-сертификата вы получите письмо на контактный email о подаче заявки на выпуск SSL, а затем еще одно письмо о завершении его установки.
  2. В момент установки для домена будет автоматически изменена A-запись, если домен работает на наших DNS. Если вы используете не наши DNS, необходимо самостоятельно прописать на них указанный в письме IP-адрес в качестве А-записи для домена.

Как настроить переадресацию?

WordPress

Joomla

OpenCart

DLE

PrestaShop

ModX Revo

ModX Evo

Drupal

1С-Битрикс


Другие CMS / Без CMS

Другие CMS / Без CMS



После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

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

Настройка переадресации для WordPress

По завершении операции WP CLI выведет информацию о количестве замен в каждой таблице базы и сообщит, сколько всего замен было произведено (в нашем примере — 20):



После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  1. Очистите кэш сайта.
    Используйте WP CLI: подключитесь по SSH, перейдите в каталог с файлами сайта и введите команду wp cache flush.
  1. Проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.

Настройка переадресации для Joomla




После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

Настройка переадресации для OpenCart





После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  1. Очистите кэш сайта.
    Для версий меньше 2.1.x удалите содержимое папки system/cache, для версий от 2.1.x и выше — папки system/storage/cache.
  2. Проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.

Настройка переадресации для DataLife Engine




После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

Настройка переадресации для PrestaShop




После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  1. Проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.

Настройка переадресации для ModX Revolution




После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

Настройка переадресации для ModX Evolution




После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

Настройка переадресации для Drupal



После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

Настройка переадресации для 1С-Битрикс



После этого в течение пяти минут все изменения вступят в силу и переадресация будет включена.

Можно настроить переадресацию вручную, добавив в начало файла .htaccess следующие строки:

При включении переадресации через .htaccess необходимые настройки будут работать только для динамических данных!

  1. Очистите кэш сайта.
    Удалите содержимое папок bitrix/cache и bitrix/managed_cache любым удобным способом (например, через Файловый менеджер).
  2. Проверьте работоспособность сайта.
    Зайдите на главную страницу, проверьте, как открываются страницы по ссылкам, корректно ли отображаются изображения, загружаются ли стили. Обязательно обратите внимание на значок в адресной строке браузера: он должен сигнализировать о защищенном соединении.

Как отключить переадресацию?

Отключить переадресацию можно почти так же, как и включить. Необходимо:

Шаг 3 - очистить кэш вашего сайта.
Информацию о том, как это сделать, можно прочитать в инструкции по настройке переадресации или уточнить у разработчика сайта.

Возможные проблемы при использовании SSL

Стоит обратить внимание на возможные проблемы при использовании SSL:

Переезд на https

Зачем переезжать на защищенный протокол?

Чтобы ответить на этот вопрос, сначала необходимо дать определение этому протоколу.

Но все изменилось в 2017 году, когда корпорация Google начала массово продвигать данный протокол для сайтов. Популяризация технологии состояла из следующих этапов:

Динамика перехода сайтов на https

А немного позже в Вебмастере Яндекса на части сайтов стало появляться предупреждение о том, что они не используют защищенный протокол.

Рекомендации вебмастера о переезде на https

Виды сертификатов

SSL-сертификаты классифицируют по подлинности и делятся на 3 типа:

На что еще обратить внимание

При покупке сертификата обязательно стоит обратить внимание используются ли поддомены на сайте. Если они есть, обычный SSL установится только на основной домен, а поддомены останутся незащищенными. Чтобы под каждый поддомен не получать индивидуальный сертификат, существует специальный SSL - Wildcard. Wildcard позволяет защитить несколько доменов (поддоменов) одновременно. Поэтому, если у вас крупный проект использующий поддомены или даже дополнительный домены, то выбирать следует именно Wildcard.

Получение бесплатного сертификата для сайта (Let’s Encrypt)

Поле, куда надо ввести доменное имя для получения https

На следующем экране необходимо выбрать способ верификации домена, чтобы подтвердить, что он принадлежит вам.

Способы верификации домена в сервисе

Самый простой способ - “Manual Verification” - когда в корень сайта необходимо закинуть файл подтверждения. Выбираем данный способ, скачиваем файл. В корне сайта создается папка .well-known (обязательно с точкой), внутри еще одна папка acme-challenge и в нее размещает скачанный файл подтверждения (их может быть 1 или 2). После чего нажимаем “Download SSL Certificate”.

Получение SSL сертификата в сервисе

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

Установка SSL-сертификата на хостинг

Получение SSL на sweb.ru

Заходим в него, нажимаем кнопку “Установить” и на появившейся странице выбираем один из двух способов добавления сертификата к домену - загрузка готового файла, когда надо прикрепить полученные выше данные сертификата. Сертификат для домена (.crt), приватный ключ (.key), промежуточный сертификат (.ca-bundle) - после того, как указали пути для них, нажимаем “Установить”.

Загрузка сертификата на домен в sweb.ru

Так же Sweb.ru с недавних пор позволяет получить сертификат без дополнительных манипуляций, необходимо только в разделе "SSL" нажать кнопку “Установить” и выбрать пункт "Let's Encrypt" и домен, на который его установить.

Получение сертификата Let

Установка SSL в панели управления Timeweb

Заходим в раздел SSL-сертификаты.

Установка SSL на Таймвебе

Форма для установки https на Таймвебе

Для хостинга на Beget даже не требуется телодвижений с получением файлов для установки SSL, чтобы поставить сертификат, достаточно перейти в “Сайты”.

Добавление сертификата в Beget

Процесс установки https в Beget

И в всплывающем окошке кликнуть на “Установить SSL сертификат”.

установка SSL в Beget

Далее, в течении суток, домену будет установлен шифрованный протокол.

Проверка корректности установки SSL-сертификата

Вбиваем в строку адрес сайта и получаем данные.

Проверка корректности SSL сертификата

Ключевое, на что стоит обратить внимание - время действия сертификата. SANs показывает количество покрываемых доменов.

Резервная копия файлов и базы данных

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

Изменение абсолютных ссылок на относительные в исходном коде

Необходимо проверить шаблоны сайта и убедиться, что все ссылки там - относительные. Такие ссылки обеспечивают протоколонезависимость страниц сайта, что делает их доступными по обоим протоколам и упрощает переклейку в поисковых системах.

Относительная ссылка: /page/.

Ссылки на внешние скрипты и картинки

Там же, в шаблонах сайта, все УРЛы на подключаемые JS-скрипты, картинки, библиотеки, шрифты и другие дополнения сразу стоит поменять на относительные. В основном они находятся в шапке и футере.

Настройка карты сайта в Битриксе для https

Редактирование URL на https в Вордпрессе

OpenCart - перевод на защищенный протокол

На FTP находим 2 файла config.php - с одинаковым названием, но разным расположением. Один в корне сайта, второй - в папке /admin/.

В обоих файлах находим строчки:

Дальше переходим в панель администрирования сайта и в настройках, во вкладке “Сервер”, указываем “Включить SSL”.

Включение SSL на ОпенКарте

ModX - тонкости настройки SSL

Смена протокола в ModX

Как и для большинства сайтов выше, в панели управления Джумлы в настройках сервера надо указать безопасный протокол для всего сайта. Путь - “Система” - “Общие настройки” - “Сервер” - поле “Включить SSL”, выбрать “для всего сайта”.

Включение SSL на Джумле

Корректировка robots.txt

Корректировка карты сайта в роботсе

Проверка и настройка sitemap.xml

Вид xml карты сайта после переезда с http на https

Проверка настройки rel="canonical"

rel=canonical на https

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

отображение https-версии в Яндекс Вебмастере

Настройка переезда на https в Яндекс Вебмастере

К сожалению, с конца 2018 года Google убрал в своем вебмастере какие-либо настройки, позволяющие указать поисковику новое главное зеркало сайта. Поэтому единственным косвенным действием является добавление и подтверждение в Google Search Console новой версии сайта на шифрованном протоколе и последующая установка 301-редиректа.

Приводим список 301-редиректов (не последовательных), практически гарантированно работающих на любом веб-сервере Apache:

Случается, что какой-нибудь стандартный вариант перенаправления прописанный в .htaccess не срабатывает, поэтому ниже приведены альтернативные варианты 301 редиректа на защищенную версию сайта.

Читайте также: