Как настроить редирект с http на https в WordPress

Различия между http и https

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

Https зашифровывает весь поток информации, которой сайт обменивается с браузером. Благодаря этому третьим лицам не удастся перехватить банковские реквизиты, данные для доступа, электронные почтовые адреса и номера телефонов. Стоить SSL сертификат может порядка нескольких тысяч рублей. С различным уровнем подтверждения данных. Воронка цен слишком велика, чтобы говорить о конкретных цифрах.

 

Где можно изменить адрес сайта для HTTPS ?

В админке сайта заходим в «Настройки» => «Общие»

Переходим в общие настройки WordPress

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

редирект с http на https wordpress

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

 

Что-то пошло не так и на сайт нельзя зайти

В данном случае следует вернуть все обратно и поискать причину сбоя в установленных плагинах или в одном из файлов темы – functions.php.  Отправляемся в wp-config.php и вставляем значения:

define('WP_HOME','http://clearfy.pro'); 

define('WP_SITEURL','http://clearfy.pro');

clearfy.pro в данном случае пример. Вместо этого URL должен быть адрес вашего сайта с протоколом http.

Займемся поиском причины сбоя. Деактивируйте плагины один за одним, удалите данные, веденные ранее в wp-config.php. Если сайт не починился, то поменяйте тему на одну из стандартных. Проверьте снова.  Если ситуация не прояснилась, то проверьте файл .htaccess. Возможно источник проблем в нем.

 

Редирект с http на https WordPress

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

Не торопитесь с настраивать редирект редирект с http на https wordpress. Если к примеру для Гугла это можно сделать сразу, то с Яндексом следует повременить, дождавшись объединения доменов.

Откройте .htaccess и в начале файла вставьте следующие данные:

RewriteEngine On 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)\ HTTP/ [NC] 

RewriteCond %{HTTPS} off [NC] 

RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}%{QUERY_STRING} [R=301,QSA,L]

Если это не помогло, то попробуйте Вариант №1. Тут мы настраиваем 301 редирект в серверной части:

RewriteEngine On 

RewriteCond %{HTTPS} =off 

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Вариант №2, используя php:

add_action('init', 'redirect_http_to_https'); 

function redirect_http_to_https(){ 

if( is_ssl() ) return; 

if ( 0 === strpos($_SERVER['REQUEST_URI'], 'http') ) 

wp_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ), 301 ); 

else 

wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 ); 

exit; 

}

Этот код лучше ввести в файле functions.php темы сайта. Иначе, поменяв тему у вас слетят настройки всех редиректов. Для решения проблемы годятся все способы из перечисленных. Однако Вариант №1 считается более удачным, так как лучше, чтобы сервер обрабатывал запросы, а не PHP.

 

Последствия перехода на SSL для SEO

Обязательно измените URL сайта в файле robots.txt и укажите, что следует теперь считать новым основным зеркалом в панели вебмастера поисковиков. Ведь, как правило, позиции сайта и трафик после перехода с одного протокола на другой понижаются. Но это временные последствия. Таким образом, чем раньше произойдет переход, тем меньше потерь для SEO. Но нельзя не отметить, что Google способствует продвижению сайтов с сертификатом HTTPS.

 

Правила перехода без потери позиций

  1. Проверяем, корректно ли работают страницы после получения SSL сертификата.
  2. В панель разработчика «Яндекс.Вебмастер» вносим сайт с новым URL
  3. Настраиваем 301 редирект с http на https wordpress
  4. По аналоги с Яндексом, вносим сайт с протоколом https в Google Search Console.