Наконец-то разобрался с правильной настройкой протокола 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, если они вдруг придут с поисковика на эту страницу. При этом не портится защищенный доступ к админке и странице логина.