Наконец-то разобрался с правильной настройкой протокола HTTPS для блога. Итак, по пунктам:
Доступность протокола HTTPS
Проверяем, что ваш сайт доступен по адресу https://example.com. Если недоступен, тогда эта инструкция вам не подходит.
Поисковые роботы
Создаем файл robots-https.txt в корне сайта с таким содержимым:
User-agent: *
Disallow: /
Добавляем правило в .htaccess (сразу после «RewriteEngine On»):
RewriteCond %{HTTPS} on
RewriteRule ^robots\.txt$ robots-https.txt
Это запретит поисковым роботам индексировать содержимое сайт по https. По адресу https://example.com/robots.txt должно выдаваться содержимое robots-https.txt.
Доступ к админке и странице логина
Добавляем в wp-config.php:
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
Это хоть немного убережет вас от кражи паролей с помощью перехвата трафика.
Запрет HTTPS на остальных страницах блога
Добавляем правило в .htaccess (сразу после robots-https):
RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{REQUEST_URI} !^/(wp-admin/|wp-login|wp-includes/)
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
Это позволит автоматически перекидывать ваших пользователей со страниц вида https://example.com на http://example.com, если они вдруг придут с поисковика на эту страницу. При этом не портится защищенный доступ к админке и странице логина.