Полное руководство по HTTPS и SSL для WordPress

Опубликовано: 2018-10-16

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

Что такое HTTPS?

Если HTTP означает протокол передачи гипертекста . HTTPS означает безопасный протокол передачи гипертекста . В Mozilla Developer Network (MDN) есть фантастическое и простое определение протокола:

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

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

Звучит неплохо, правда? Так как же получить это цифровое силовое поле? Через SSL.

Что такое SSL?

SSL означает уровень защищенных сокетов , и снова MDN может объяснить это лучше, чем кто-либо другой:

[SSL] - это протокол, используемый приложениями для безопасного взаимодействия в сети, предотвращения взлома и перехвата электронной почты, просмотра веб-страниц, обмена сообщениями и других протоколов.

Все современные браузеры поддерживают протокол TLS, требуя, чтобы сервер предоставил действительный цифровой сертификат, подтверждающий его личность, чтобы установить безопасное соединение. И клиент, и сервер могут взаимно аутентифицировать друг друга, если обе стороны предоставляют свои собственные индивидуальные цифровые сертификаты.

Эти сертификаты когда-то были невероятно дорогими и были недоступны практически для всех, кроме крупнейших веб-сайтов. Вы увидите зеленый замок на таких сайтах, как Amazon и Twitter, но обычные сайты WordPress (как и большинство наших) не могли заплатить тысячи долларов, которые стоили купить сертификат.

Сертификат SSL Зеленый Замок

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

Как получить бесплатный SSL-сертификат WordPress

Подпишитесь на наш канал Youtube

В наши дни основным поставщиком бесплатных SSL-сертификатов является сервис Let's Encrypt.

Используя их услуги, вы получаете все преимущества наличия сертификата SSL, не тратя ни копейки. И вот что самое интересное: большинство крупных хостинг-провайдеров сотрудничают с Let's Encrypt, чтобы сделать установку SSL-сертификата абсолютно безболезненной.

Вы можете получить бесплатный SSL-сертификат от Let's Encrypt одним из двух способов.

Вариант 1. Установите бесплатный сертификат SSL из своей (поддерживаемой) учетной записи хоста.

Как я уже упоминал, многие хосты сотрудничают с Let's Encrypt, чтобы добавить бесплатные SSL-сертификаты непосредственно в панели управления cPanel своих клиентов или непосредственно в панель управления хоста. Например, если вы размещаете на SiteGround (как и я), вы можете установить сертификат SSL примерно за две секунды. На главном сайте входа перейдите на вкладку Мои учетные записи и в Дополнительные услуги . Вы должны увидеть раздел Let's Encrypt Certificates , и вы можете управлять ими и устанавливать их в любом месте, нажав кнопку « Просмотреть все» .

Как получить бесплатный SSL-сертификат

Кроме того, вы можете нажать кнопку « Перейти к cPanel» и найти логотип Let's Encrypt под заголовком « Безопасность» . Вы попадете на ту же страницу, что и « Просмотреть все» .

Как получить бесплатный SSL-сертификат

Оттуда вы увидите список всех установленных сертификатов. Если это ваш первый раз, вы ничего не увидите. Однако вы должны увидеть что-то вроде этого:

WordPress SSL и HTTPS

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

WordPress SSL и HTTPS

Сервер обработает вашу установку нового SSL-сертификата WordPress. Очень просто. Вы почти закончили. Однако нам все еще нужно его настроить. Что будет ниже в следующем разделе.

Также ознакомьтесь с полным списком веб-хостов, предлагающих прямую поддержку Let's Encrypt. Процесс для большинства поддерживаемых хостов должен быть похож на SiteGround. Кроме того, некоторые хосты могут взимать плату за использование Let's Encrypt. Честно говоря, это своего рода фиктивная плата, и многие хосты, которые взимают плату, не взимают плату, поскольку Google делает SSL веб-стандартом. Если ваш не предлагает его бесплатно, возможно, пришло время рассмотреть вопрос о другом хосте, потому что он не учитывает ваши интересы.

Вариант 2. Используйте «SSL бесплатно», чтобы вручную настроить сертификат Let's Encrypt

Если ваш хост не поддерживает Let's Encrypt, вы все равно сможете получить бесплатный SSL-сертификат на веб-сайте под названием SSL For Free.

Как получить бесплатный SSL-сертификат

Сайт поможет настроить сертификаты Let's Encrypt. Но вам понадобится доступ к данным FTP вашего сайта и, возможно, поддержка вашего хоста. Хотя этот метод работает, он очень практичен, и вам, возможно, придется вручную обновить сертификат, когда срок его действия истечет. По этой причине вам следует попытаться найти хост, который предлагает прямую поддержку Let's Encrypt, поскольку это значительно упрощает процесс. Если вы не можете по той или иной причине, SSL бесплатно - ваш второй лучший вариант.

Кроме того, вы можете получить бесплатные сертификаты SSL как от Cloudflare, так и от FreeSSL. Cloudflare предлагает общий SSL-сертификат в бесплатном плане. Если вы уже используете Cloudflare, это отличный способ настроить и запустить свой сайт с HTTPS. Тогда есть FreeSSL. Хотя он еще не является общедоступным, это бесплатный проект сертификатов SSL от Symantec. Некоммерческие организации или стартапы могут получить FreeSSL прямо сейчас. В противном случае вы можете подписаться, чтобы получать уведомления, когда он станет общедоступным.

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

Как настроить бесплатный SSL-сертификат с помощью WordPress

Независимо от того, какой способ получения сертификата вы выберете, после его установки пользователи смогут просматривать защищенную версию вашего сайта, перейдя на https://yoursite.com. Но то, что ваше HTTPS-соединение с WordPress активно, не означает, что вы закончили. (Но вы почти готовы.)

Чтобы правильно настроить WordPress HTTPS для работы с вашим SSL-сертификатом, вам необходимо внести некоторые изменения. Вы можете сделать это вручную… или вы можете использовать отличный плагин, который сделает все за вас. Он называется Really Simple SSL и оправдывает свое название.

Как получить бесплатный SSL-сертификат

Плагин обрабатывает весь процесс. Просто установите и активируйте. Имейте в виду - вы естественным образом выйдете из WordPress при первом запуске плагина. Это связано с тем, что плагин изменяет ваш URL-адрес по умолчанию с «http: //» на «https: //». Все, что вам нужно сделать, это снова войти в систему с вашими обычными учетными данными. Не беспокойтесь!

После того, как вы снова войдете в систему, вы увидите, что плагин уже внес необходимые изменения. Параметры по умолчанию часто бывают достаточно хорошими. Вы найдете их в Настройках - SSL .

WordPress SSL и HTTPS

И если этого недостаточно, и вы хотите настроить еще немного, вкладка « Настройки » находится наверху.

WordPress SSL и HTTPS

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

Теперь все готово. Вы успешно установили и активировали WordPress HTTPS и WordPress SSL. Поздравляю!

Устранение распространенных ошибок HTTPS / SSL

То, что все установлено и готово, не обязательно означает, что они работают без сбоев. Вы можете столкнуться с несколькими проблемами на своем сайте. Однако на сайтах WordPress HTTPS легко устранить неполадки. Давайте рассмотрим решения некоторых из наиболее распространенных проблем.

В какой-то момент после того, как вы настроите SSL на своем сайте и перейдете на WordPress HTTPS, вы можете увидеть на своем сайте несколько битых изображений. Изображения и контент, которые когда-то идеально отображались на вашем сайте, могут не отображаться, как будто их не существует. Не волнуйся. Вы не сделали ничего плохого. Ваш сайт просто думает, что эти изображения небезопасны (это не так), поэтому вы хотите убедиться, что WordPress SSL настроен для отображения смешанного контента.

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

По сути, чему-то на вашем веб-сайте не понравилось то, что вы перешли на HTTPS, и вместо этого автоматически принудительно использует HTTP. Что их рендерит ... ну, не рендерит. Так что давайте это исправим.

Первый и наиболее последовательный способ решения проблемы смешанного отображаемого контента - использование плагина WordPress SSL Insecure Content Fixer.

WordPress SSL и HTTPS

Всякий раз, когда вы устанавливаете и активируете плагин, ваша ошибка смешанного содержимого может немедленно исчезнуть. По умолчанию плагин будет настроен на простой набор правил в его настройках (находится в разделе « Настройки - SSL-небезопасный контент» в вашей панели администратора WP). Вы можете настроить, насколько строгие правила, которым он следует, вплоть до принудительного использования HTTPS для всех вызовов AJAX, но в большинстве случаев Simple будет работать нормально. По моему опыту с этой конкретной проблемой, Simple работал каждый раз. Но ваш пробег может отличаться.

WordPress SSL и HTTPS

Если вы по-прежнему отображаете смешанный контент

Откройте свой веб-сайт, щелкните правой кнопкой мыши и выберите « Просмотр исходного кода страницы» или нажмите CTRL / CMD - U. Вы увидите исходный код просматриваемой страницы. На этом этапе нажмите CTRL / CMD - F и выполните поиск src="http . Да, только с одной цитатой. Вы в порядке и можете двигаться дальше, если увидите 0.0.

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

WordPress SSL и HTTPS

Плагин Better Search and Replace в основном позволяет вам работать с вашей базой данных через панель администратора WordPress. Вам не нужно иметь дело ни с SQL, ни с PHP, ни с чем-либо еще. Это стандартная страница WordPress, которая работает как типичный поиск и замена, который вы, вероятно, десятки раз использовали в текстовых редакторах.

WordPress SSL и HTTPS

У нас есть полное руководство по плагину, которое вы можете прочитать здесь, но разбивка по исправлению вашей ошибки смешанного содержимого SSL в WordPress также довольно проста.

  1. Скачайте, установите и активируйте плагин
  2. Сделайте резервную копию вашего сайта
  3. Перейдите в Инструменты - Лучшая замена поиска в базе данных WordPress.
  4. В поле « Искать» введите URL-адрес своего веб-сайта с http: // в начале.
  5. В поле " Заменить на" введите URL-адрес своего веб-сайта с https: // вместо
  6. Выделите каждую таблицу в базе данных с помощью CTRL / CMD - A
  7. Убедитесь, что Run as dry run? проверено. Таким образом вы убедитесь, что любые ошибки не нарушат работу вашего сайта и могут быть исправлены заранее.
  8. Нажмите Run Search / Replace

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

WordPress SSL и HTTPS

Перенаправление HTTP на HTTPS

Теперь это должно было исправить ваши проблемы с смешанным отображаемым контентом. Тем не менее, вы все же, вероятно, захотите убедиться, что ваш сайт поддерживает HTTPS, насколько это возможно, чтобы предотвратить любые другие проблемы. Одна из таких проблем возникает, когда у сайта есть обратная ссылка на HTTP-версию вашего сайта, но на самом деле вы используете новую, улучшенную версию HTTPS. Технически они считаются двумя сайтами , и их старая ссылка может показаться некоторым пользователям небезопасной. Итак, следующий шаг - проверить ваши Настройки - Общие параметры. Убедитесь, что адрес вашего сайта настроен на HTTPS. Если нет, то сделайте это и нажмите "Сохранить". (Сайт выйдет из системы. Ничего страшного.)

WordPress SSL и HTTPS

После этого вам нужно будет войти в свой FTP-клиент и открыть файл .htaccess . Он будет расположен в корневом каталоге вашей установки WordPress.

WordPress SSL и HTTPS

Вы захотите загрузить его копию в качестве резервной копии, а затем открыть ее в своем любимом редакторе кода (мой - Sublime Text). В самом верху файла ( не между тегами # BEGIN / END WordPress ) добавьте следующий код. (Спасибо Dreamhost за сам код.)

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

WordPress SSL и HTTPS

Это перенаправит ваши старые URL-адреса HTTP на версии HTTPS по мере загрузки вашего веб-сайта. Обратите внимание, что в коде, который вы помещаете [L, R = 301] , это постоянное перенаправление 301 через файл .htaccess . Если вы это сделаете, вам не понадобится плагин 301 редиректа. По крайней мере, для основного домена.

Теперь, помните, когда я сказал, что они считаются двумя сайтами? Это исправляет. Вы предоставили новому HTTPS-сайту WordPress весь объем ссылок и поисковый рейтинг вашего HTTP-сайта. Теперь убедитесь, что вы сохранили его, сказав Большому Папе Джи (это мое домашнее имя для Google в наши дни), что вы переехали в более безопасное место. Теперь пора загрузить Google Search Console.

Даже если у вас уже есть HTTP-версия вашего сайта, зарегистрированная в Google Search Console, добавьте новый сайт WordPress HTTPS в качестве нового свойства.

WordPress SSL и HTTPS

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

WordPress SSL и HTTPS

Затем вы пройдете процедуру проверки собственности как обычно. Когда вы закончите с этим, Google будет знать, что вы заблокировали свой сайт от посторонних глаз.

WordPress SSL и HTTPS

После того, как вы прошли проверку в Google и настроили консоль поиска с новым свойством, добро пожаловать на ваш новый сайт WordPress HTTPS. Вы должны быть свободны от ошибок, с которыми сможете справиться самостоятельно.

Ошибки WordPress SSL с плагинами и темами

Если на этом этапе у вас все еще есть ошибки, есть большая вероятность, что они не в ваших руках. Скорее всего, виноват активный плагин или ваша тема. Чтобы узнать, что это может быть, щелкните свою страницу правой кнопкой мыши и выберите в меню « Проверить» . Вы также можете нажать CTRL-SHIFT-I, чтобы открыть инструменты разработчика. Посмотрите вокруг, пока не увидите вкладку с надписью Console . Если есть ошибки, они будут выделены красным.

WordPress SSL и HTTPS

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

Теперь, когда вы знаете, что вызывает ошибку. Лучшее, что вы можете сделать, - это сообщить об этом автору плагина или темы. У многих есть форумы поддержки или команды в чате именно по этой причине. Я рекомендую вам сообщить об этом авторам по нескольким причинам.

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

Вторая причина в том, что вы не одиноки в этой проблеме. У тебя есть это. У других тоже есть. Вот как все это работает. Поэтому разработчик должен знать об этом и предоставить исправление с помощью обновления. Итак, вы не только помогли себе с проблемой, но и внесли свой вклад в общее благо и можете чертовски хорошо относиться к себе.

Предупреждения о недействительных сертификатах

Иногда пользователь может сказать вам, что ваш сайт показывает либо недействительный сертификат, либо сертификат с истекшим сроком действия. В этом нет ничего страшного. Это легко исправить. В общем, чтобы исправить просроченный сертификат (или обновить его), вам просто нужно выполнить действия, описанные в разделе выше под названием «Установите бесплатный сертификат SSL из вашей (поддерживаемой) учетной записи хоста». В большинстве случаев это сработает. Если это не так, убедитесь, что вы установили подстановочный сертификат, потому что вы можете получить ошибку из-за несоответствия имени домена.

WordPress SSL и HTTPS

Если это не сработает, обратитесь к своему хозяину. Как я уже сказал ранее, я лично на SiteGround. И когда у меня возникла проблема с моим SSL, который не обновлялся автоматически, служба поддержки исправила ее в течение получаса. Это, очевидно, приведет к смене хоста на хост, но они хотят, чтобы ваш сайт был в сети почти так же, как и вы.

Ошибка «Слишком много перенаправлений»

И на всякий случай, если перенаправление 301 в вашем файле .htaccess не остановит это (должно), вы можете иногда получать ошибку, когда ваш сайт застревает в бесконечном цикле между вашим HTTP-сайтом и вашим HTTPS-сайтом. К счастью, это почти так же просто исправить, как и недействительный сертификат. Вам просто нужно открыть свой FTP-клиент и найти файл wp-config.php в той же папке, в которой находился ваш .htaccess . Откройте и этот файл в своем любимом редакторе кода. Добавьте следующий код в конец файла:

/** Prevent Too Many Redirects Loop **/
define('WP_HOME','https://mywebsite.com');
define('WP_SITEURL','https://mywebsite.com');
$_SERVER['HTTPS'] = 'on';

WordPress HTTPS и SSL

Сохраните и загрузите обратно на сервер. Теперь ваш сайт должен остановиться там, где должен.

Завершение работы с WordPress HTTPS и SSL

Я знаю, что это очень важно. Но WordPress HTTPS действительно важен для жизнеспособности вашего сайта в будущем. Пользователи доверяют вам больше. И, что еще более важно, Google тоже будет доверять вам больше. Теперь вы настроены на исправление ошибок смешанного содержимого, обработку истечения срока действия и продления сертификата SSL, редактирование файлов .htaccess и wp-config.php и даже на работу с базой данных вашего сайта. На этом этапе вы заблокировали свой сайт. Когда что-то ломается с WordPress SSL, вы можете это исправить. Похлопайте себя по плечу, выпейте и отдохните, зная, что ваш сайт в целости и сохранности.

Какие проблемы с WordPress SSL возникали у вас в прошлом и как вы их решали?

Статья рекомендованное изображение: supercaps / shutterstock.com