Перевод сайта WordPress на HTTPS — инструкция технического перехода
Начало года хороший повод, улучшить оптимизацию сайта и первыми шагами я выбрал скорость загрузки и переход на HTTPS. О том, что Google ввел «благосклонность» к сайтам, работающим по протоколу HTTPS, вместо HTTP, написано много статей и известно всем интересующимся оптимизацией своего сайта.
HTTPS и HTTP
Что такое HTTPS и чем он (протокол) отличается от HTTP лучше почитать более компетентные ресурсы. Безопасный протокол соединения (HTTPS) напрямую связан с получением сайтом сертификата безопасности, SSL. Покупая, вернее арендуя, домен по своим паспортным данным, вы уже имеете самый слабый сертификат безопасности. Но этот сертификат на дает вам, «зеленый замок» в адресной строке браузера.
Зачем переходить на HTTPS
Опять-таки, о мотивациях перехода на HTTPS написано масса статей. Я перечислю те причины перехода на HTTPS, которые мотивировали меня:
- Сообщение Google, что HTTPS стал фактором ранжирования;
- Заявление Mozilla, о прекращении поддерживать в своем браузере HTTP соединения (www.securitylab.ru/news/472588.php);
- Вероятность Яндекс последовать общей тенденции и в очередной раз поставить всех «на уши».
Три мифа о SSL
Миф 1. Для SSL нужен отдельный IP. Это не так. На моем хостинге, только моих сайтов две дюжины, и IP я не покупал и все сайты перевел на SSL, причем, бесплатно. Более того, на VDS у меня есть отдельный IP, а стоимость SSL(V) 500 рублей на каждый домен.
Миф 2. SSL обнуляет ваш тИЦ (ИКС). Это не так. У вас был тИЦ сайта http
, он так и остался. Если вы правильно оптимизировали сайт после перевода на https
, и сообщили Яндекс ваше новое зеркало, после первого после перехода апдейт тИЦ восстановит ваш прежний тИЦ (ИКС) .
Миф 3. Для некоммерческих сайтов SSL не нужен. Посмотрим 31 января 2017 года. Именно тогда выйдет новый, Chrom 5.6 с красными флагами для всех небезопасных сайтов. Смотрим Вышел. Сайты http
Grome не открывает.
Напористость Google в процессе сертификации сайтов, рано или поздно, перекинется и на Яндекс, а вот он предупреждать не будет и введет новый фильтр для «Небезопасных сайтов».
Перевод сайта WordPress на HTTPS – Задача
Итак, задача. Перевести сайт WordPress на отклик по безопасному протоколу https
, то есть, сайту нужно получить сертификат безопасности SSL.
Важно! Задача перехода на HTTPS для сайта WordPress, состоит из трех взаимосвязанных, но практически независимых задач:
- Техническое подключение защищенного протокола SSL;
- Переадресация сайта
http://
на сайтhttps://
- Замена всех внутренних ссылок сайта на безопасные ссылки
https://
или на относительные ссылки. - оптимизация переезда на новый протокол, для восстановления (сохранения) поисковых позиций.
Перечисленные задачи не нужно растягивать по времени и лучше выполнить последовательно. Ненужно делать сначала переадресацию сайта, а потом получать сертификат, во всем должна быть логика.
Примечание: На момент выхода статьи, я еще не готов сказать, что дал мне переход на HTTPS (SSL), кроме потраченного времени и «зеленого замка» в адресной строке.
Вас может заинтересовать: Аналоги WordPress: Тильда
Техническое подключение защищенного протокола SSL
На сегодня, есть несколько схем подключения защищенного протокола SSL: платные и бесплатные.
- Платно, вы можете купить сертификат безопасности в специальных центрах сертификации (CA), от 500 рублей за домен в год, получить два ключа и показать эти ключи на своем хостере. Эта статья не об этом.
- Некоторые хостинги, предоставляют бесплатную услугу подключения защищенного протокола SSL к любому домену.
- Использовать облачные сервера в услуги которых, входит получение SSL.
- Покупать сертификат безопасности, для не коммерческого сайта я бы не стал. Не вижу смысла. Мне повезло, я смог техническое подключение защищенного протокола SSL выбрать по бесплатной схеме, так как мой хостер предоставляет такую услугу бесплатно.
Примечание: В предоставлении хостинг компанией бесплатных SSL сертификатов нет ничего не обычного. С тех пор как появился центр бесплатной сертификации Let’s Encrypt (о нем ниже), любая хостинг компания может установить и бесплатно предлагать сертификацию SSL своим клиентам. Могу посоветовать:
- HostLand.ru;
- Firstvds.ru;
- Fozzy.com
- Sweb.ru
- Timeweb.com
Итак, я могу включить протокол SSL на сервере своего хостера.
Включить протокол SSL на сервере своего хостера
Шаг 1. Предварительная проверка сайта
Начнем с проверки, Вдруг ваш домен уже имеет сертификат. Предлагаю следующий инструмент проверки: (www.sslshopper.com).
Шаг 2. Для домена сайта, в административной панели, включаем поддержку режима SSL.
Шаг 3. Подключение сертификата на сервере хостинга
Смотрим в панели DirectAdmin. Вкладка «SSL сертификаты». Повторюсь, мой провайдер предлагает стандартные варианты получить сертификат безопасности и среди них, вариант: Free & automatic certificate from Let’s Encrypt.
Мой сайт некоммерческий и мне вполне достаточно, получить сертификат на Let’s Encrypt (https://letsencrypt.org/ru/), тип сертификата: Internet Security Research Group (ISRG).
- Заполняем поля, указывая email из своих регистрационных данных.
- Размер ключа должен быть не менее 2048-бит. У меня есть выбор 4096-бит.
Примечание: В рекомендации Google о переходе на HTTPS (support.google.com/webmasters/answer/6073543?hl=ru), говориться о приоритете 2048-бит по отношению к 1024-битному ключу, о ничего нет и большем размере.
- После заполнения всех полей сохраняемся и видим результат.
Бесплатный сертификат Internet Security Research Group (ISRG) для некоммерческих сайтов получен от Let’s Encrypt. Чтобы сертификат включился фактически должно пройти время.
Вернемся к проверке на сайт «SSL Certificate Comparison and Reviews» (https://www.sslshopper.com/). Делаем проверку, видим совсем другую картину.
Перевод сайта WordPress на HTTPS проверка
Как видим, сертификат есть. Получение сертификата SSL, это лишь начало. Всё самое «интересное» впереди.
Вас может заинтересовать: Аналоги WordPress: Тильда
Что делать на сайте WordPress после подключения SSL сертификата
Прежде всего, проверяем доступность сайта по двум протоколам: http
и https
.
Если вы не включали переадресацию http
на https
в административной панели хостинга, сайт должен открываться по двум адресам http
и https
. Если это не так, нужно исправлять.
Доступность сайта по двум протоколам,- говорят знающие оптимизаторы, является негативным фактором для поисковиков и отрицательно влияет на позиции сайта в выдаче. Верим и делаем переадресацию http
на https
.
Переадресация http на https
Способ 1. Мне опять везет, я делаю это из панели своего хостинг провайдера.
Способ 2. Если ваш сайт работает в веб-сервисом Apache, то в файл .htaccess
, который должен быть в корне сайта. Вписываем две директивы для Apache:
RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ [R=301,L]
Если ваш сайт работает на «чистом» Nignx, то файл .htaccess
не поможет, пишите в суппорт и спрашиваете, что делать.
Способ 3. Работает при доступности сайта по двум протоколам: http и https и не отменяет первые два пункта. Идете в панель сайта WordPress, на вкладку Настройки>> Общие>>Адрес сайта и Адрес сайта WordPress. В этих двух формах, вписываем домен сайта сайт с https.
Если сайт не был доступен по https, вы потеряете доступ в панель. Чтобы восстановить доступ смотрим видео по ссылке: https://video.wordpress.com/embed/crY8Zadu?hd=1.
Первая проверка перевода сайта WordPress на HTTPS
После правильно выполненной переадресации, ваш сайт должен открываться только по безопасному протоколу
https
. Чтобы не путаться, обновите закладки в браузере.
Меняем ссылки сайта WordPress
Для сайтов WordPress, в отличие от сайтов на Joomla, нужно все существующие ссылки на сайте перевести в протокол https. Было бы хорошо, чтобы все внешние ссылки, тоже были безопасными. Если это не возможно, на этих страницах, вместо зеленого замка в строке браузере, будет предупреждение о наличие на сайте небезопасного контента. Называется эта ошибка, Mixed Content
(смешанное содержание).
Относительный адрес: /image.jpg
Относительный адрес вне зависимости от протокола: //sitename.ru/image.jpg
Абсолютный адрес разрешенный SSL:
Абсолютный адрес Mixed Content:
- Чтобы устранить смешанное содержание (Mixed Content) на сайте WordPress, вам нужно. Все внутренние абсолютные ссылки сайта указанные с
http
, перевести в относительные ссылки типа://domen.ru/content
. В этом случае, браузер сам решает, безопасный протокол или нет. - Все внешние ссылки должны быть с ресурсов поддерживающих протокол HTTPS, иначе браузер покажет ошибку «Mixed Content».
Самый простой способ это сделать, установить специализированный плагин WordPress. Я пробовал два плагина:
- «HTTP/HTTPS». Этот плагин без настроек. Замечены преобразования не всех ссылок.
- «Easy HTTPS (SSL) Redirection». Этот плагин с легкими настройками. Добивает недостатки первого плагина.
Вас может заинтересовать: Аналоги WordPress: Тильда
Перевод сайта WordPress на HTTPS плагины
Перевод сайта WordPress на HTTPS плагин HTTP-HTTPS
Примечательно. В каждом из этих плагинов сказано, что они работают самостоятельно и лучше их ставить в одиночестве. У меня на практике и первый и второй плагины в одиночестве не работают до конца правильно, только в паре.
Важно! Перед установкой этих или этого плагина, проверьте доступность сайта по двум протоколам http
и https
. Если видите ошибки, вероятно, не включен режим SSL на сервере. Проверьте его подключение в панели хостинга, если всё включено пишите в тех.поддержку.
Если после установки плагинов сайт пропал, идите на сайт по FTP и правьте файл
.htaccess
. Именно в него эти плагины записывают правила переадресаций.
Нужно ли менять адреса в настройке Общие
Это важно! Если вы сделали переадресацию http
на https
в панели хостинга, то НЕ НУЖНО менять адреса в настройке Общие. Этим вы создадите циклическую переадресацию и сайт (вернее админ панель) будет недоступна. Исправить это не сложно (видео выше).
Что делать со ссылками в скриптах
Вероятно, у вас есть ссылки в скриптах, например счетчики, а также есть скрипты подключения к библиотекам. Они тоже должны иметь только динамические или безопасные ссылки.
Вторая проверка сайта
Если после смены всех ссылок сайта вы все равно видите предупреждение браузера о ненадежности сайта, делаем вторую проверку в браузере Google Chrome.
- Откройте сайт в браузере. На правой кнопке мыши, открываем «Просмотр кода».
- Внизу или справа окна браузера появится окно инструментов.
- На вкладке Security, вы увидите подключенные сертификаты и если есть, сообщение об Mixed Content .
- На вкладке Console. Вы увидите, перечисленные проблемные ссылки «Mixed Content» с нормально читаемыми пояснениями.
Ко всему прочему:
- Вполне возможно, что вы забыли очистить кеш сайта, если используете плагины кеширования.
- Не забудьте почистить кеш браузера.
- Некоторые ссылки придется поменять «вручную».
Выводы
Перевод сайта WordPress на HTTPS закончен технически. Важно понять следующее: Переход на протокол HTTPS возможно приведет к потере позиций в поисковой выдаче. Ваша следующая задача, минимизировать потери, чтобы это проседание трафика было временным. Об этом в следующей статье: Оптимизация сайта после SSL сертификации.
Источник: www.wordpress-abc.ru