Правильный переезд сайта WordPress на HTTPS

Защищенный протокол HTTPS сегодня стал стандартом де-факто, и если ваш сайт еще не перешел на HTTPS, то, наверное, сейчас самое время задуматься об этом переезде. Ведь уже летом браузер Google Chrome будет помечать все не-HTTPS сайты как небезопасные.

Защищенный протокол HTTPS сегодня стал стандартом де-факто, и если ваш сайт еще не перешел на HTTPS, то, наверное, сейчас самое время задуматься об этом переезде. Ведь уже летом браузер Google Chrome будет помечать все не-HTTPS сайты как небезопасные. Кроме того:

В принципе, последовательность перехода на HTTPS достаточно хорошо описана во многих источниках, например, у Яндекса. Но для нас важно обеспечить эти рекомендации на стороне WordPress. Здесь мы опустим процесс получения сертификата и настройки веб-сервера, предполагается, что вы всё это уже сделали, и сервер уже обеспечивает подключение по HTTPS.

Проблема в том, что при стандартной настройке WP можно выбрать главным ИЛИ https ИЛИ http версию сайта, а Яндекс рекомендует обеспечить обе версии одновременно пока происходит склейка зеркал (до 3 — 4 недель), при этом карта сайта должна быть однозначно HTTPS-версии.

Стандартными настройками WordPress этого не сделать, поэтому вот небольшой фрагмент кода, который нужно разместить в начале файла wp-config.php вашего сайта. Этот фрагмент кода реализует требования, описанные выше:

  1. Обеспечивает доступность обоих версий сайта (HTTP и HTTPS) одновременно
  2. По умолчанию указывает ядру WP, что HTTPS версия основная, то есть, карты сайта генерируются для HTTPS-версии
  3. Принудительно включает HTTPS при обращении к адмнике сайта.

 

/**
* Разместите этот код в начале файла wp-config.php
*/
function isSecure() {
return
(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
|| $_SERVER['SERVER_PORT'] == 443;
}
 
$web_site     = 'www.mysite.ru';   // Укажите здесь главное зеркало вашего сайта (с www или без www)
$schema       = isSecure() ? 'https://' : 'http://';
$web_site_url = $schema . $web_site;
define('WP_HOME',    $web_site_url);
define('WP_SITEURL', $web_site_url);
define('FORCE_SSL_ADMIN', true);

После того, как переезд на HTTPS будет завершен, этот код можно убрать и указать HTTPS как основную штатными средствами WordPress.

Стандартное изображение
Иван Никитин
Иван Никитин -- основатель и директор компании «Иван Никитин и партнеры» специалист в области интернет-маркетинга и веб-аналитики с более чем 15-летним стажем. Он реализовывал сотню проектов по внедрению систем аналитики. Компания Ивана существует с 2011 года и десять лет занимается веб-аналитикой: от простых задач внедрения аналитических средств на сайт до действительно сложных решений data-driven маркетинга. Интересные факты: ✔️ До основания своей компании Иван двенадцать лет преподавал ряд курсов, связанных с веб-программированием и аналитикой, в ЦКО «Специалист» при МГТУ им. Баумана. ✔️ Около 80% клиентов Ивана, получив решение, возвращаются со следующей задачей. И наша компания за все время существования ни разу не давала рекламу! ✔️ Автор курсов по аналитике, которые по сей день читаются во многих учебных заведениях: РАНХиГС при Президенте РФ в программе MBA Executive, ALMA University, Центр Мастеров, Учебный центр РРС и другие.
Статей: 641

Добавить комментарий