Начало года хороший повод, улучшить оптимизацию сайта и первыми шагами я выбрал скорость загрузки и переход на 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), кроме потраченного времени и «зеленого замка» в адресной строке.
Техническое подключение защищенного протокола 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/). Делаем проверку, видим совсем другую картину.
Как видим, сертификат есть. Получение сертификата SSL, это лишь начало. Всё самое «интересное» впереди.
Что делать на сайте 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». Этот плагин с легкими настройками. Добивает недостатки первого плагина.
Примечательно. В каждом из этих плагинов сказано, что они работают самостоятельно и лучше их ставить в одиночестве. У меня на практике и первый и второй плагины в одиночестве не работают до конца правильно, только в паре.
Важно! Перед установкой этих или этого плагина, проверьте доступность сайта по двум протоколам http
и https
. Если видите ошибки, вероятно, не включен режим SSL на сервере. Проверьте его подключение в панели хостинга, если всё включено пишите в тех.поддержку.
Если после установки плагинов сайт пропал, идите на сайт по FTP и правьте файл
.htaccess
. Именно в него эти плагины записывают правила переадресаций.
Нужно ли менять адреса в настройке Общие
Это важно! Если вы сделали переадресацию http
на https
в панели хостинга, то НЕ НУЖНО менять адреса в настройке Общие. Этим вы создадите циклическую переадресацию и сайт (вернее админ панель) будет недоступна. Исправить это не сложно (видео выше).
Что делать со ссылками в скриптах
Вероятно, у вас есть ссылки в скриптах, например счетчики, а также есть скрипты подключения к библиотекам. Они тоже должны иметь только динамические или безопасные ссылки.
Вторая проверка сайта
Если после смены всех ссылок сайта вы все равно видите предупреждение браузера о ненадежности сайта, делаем вторую проверку в браузере Google Chrome.
- Откройте сайт в браузере. На правой кнопке мыши, открываем «Просмотр кода».
- Внизу или справа окна браузера появится окно инструментов.
- На вкладке Security, вы увидите подключенные сертификаты и если есть, сообщение об Mixed Content .
- На вкладке Console. Вы увидите, перечисленные проблемные ссылки «Mixed Content» с нормально читаемыми пояснениями.
Ко всему прочему:
- Вполне возможно, что вы забыли очистить кеш сайта, если используете плагины кеширования.
- Не забудьте почистить кеш браузера.
- Некоторые ссылки придется поменять «вручную».
Выводы
Перевод сайта WordPress на HTTPS закончен технически. Важно понять следующее: Переход на протокол HTTPS возможно приведет к потере позиций в поисковой выдаче. Ваша следующая задача, минимизировать потери, чтобы это проседание трафика было временным. Об этом в следующей статье: Оптимизация сайта после SSL сертификации.
©www.wordpress-abc.ru
Еще статьи
- Настройки параметров WordPress, общие настройки, настройки написания и чтения, список Ping сайтов
- Смена имени пользователя WordPress
- Как создать меню WordPress, простое и выпадающее меню WP
- Редактируем виджет Мета WordPress, убираем лишние ссылки(строки)
- Оптимизация URL на сайте WordPress
Сейчас многие хостеры добавляют в cPanel функционал по активации сертификатов Let’s Encrypt. Кроме перечисленных в статье хостеров, которые имеют подобный фунционал, могу еще добавить HOSTiQ.ua, где я размещаю несколько своих сайтов. Еще стоит упомянуть недостатки Let’s Encrypt:
– необходимость продления через 90 дней (не на всех хостингах можно настроить автоматическое продление);
– Невозможно защитить IDN домены;
– Let’s Encrypt только DV сертификаты.
Для бесплатной сертификации, недостатки вполне оправданы и приемлемы.
Интересно, что при получении ssl через Let’s Encrypt с помощью панели управления хостера выбираешь длину ключа 4096 бит, а когда нажимаешь на замочек в строке браузера, в подробной информации о защищенном соединении написано, что длина ключей 128 бит. Как это понимать? Кстати, у вас на сайте тоже показывает 128бит.
Здравствуйте! Спасибо за полезную статью. Можете подсказать, почему, несмотря на все это, браузер помечает ваш сайт как небезопасный (у меня тоже самое, даже после всех ухищрений с переводом на https)? Вот картинка https://cloud.mail.ru/public/9cCb/MveAZ3ijY
На сайте есть реклама. Вероятно, вам показывают рекламу с не безопасными скриптами или URL. Точнее посмотрите на правой кнопке мыши, “Изменить код”–“Security” (для Chrome) там будет всё пояснено.
Когда заходишь на твой сайт с мобильного, на пол экрана летает фиксированная реклама, которая скрывает правую половину текстп. Исправь.
Спасибо за информацию.
читал у многих что сперва нужно в роботсе указать для яндекса новый хост с https дождаться склейки зеркал а потом уже в .htaccess ставить 301 редирект. дней 10 назад сделал переезд и все так сделал. Сейчас прочел, что данное правило с хост уже устарело и сейчас актуально для яндекса 301 редирект и ставить нужно сразу. Совсем запутался так нужно было сразу прописать 301?
Какие сейчас результаты после перевода сайта на https?
Игорь, доброго дня!
Я не смог разобраться, нужно или нет менять адрес на https в настройке Общие?
Согласно этому пункту менять нужно
Способ 3. Работает при доступности сайта по двум протоколам: http и https и не отменяет первые два пункта. Идете в панель сайта WordPress, на вкладку Настройки>> Общие>>Адрес сайта и Адрес сайта WordPress. В этих двух формах, вписываем домен сайта сайт с https.
А из этого следует, что нет
Это важно! Если вы сделали переадресацию http на https в панели хостинга, то НЕ НУЖНО менять адреса в настройке Общие. Этим вы создадите циклическую переадресацию и сайт (вернее админ панель) будет недоступна. Исправить это не сложно (видео выше).
Помогите, пожалуйста, разобраться.
Отличная инструкция, уже перенесли всех клиентов на новый протокол.
Можете перевести два моих сайта на новый протокол? Сколько это будет стоить? Спасибо.
Добрый день. сделал все по инструкции. При проверке кода на странице security выходит это: This page is not secure.
А сайт как был так и остался не безопасным, где искать что исправлять?