В последнее время многие вебмастера озаботились переездом с обычного протокола на безопасный. Вследствие чего у всех возникает вопрос, как перевести сайт на WordPress с http на https.
В первую очередь этот пост я пишу для себя, чтобы каждый раз при переводе сайта с http на https не вспоминать весь алгоритм действий заново. Но надеюсь, что этот материал окажется полезен кому-то еще.
Все мои сайты хранятся на выделенном сервере с установленным для удобства использования ISPmanager. Вы же можете ходить на сервер через консоль или вообще держать сайт на обычном shared хостинге, и тогда некоторые действия могут слегка отличаться.
Создаем сертификат
Я пользуюсь бесплатным Let’s Encrypt, который можно добавить как модуль в ISPmanager.
Для создания сертификата необходимо чтобы у пользователя, в котором находится сайт, было разрешение создавать SSL. Для этого в ISP Manager нужно зайти в Учетные записи — Пользователи, далее выделить пользователя, нажать «Изменить» и в появившемся окне поставить галку «Может использовать SSL» и нажать «Ок».
После чего идем в Настройки web-сервера — SSL-сертификаты и жмем кнопку «Let’s Encrypt», выбираем имя пользователя, после чего все данные автоматически проставятся и жмем ок. Все, сертификат получен!

PS. Первое время тип сертификата будет «Самоподписанный» так как он в процессе получения. Обычно он получается в течение 5-10 минут, так что можно сразу переходить к следующим пунктам переноса.
Добавляем в wp-config код
Чтобы это сделать, необходимо зайти в корень вашего сайта, найти файл wp-config.php и любым текстовым редактором внести в него следующий код:
/** Вход в админку WordPress только через https */
define('FORCE_SSL_ADMIN', true);
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
Меняем протокол в админке сайта
Далее в «общих» настройках в полях Адрес WordPress и Адрес сайта меняем http на https. После нажатия кнопки «Сохранить изменения» понадобится заново залогиниться, не пугайтесь.
Меняем во внутренних ссылках http на https
Это легко сделать с помощью SQL запроса в базе данных вашего сайта. Для чего необходимо зайти в phpMyAdmin, выбрать вашу базу данных, перейти во вкладку SQL и туда ввести нужный запрос и нажать «вперед».

Вот пример такого запроса с моим доменом (вам соответственно необходимо подставить свой):
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://pznone.ru', 'https://pznone.ru');
Или же, как вариант, можно сразу сделать все ссылки относительными:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://pznone.ru/', '/');
Правим robots.txt
В robots.txt в директивах Host и Sitemap меняем http на https.
Настраиваем редирект с http на https
Чтобы страницы быстрее склеились необходимо настроить редирект с http на https.
В ISPmanager это можно сделать так www-домены — выбрать нужный и нажать «изменить» — галку на «Перенаправлять HTTP-запросы в HTTPS» — «ок».
Также это можно сделать и через .htaccess:
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Переезд в Яндекс.Вебмастер
Заходим в Яндекс.Вебмастер — Индексирование — Переезд сайта, ставим галку на «Добавить HTTPS» и жмем «Сохранить».
Изменения в Google Search Console
Сначала необходимо удалить старый сайт с http через Настройки — Удалить ресурс, а после уже можно добавить новый с https.
Возможные ошибки
Если страницы сайта открываются через https, но браузер ругается, то нажмите на замочек и там будет указана причина. Чаще всего это из-за того, что на странице остались какие-то изображения или ссылки с http.
Чтобы это проверить, открываем код страницы, вводим в поисковую строку http://. Далее смотрим какие наши файлы подгружаются не по безопасному протоколу. Это могут быть ссылки в меню, логотипы, а также какие-нибудь картинки, добавленные вручную в сайдбар.
Заключение
Надеюсь, что эта статья была полезна и теперь вы знаете как перевести сайт на WordPress с http на https.