ГлавнаяРазноеКак настроить HTTPS для WordPress

Как настроить HTTPS для WordPress

Если вы серьезно относитесь к безопасности вашего сайта и к данным ваших посетителей, то вам следует перейти на защищенный протокол HTTPS. В данной статье мы подробно рассмотрим процесс создания и подписания SSL сертификата и подключение его к сайту на WordPress.

Что такое HTTPS

HTTPS это защищенный протокол для обмена данными между вашим сайтом и его посетителями. Он позволяет шифровать весь трафик между вашим веб-сервером и браузером вашего клиента. Это предотвращает возможность злоумышленникам и интернет-провайдерам подменивать или просматривать такие данные, как пароли, номера кредитных карт, адреса электронной почты.

Для многих веб-сайтов протокол HTTPS уже давно стал стандартом (включая сайты WordPress.org и WordPress.com), а для интернет-магазинов, платежных систем, систем онлайн-банкинга и других ресурсов связанных с финансами и обработкой личных данных, HTTPS стал неотъемлемой и в некоторых случаях обязательной частью.

В августе 2014 года поисковый гигант Google объявил, что наличие поддержки протокола HTTPS уже является одним из факторов при ранжировании поисковой выдачи. Но стоит отметить, что подключив HTTPS ваш сайт не «взлетит» в поисковой выдаче, поскольку наличие HTTPS является не единственным и далеко не самым весомым фактором ранжирования, но при одинаковых прочих показателях, Google отдаст предпочтение защищенному сайту.

Следует также отметить, что HTTPS (поверх SSL/TLS) работает немного медленнее, чем обычный HTTP протокол, поскольку серверу и клиенту приходится тратить некоторое время на установление защищенного соединения и шифрование данных, но в большинстве случаев разница совсем не заметна.

SSL сертификаты

Для настройки HTTPS на вашем сайте, вам сперва потребуется приобрести SSL сертификат. Мы рекомендуем рассматривать только крупных и проверенных поставщиков SSL сертификатов, например Comodo, Thawte, VeriSign, GeoTrust и GoDaddy. Чаще всего сертификаты от этих поставщиков можно приобрести у вашего хостинг-провайдера или регистратора доменных имен.

Типы сертификатов бывают разными, например с возможностью использовать на одном домене или на нескольких, с возможностью использования на поддоменах, с различными типами шифрования данных и прочее. Цены на сертификаты в среднем начинаются от $9 в год (за самые простые сертификаты) и доходят до $400 в год и выше.

Процесс приобретения зависит от типа сертификата и поставщика. Мы рассмотрим пример с сертификатом PositiveSSL от Comodo, который можно приобрести за $9 в год у регистратора NameCheap. Такой сертификат подтверждает владение доменом и выпускается в течение нескольких часов. Некоторые более дорогие сертификаты требуют наличие юридического лица и оформление соответствующих юридических документов.

Создание и подписание SSL сертификата

Перед тем как подписать сертификат у поставщика, вам необходимо его создать. Сделать это можно с помощью утилиты openssl, которая по умолчанию присутствует в OS X и в большинстве Linux дистрибутивах. Если вы используете Windows и у вас нет SSH доступа к любому Linux серверу, то вы можете рассмотреть OpenSSL для Windows или Cygwin.

Для создания нового SSL сертификата и запрос на его подпись, воспользуйтесь следующей командой:

openssl req -nodes -newkey rsa:2048 -keyout wpmag.ru.key -out wpmag.ru.csr
Создание нового ключа в OS X

Создание нового ключа в OS X

После запуска, OpenSSL вас попросит заполнить некоторые данные о новом сертификате. При запросе Common Name (FDQN) введите ваш домен, без http:// и без www (даже если домен с www является для вас основным). После заполнения всех остальных данных у вас появится два новых файла. Для примеров мы будем использовать «wpmag.ru»:

  • wpmag.ru.key — приватный ключ к вашему новому сертификату
  • wpmag.ru.csr — запрос на подписание нового сертификата

Приватный ключ необходимо всегда хранить в тайне. Ни в коем случае не выкладывайте его в общий доступ, не пересылайте по электронной почте и не теряйте его. Файл с расширением .csr необходимо отправить на подпись поставщику SSL сертификатов.

В случае с PositiveSSL приобретенного через NameCheap перейдите в раздел SSL Certificates в панели управления и нажмите «Activate Now» рядом с вашим новым сертификатом. Обращаем ваше внимание, что у NameCheap вы можете подписать сертификат для вашего домена в зоне .ru, не зависимо от того, где вы приобрели сам домен.

На следующей странице необходимо выбрать тип используемого веб-сервера и вставить содержимое вашего файла .csr в текстовое поле:

Запрос на подпись SSL сертификата

Запрос на подпись SSL сертификата

После проверки запроса NameCheap предложит пройти процесс верификации вашего домена. Самым простым способом является верификация по электронной почте в рамках вашего домена, например admin@yourdomain.org.

После верификации домена и заполнения дополнительных данных на NameCheap, ваш сертификат отправится на подпись в Comodo и спустя несколько часов, подписанный сертификат придет вам на указанный электронный адрес. Как правило это zip-архив, содержащий несколько .crt файлов.

Для работы с веб-серверами nginx или Apache эти файлы необходимо «склеить» в один .crt файл в определенном порядке. Названия файлов в вашем случае могут отличаться, но главное, чтобы ваш сертификат (в наших примерах это wpmag.ru.crt) шел первым, а сертификат с «Root» в названии — последним.

  • wpmag.ru.crt
  • COMODORSADomainValidationSecureServerCA.crt
  • COMODORSAAddTrustCA.crt
  • AddTrustExternalCARoot.crt

Сделать это можно в любом текстовом редакторе или с помощью утилиты cat на OS X и в Linux-подобных системах:

cat wpmag.ru.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > wpmag.ru-bundle.crt

Таким образом ваш SSL сертификат (вместе с другими) будет находится в новом файле wpmag.ru-bundle.crt, а ключ к сертификату — wpmag.ru.key, который вы сгенерировали ранее. Эти два файла потребуются для настройки HTTPS на вашем сервере.

Настройка SSL сертификата на сервере

Многие хостинг-провайдеры позволяют установить новый SSL сертификат через панель управления аккаунтом. Если эта возможность доступна у вашего провайдера, рекомендуем ею воспользоваться. Если же вы администрируете ваш сервер самостоятельно, то придется вручную подключить новый сертификат к вашему веб-серверу.

Подключение SSL сертификата в nginx

В конфигурации веб-сервера nginx для вашего домена необходимо включить поддержку SSL (порт 443) и указать путь к файлам вашего сертификата:

server {
    listen              80;
    listen              443 ssl;
    server_name         wpmag.ru;
    ssl_certificate     /path/to/wpmag.ru-bundle.crt;
    ssl_certificate_key /path/to/wpmag.ru.key;
    ...
}

Убедитесь в том, что у пользователя nginx (или www-data) есть права на чтение файлов сертификата. Напоминаем, что файл .key является секретным ключом, и располагать его в общедоступном месте (например в директории htdocs, www или public_html) не следует.

После изменения файла конфигурации, перезагрузите сервис nginx.

Подключение SSL сертификата в Apache

Для работы с WordPress мы всегда рекомендуем веб-сервер nginx, но если по какой-либо причине вы все еще используете Apache, то подключить SSL сертификат можно следующими директивами внутри раздела VirtualHost или в общем разделе, в зависимости от вашей конфигурации:

SSLCertificateFile    /path/to/wpmag.ru-bundle.crt
SSLCertificateKeyFile /path/to/wpmag.ru.key

Если вы используете директиву VirtualHost, убедитесь в том, что она распространяется на 443-й порт, а не только на 80-й. После внесения изменений в конфигурацию, перезапустите сервис Apache.

Настройка HTTPS в WordPress

После внесения изменений в конфигурацию веб-сервера, ваш сайт на WordPress должен автоматически стать доступным по протоколу HTTPS, но на этом работа не завершена. Все ссылки на сайте и в административной панели продолжат использовать протокол HTTP.

Изменить основной протокол сайта с HTTP на HTTPS можно в разделе Параметры → Общие в панели администрирования WordPress.

Настройки адреса сайта в WordPress

Настройки адреса сайта в WordPress

Эти же настройки можно задать в конфигурационном файле wp-config.php с помощью констант WP_HOME и WP_SITEURL. Это может быть полезно, если вы совершили ошибку при написании домена, и сайт вдруг стал недоступным.

После внесения изменений в адрес сайта, все ссылки будут по умолчанию использовать протокол HTTPS. К сожалению это не касается тех ссылок, которые вы разместили вручную например в статьях или страницах WordPress.

Замена http на https в статьях и страницах WordPress

Если у вас небольшое количество статей и страниц на сайте, вы можете вручную отредактировать их и изменить протокол в ссылках. Для существующих сайтов с большим объемом контента, такой метод будет слишком трудозатратным, поэтому предлагаем рассмотреть две альтернативы.

Если вы используете WP-CLI, то быстро выполнить поиск с заменой можно командой search-replace:

wp search-replace 'http://wpmag.ru' 'https://wpmag.ru'

Второй альтернативой является PHP-скрипт Search Replace DB, который также выполняет поиск с заменой, но предоставляет при этом графический интерфейс.

Использовать поиск с заменой напрямую в базе данных MySQL (в том числе и на файлах экспорта) мы не рекомендуем, поскольку некоторые данные WordPress хранит в сериализованных массивах, и подобные данные портятся при смене длинны строк (https длиннее чем http).

В любом случае, перед любыми манипуляциями с базой данных, советуем сделать резервную копию. После поиска с заменой, зайдите на ваш сайт и убедитесь в том, что все старые ссылки начинаются с https://.

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

Последним шагом в настройке HTTPS является закрытие вашего HTTP сайта и перенаправление всего трафика на новый протокол с шифрованием. Сделать это надежнее всего на уровне веб-сервера.

В nginx необходимо разбить директиву server на два блока. Первый будет слушать 80-й порт и перенаправлять трафик на HTTPS, а второй (основной) блок будет выполнять запросы по 443 порту (не забудьте убрать 80-й из основного блока).

server {
    listen 80;
    server_name wpmag.ru;
    rewrite ^(.*) https://$host$1 permanent;
}

server {
    listen      443 ssl;
    server_name wpmag.ru;
    ...
}

В Apache внутри директивы VirtualHost, в общем разделе или в подключаемом файле .htaccess можно добавить следующее условие для редиректа на HTTPS:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

После внесения изменений в конфигурацию, не забудьте перезагрузить веб-сервер.

Проверка правильности настройки HTTPS

Самой частой проблемой при настройки HTTPS в WordPress являются ссылки и ресурсы, загружаемые по протоколу HTTP. Например, если вы вставили изображение или JavaScript файл по протоколу HTTP, то по умолчанию он не будет исполняться. В таком случае надежнее всего загрузить данный файл на собственный сайт, и встроить его используя протокол HTTPS или с помощью протоколо-независимого формата //example.org/path/to/file.js.

В адресной строке браузеров Google Chrome и Firefox появятся специальные значки, если целостность HTTPS соединения нарушается какой-либо ссылкой на HTTP файл, так что при работе с вашим сайтом обращайте внимание на зеленый замок слева от адреса сайта. Этот замок должен всегда оставаться зеленым.

Иконка защищенного соединения в браузере Chrome

Иконка защищенного соединения в браузере Chrome

Также для проверки правильности настройки протокола HTTPS на вашем сервере, рекомендуем попробовать утилиту SSL Server Test от Qualys. Вбив адрес вашего сайта вы сможете получить подробный отчет о том, как настроен HTTPS на вашем сайте: валидность вашего сертификата, правильность редиректа с http на https, доступные методы шифрования и многое другое.

Заключение

Если вы содержите веб-сайт, который позволяет посетителям ввести адрес электронной почты (например оставив комментарий), номер телефона (заполнив форму обратной связи), и особенно если вы работаете с фактическими адресами, номерами кредитных карт и прочей конфиденциальной информацией, мы рекомендуем вам немедленно перейти на защищенный протокол HTTPS.

Учтите, что форма для входа в WordPress также является открытой для мошенников, если она не защищена протоколом HTTPS, особенно если вы часто посещаете свою «админку» из интернет-кафе, ресторанов и прочих публичных мест. То же самое касается работу с вашим сайтом на WordPress через мобильное приложение.

Если у вас остались вопросы по настройке HTTPS в WordPress, оставьте комментарий и мы обязательно вам ответим.

Подписаться на рассылку

Подписаться → Подпишитесь на бесплатную рассылку журнала WP Magazine и получайте новости, события, подборки тем и плагинов, уроки, советы и многое другое в мире WordPress!

  • Гость

    По хорошему весь интернет нужно переводить на https

  • Спасибо. Запись «Organisation Name», которая указывается в настройках csr как-то проверяется? То-есть я могу указать юридически несуществующую компанию (название домена)?

    • Если я не ошибаюсь то это поле не используется для сертификатов валидации домена, так что указать можно все, что угодно, но лучше использовать свое настоящее имя. Если же вы обращаетесь за сертификатом верификации юридического лица, то поле Organization Name должно соответствовать тому, что у вас написано в учредительных документах.

  • Как вы сделали, что картинки (пример http://i0.wp.com/wpmag.ru/wp-content/uploads/sites/13/2014/10/wordpress-openssl-newkey.png ) доступны по http, а все страницы только по https ?

    • Домен i0.wp.com является частью сети WordPress.com, это что-то вроде CDN. Он предоставляется для хранения и обработки изображений с помощью модуля Photon в плагине Jetpack, и этот домен доступен по обоим протоколам для удобства пользователей плагина.

  • Наличие сертификата ФСТЭК не является показатем безопасности веб-приложения, а хранить и обрабатывать данные можно с помощью любой системы в рамках закона о персональных данных и требований к защите персональных данных при их обработке. К сожалению эти документы не регулируют требования к шифрованию данных при их передаче по сети.

    Если же вы собираетесь дать посетителям возможность совершать оплату картами на сайте, то вам скорее всего будет необходима сертификация PCI, где защищенный протокол передачи данных (например HTTPS) является одним из требований.

    • Souz2000

      Благодарю!

  • Slava UA

    И вот еще отличная статья по теме — https://timnash.co.uk/guessing-ssl-questions/

  • Спасибо за отличную статью Константин, расшарил.

  • Gregory Karpinsky

    (Если мой предыдущий комментарий опубликуют)
    В свете новых «страшилок» (POODLE), получается что и SSLv3 надо запрещать.

  • Половое воспитание

    я правильно понимаю, что на shared-хостинге такое не получится сделать? Ведь доступа к настройкам сервера нет

    • Это зависит от хостинга. У многих shared-хостинг провайдеров сертификат можно добавить через панель управления хостингом — первый абзац в разделе «Настройка SSL сертификата на сервере». Если вы не можете найти такую опцию в вашей панели администрирования (хостингом, а не WordPress), то обратитесь в поддержку, а если вам откажут, то советуем поменять хостинг-провайдера :)

    • Дмитрий Архаров

      На простом хостинге это сделать вообще не проблема, нужно будет дополнительно заказать выделенный ip адрес, а настройки сервера нужны только для одного: сделать в apache или nginx (точно не помню) перенаправление с http на https. Я сижу на простом хостинге, и смог у себя настроить, правда С ОГРОМНЫМ ГЕМОРОМ

      • odinaev94

        Подскажи пожалуйста, как и с каким гемором ты решил этот вопрос? Сам сейчас мучаюсь с этим

  • Спасибо за комментарий! Если сервер поддерживает Server Name Indication (SNI), то под одним IP адресом можно держать несколько разных сертификатов, это уже встроено в Apache начиная с 2.2.12 с mod_ssl и в nginx с OpenSSL.

    • Gregory Karpinsky

      Возможно. Не уверен, что сегодня уже можно забыть про те браузеры, которые не справятся с SNI… Как раз только что проверил, могу ли я отключить SSLv3 на своих серверах. Оказалось, что пока что нет. Куча клиентов не поддерживают.

      • TLSv1 поддерживается на Windows XP, IE8+. Жаль, что иногда приходится поддерживать старые и уязвимые браузеры и технологии из-за клиентов.

        • Gregory Karpinsky

          Если я не ошибаюсь, на старых браузерах TLS по умолчанию был выключен.

          В общем, жаль. И про TLS жаль, и про PHP 5.2 очень жаль :-)

  • klientovod

    Отличный блог, а как у Вас получается делать разного размера миниатюры в блоге?

  • Как-то всё ужасно сложнооо..

  • OKI

    Как по мне: очень даже можно, сам у себя использую данный метод. В случае «прослушки», траффик от клиента до сервера CDN он все равно пойдет зашифрованным, т.е. от атаки mitm мы почти защитились. Если стать совсем параноиком — можно шифроваться на всех узлах сети валидными сертификатами :)

  • Дмитрий, несмотря на то, что трафик между браузером и CDN защищен, трафик между CDN и вашим сайтом остается открытым, т.е. злоумышленник может прослушать и изменить пакеты на уровне конечного веб-сервера, а в браузере вам будет казаться, что у вас защищенное соединенное.

    Как упомянул OKI можно конечно защитить соединение между CDN и конечным сайтом, например личным (self-signed) сертификатом бесплатно если это поддерживает CloudFlare.

  • Илья Масликов

    В .htaccess лучше вставить такой код (с проверкой mod_rewrite)

    RewriteEngine on
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,QSA]

    Настраивать nginx обязательно, если в качестве бэкэнда выступает apache2?

    • Не совсем понятно, чем именно это лучше, может обоснуете? А по поводу nginx зависит от вашей связки с Apache. Если вы на Apache пробрасываете все запросы, то дополнительно настраивать не нужно, а если у вас например статические файлы выдаются напрямую через nginx (как это бывает во многих случаях), то редирект на HTTPS вам нужно на nginx настроить, а в Apache тогда уже не обязательно.

  • iGoryanGo

    Спасибо за статью, но полностью настроить так и не получилось! На сайте обнаружена циклическая переадресация =( Сам сервак настроен, соль работает

    • добрый день! удалось найти решение? мучаюсь уже 2-й день.

      • iGoryanGo

        Добрый вечер! Решил вопрос добавлением в файл .htaccess следующих строк:

        RewriteCond %{HTTPS} off
        RewriteCond %{HTTP:X-Forwarded-Proto} !https
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

        • спасибо!

        • Ирина

          Спасибо огромное за этот код! Два дня промучилась — постоянно «циклическая переадресация», сейчас вроде все работает!

  • Евгений I

    Константин, статья зачетная, описана грамотно… но для тех, кто в этом разбирается.

    А как быть почти полным чайникам? :)

    Прошу помощи — уже два дня бъюсь с установлением SSL шифрования на свой сайт на вордпресс (есть еще один на Joomla 2.5), чтобы шифрование корректно работало на весь сайт и его контент.

    Сайты без выделенного IP и виртуального сервера. Сертификаты куплены и установлены, активированы в админке хостинга.

    При включении стандартных средств в самой CMS — сайт падает и выдает зацикленную бесконечную переадресацию на домен с HTTPS.

    • Евгений, перед тем, как включать переадресацию на сайт с HTTPS необходимо проверить работает ли он. В вашем случае видимо HTTPS перенаправляет обратно на HTTP, потому и происходит циклический редирект.

      Убедитесь в правильности установки и конфигурации сертификатов. Если вы администрируете сервер не самостоятельно, то лучше всего обратиться к вашему хостинг-провайдеру за помощью в конфигурации сертификатов.

  • Константин, очень не хватает статьи по работе с маршрутизацией (routing, rewrite) в WordPress. Используем на работе ваш сайт, как библию разработчика WP

    • Добавим в список пожеланий, спасибо! :)

      • Буду очень, ждать, пока остановился на плагине wp-router

  • Михаил

    Здравствуйте.
    Отличная статья.

    Вопрос: как решить сей проблем. Есть сайт http://2-baby.ru/. Всё отлично работает. И есть https://2-baby.ru/, который выглядит не айс((. Да и кто муже браузер на https://2-baby.ru/ пишет, что содержит скрипт из непроверенных источников.
    Как быть кто сталкивался???

    • Михаил, проблема в том, что на HTTPS сайте есть ссылки на изображения, скрипты и т.д. с HTTP, поэтому браузер их по умолчанию не подгружает, т.к. это рушит консистенцию защищенного соединения. Вам необходимо изменить адрес сайта на HTTPS и переписать все ссылки на ресурсы (изображения, и т.д.) в статьях на HTTPS или протоколо-независимые адреса (//domain.org/path/to/image.jpg). Можно попробовать это сделать с помощью поиска и замены в базе данных.

      • Михаил

        Понятно, спасибо за оперативный ответ!

        • odinaev94

          Вы не смогли решить вопрос?

      • Михаил

        Здравствуйте.
        Есть функции на сайте

        get_stylesheet_directory()
        get_template_directory_uri()

        Это по сути адрес http моих плагинов и т.д. Как мне заменить эти функции, чтобы адрес у этих плагинов был https.

        Cпасибо.

        • Михаил, эти функции основаны на настройках home и siteurl в WordPress. Прочитайте еще раз раздел «Настройка HTTPS в WordPress».

          • Михаил

            Спасибо за столь быстрый ответ. Но я всё, абсолютно всё изменил и несколько раз прочитал раздел «Настройка HTTPS в WordPress». У меня просто установлена тема и вот там все ссылки javascript, сss именно с http. И как раз именно эти функции get_stylesheet_directory() get_template_directory_uri() открывают их как http а не https.

  • Nikita Basenko

    Обнаружил следующую проблему при попытке включить https. Сайт уходит в луп. Вордпресс 4.1. Обратился к хостеру, вроде как начали решать общими усилиями. но, по факту, при стандартной смене адреса на https — сайт уходит сначала на 404, а потом в луп. Или же сразу в луп.

    Ещё вопрос такой — на одном из сайтов с чистым вордпрессом удалось сделать (с помощью бубна и тонн шоколада) ssl, но, при вставке кода google analytics или yandex.metrika — замок перестает быть зеленым. ПРи том, что в скриптах адреса идут по формату «//». Буду благодарен за помощь .

    • При смене адреса на https убедитесь в том, что вы его сменили везде, а не только в настройках, а также убедитесь в том, что веб-сервер оба протокола направляет в одну и ту же корневую директорию. По поводу GA и Метрики, адреса по формату // это правильно, вероятно на сайте есть какие-то другие ресурсы, подгружаемые через http. Такие инструменты как SSL Server Test помогут их найти.

  • Денис

    Подскажите, в чем разница между PositiveSSL и RapidSSL? Выбираю между ними, понять не могу разницу для рунета в частности.

    • Денис, если речь идет о Domain Validation сертификатах, то разницы как таковой нет, разве что цена немного отличается, и компании выпускающие эти сертификаты разные (Comodo/GeoTrust).

  • denisko

    Доброго дня! Столкнулся еще с такой проблемой — при вводе в настройках wordpress адреса с https://, больше не могу залогинится в админку. по http кидает сразу в админку https, а та в свою очередь говорит что нет прав. Как быть?

    • Попробуйте очистить все куки в браузере и снова выполнить вход по https.

  • Nik Fascont

    Добрый вечер!
    У меня вопрос! Как я настроил https на своём блоге, но теперь у меня проблема. Когда я ссылаюсь на сайты с протоколом http, то в адресной строке браузера вылезает сообщение, что страница содержит небезопасные ресурсы.
    Можно ли как-то это обойти?
    Как вы ссылаетесь на обычные сайты?
    Ведь такое сообщение будет отпугивать пользователей.

    Спасибо!

    • Это сообщение появляется не когда вы ссылаетесь на сайты с http, а когда вы внедряете что-нибудь с сайтов http, например вставляете картинку.

      • Nik Fascont

        Да, так и есть. Я пытал вставить информер с одного каталога. Спасибо большое!

  • Анттн

    Здравствуйте!

    Недавно приобрёл себе SSL сертификат, но сайт ещё не перешёл на https.

    Несколько вопрос?

    При переходе на https, что будет с ссылками с других сайтов ведущие на мой сайт?

    И что надо исправить в панели вебмастера у Яндекс и Гугл ?

    Я так понимаю что все страницы в индекси должны поменяться на https , это наверное можно ускорить с 301 редиректом. А вот что делать с ссылками которые ведут на мой сайт?

    Спасибо за ответ!

    • Антон, при настройке правильных редиректов поисковые роботы быстро подберут новый протокол, но следует ожидать временное падение в позициях на небольшой срок, особенно в Яндексе.

      Что касается ссылок с других сайтов, они продолжат работать нормально, но вот у счетчиков ретвитов и т.д. скорее всего сбросятся все цифры.

      Насчет панели вебмастера, достаточно будет заново добавить сайт с новым протоколом.

  • Fedor Sadchikov

    Решил проблему с редиректом в админке на https, добавлением данной строки в wp-config.php
    define(‘FORCE_SSL_ADMIN’, false);

    Насколько это верно?

    • Станислав

      В корне неверно, т.к. вход в админку не защищен.

      • а как верно? после настройки https сайт работает, а при попытке войти в админку случается циклическая переадресация. гугл не помогает.

  • А можно без редиректов, просто чтобы сайт был доступен и по https и по http ?

  • Владимир

    Здравствуйте Константин!

    Вы пишете:

    Изменить основной протокол сайта с HTTP на HTTPS можно в разделе Параметры → Общие в панели администрирования WordPress.

    А как быть с сетью wpmu? Как там сменить протокол? Для каждого домена в сети эти поля не редактируемые.
    Подскажите, как правильно поступить?
    Заранее благодарю.

    • Для отдельных сайтов в сети можно изменять протокол через панель управления сетью — Сайты — Редактировать.

      • Владимир

        Точно, просмотрел.
        А на сайте сети как сделать? Пробовал плагин Really Simple SSL, перестал в адмимнку пускать, еле восстановил потом.

        То есть для отдельных сайтов типа first.site.com и second.site.com понятно.

        А как на сайте site.com изменить протокол?
        Заранее благодарю!

        • Возможно в wp-config.php + не помешает в БД еще посмотреть в таблице wp_site.

          • Владимир

            Благодарю, Константин.
            Буду искать и пробовать.

  • Можно ли к вам обратиться за помощью в настройки SSL. Если да то мой адрес tatarinid@gmail.com

  • Владимир Новицкий

    Здравствуйте.
    Подскажите, а что делать, если те два поля в админке WP неактивны?
    Скриншот: http : // http://www.imageup .ru/img198/2344995/0321515495.png (нужно убрать пробелы).

  • Hair Doctor Shop

    Добрый день, отличная статья, с большим интересом прочитал ее. В возникла одна сложность изменил в админке адрес сайта на https и админка стала недоступна, подскажите плз как это можно исправить.

  • Здравствуйте.

    WpMag когда перешел на https?
    Были ли с этим связаны проседания трафика и его возвращение?
    Про ком. сайты понятно, зачем Вы для блока https использовали — вряд ли для заход с кафе в админку?)

    • Точно не помню, но больше года назад, проблем никаких с трафиком не наблюдалось. Заход из кафе не особо, кстати не только из кафе можно пароль увести, можно и с роутера на вашем здании. Можно еще рекламу вставлять, вирусы и прочее через всякие прокси, VPN и через некоторых недобросовестных интернет провайдеров. Тем более сейчас это ничего не стоит, а по производительности HTTP/2 иногда даже быстрее чем HTTP. Почему бы и нет? :)

  • ipto

    С приведенным в статье кодом Apache редиректа перенаправляются в том числе и картинки. Какой код в htaccess нужно добавить, чтобы перенаправлялось все, кроме картинок, как у вас?

    Также как вы считаете, нужно ли прописывать Header set Strict-Transport-Security чтобы ограничить доступ только по https?

    Нужно ли добавлять метатег referrer с content=»always»?

    PS
    С исключением редиректа для картинок и robots.txt вроде разобрался, добавив пару соответствующих условий:
    RewriteCond %{REQUEST_URI} !^/robots.txt$
    RewriteCond %{REQUEST_URI} !(.jpg|.jpeg|.gif|.png)$ [NC]

  • у меня вот такой код SetEnvIf X-HTTPS 1 HTTPS=1 в хтаксессе, но есть проблемы с шарингом для фэйсбук (не может зацепить фото и дискрипшн)