5 февраля 2020 WordPress
После того, как сертификат установлен на сервере, необходимо произвести ряд манипуляций, чтобы сайт стал доступен по https и настроить переадресацию с http на https протокол.
1. Изменяем ссылки в базе данных.
Первым делом необходимо изменить все ссылки с http на https в базе WordPress. В phpMyAdmin или Adminer нужно выбрать используемую базу данных и перейти во вкладку SQL. Далее необходимо выполнить 3 основных запроса к базе данных для изменения домена с http на https. Принцип тот же, что и при переносе сайта на другой домен.
UPDATE wp_options SET option_value = REPLACE(option_value, 'https://it-blog.ru', 'https://it-blog.ru') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET post_content = REPLACE (post_content, 'https://it-blog.ru', 'https://it-blog.ru'); UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'https://it-blog.ru','https://it-blog.ru');
Это основные манипуляции для перехода, но в базе данных по прежнему могут остаться данные домена с http. Поэтому нужно сделать еще несколько запросов.
Обновляем guid
guid используется как глобальный идентификатор в RSS.
Аналогично предыдущим 3 запросам выполняем еще один:
UPDATE wp_posts SET guid = REPLACE (guid, 'http://it-blog.ru', 'https://it-blog.ru') WHERE post_type = 'attachment';
Обновляем домен с http в комментариях
Ссылки на домен c http могут остаться в комментариях, поэтому делаем еще пару запросов:
UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'https://it-blog.ru', 'https://it-blog.ru'); UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'https://it-blog.ru', 'https://it-blog.ru');
В базе так же могут остаться и другие таблицы с указанием домена c http. Можно проверить это воспользовавшись поиском в phpMyAdmin. В строку поиска вводим адрес сайта с http и выбираем все таблицы.
2. Редирект всех страниц с http на https на WordPress.
Чтобы не осталось дублей страниц с http и сайт всегда открывался с защищенным соединением https необходимо настроить 301 редирект. Для этого открываем на редактирование файл .htaccess из корня сайта. И добавляем туда следующие строки после RewriteEngine On
:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Итоговый файл .htaccess:
# BEGIN WordPress RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
Если после изменения файла .htaccess возникает ошибка «Сайт выполнил переадресацию слишком много раз», то в 99% случаев на хостинге уже стоит переадресация и менять ничего не нужно.
3. Изменение robots.txt
Не забываем поменять ссылки с http на https в файле robots.txt. В директиве Host:
обязательно указываем ссылку на сайт с https.