Настройка сайта после перехода на HTTPS

Пример для сайта на WordPress

Если вы еще не перевели свой сайт на протокол HTTPS, почитайте материал «Как перевести сайт на протокол https. Установка SSL сертификата».

Вам так же может помочь пошаговая инструкция по получению бесплатного SSL-сертификата от доменного регистратора Reg.ru.

После установки SSL-сертификата необходимо сделать несколько настроек, чтобы сайт корректно работал по протоколу HTTPS.

Почему это нужно сделать?

Во-первых, после установки сертификата ваш сайт будет доступен как по протоколу https, так и по протоколу http. Поэтому вам нужно настроить специальный редирект, чтобы все посетители сайта, даже набрав в браузере http://вашсайт.ru попадали на вариант сайта https://вашсайт.ru.  В противном случае посетитель получит предупреждение о том, что сайт небезопасен.

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

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

http://mysite.com/wp-content/uploads/2016/03/izobrajenie.jpg

Зеленым выделено имя файла, все остальное — это адрес его размещения на вашем сайте, включая указание на протокол загрузки — http.  Соответственно, когда вы это изображение помещали на страницу сайта, ссылка на подгрузку изображения выглядела именно так.

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

ВАЖНО! Прежде, чем начнете вносить изменения в свой сайт, обязательно сделайте резервную копию сайта — всех файлов и базы данных, на случай, если что-то пойдет не так и вам понадобится сделать откат к предыдущей версии.

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

Нужен ли выделенный IP-адрес для установки SSL-сертификата?

Нет, не нужен. Все будет работать и без выделенного IP. У выделенного IP-адреса, безусловно, много преимуществ, но для установки SSL его наличие не является критичным.

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

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

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

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

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

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

define(‘FORCE_SSL_ADMIN’, true);

Эта строка будет отвечать за вход в админку сайта по протоколу 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 или какие-то еще, поищите рекомендации в сети.

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

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

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

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

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

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

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

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

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

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

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

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-SSL} !^yes$
RewriteRule (.*) https://yourdomain.com/$1 [R=301,L]
</IfModule>

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

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

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

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

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

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

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

Вариант 4. Добавить в начало файла вашей WP-темы functions.php (лежит на сайте по адресу «wp-content/themes/папка-с-названием-темы») следующий код:

function force_https () {
if ( !is_ssl() ) {
  wp_redirect(‘https://’ . $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’], 301 );
  exit();
}
}
add_action ( ‘template_redirect’, ‘force_https’, 1 );
Если вы попробовали все варианты и не получили результата, вам нужно обратиться за помощью к кому-то компетентному.

5. Настройка директивы Host в файле robots.txt

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

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

6. Покажите поисковым системам новую версию сайта.

Панель вебмастера Яндекса. Выбираете нужный сайт, в меню нажимаете Индексирование / Переезд сайта. На открывшейся странице отмечаете галочкой «Добавить HTTPS» и созраняете изменения. Через какое-то время Яндекс склеит обе версии сайта.

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

Как получить SSL-сертификат от Reg.ru

Разбираемся в процессе получения и установки доверенного сертификата от регистратора доменных имен Reg.ru

Виды SSL сертификатов и где их взять

Как перевести сайт на протокол HTTPS, где взять SSL сертификат и можно ли получить его бесплатно

Pin It on Pinterest

Share This

Поделитесь полезным!

Информация была полезной? Поделитесь с друзьями!