Меню Рубрики

Установка https для сайта wordpress

Переход и настройка HTTPS для WordPress

Кроме того, что сейчас Google активно всех старается перевести на https протокол, это еще и плюс к безопасности сайта. Особенно, если на Вашем сайте есть формы, регистрация, вход и т.п.

HTTPS шифрует весь трафик между сайтом и браузером, что не дает злоумышленникам получить любую информацию, которой Вы обмениваетесь с сайтом – пароли, e-mail, платежные данные.

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

Подготовка

Сначала нам необходимо получить сам SSL сертификат, можно его купить, можно использовать и бесплатный. В этой статье мы будем рассматривать самый простой случай, когда сертификат установит сам хостер. Вариант еще проще – получить в 2 клика бесплатный сертификат у Beget.

Сертификат установлен – в браузере вбиваем адрес нашего сайта, только заменяем http на https.

  • Если сайт открылся – все хорошо, переходим к следующему пункту.
  • Если не отрылся – подождите 10-15 минут и проверьте снова. Если нет – нужно разбираться, правильно ли установлен сертификат.
  • Если произошел редирект на http версию – нужно искать в плагинах, functions.php или в htaccess правила для редиректа и удалить их

Меняем адрес сайта в настройках

Заходим в Настройки – Общие и вбиваем новый адрес с https, сохраняем

Заходим на сайт и проверяем, например, меню или ссылки на Ваши статьи. Они должны идти уже по новому протоколу.

Если сайт перестал открываться?

Нам нужно вернуть протокол обратно и искать проблему в плагинах или functions.php самой темы.

Идем в wp-config.php и добавляем туда следующий код:

Где yoursite.ru заменяем на Ваш сайт с протоколом http. Таким образом мы жестко в коде прописываем старый адрес адрес сайта.

Теперь нужно найти причину поломки или редиректа. Методично отключайте плагины, убирайте код из wp-config.php и проверяйте – не заработал ли сайт. Потом смените тему на стандартную и попробуйте тоже самое. Откройте .htaccess , который лежит в корне сайта, возможно причина там.

Меняем адрес сайта в статьях

Теперь нам нужно изменить адрес ссылок в самих статьях. Делать это вручную – занятие долгое и неэффективное. Тут нам на помощь прийдет любимый search-replace.

Вбиваем слева адрес сайта с http, справа адрес с https. Жмем Dry Run . Проверяем внизу в результатах все ли впорядке, все ли правильно меняется. Жмем Live Run . И проверяем ссылки в наших статьях.

Теперь все ссылки должны идти по новому протоколу.

Если что-то пошло не так?

Скорей всего Вы неправильно сделали замену search-replace. Нужно вернуть бекап. Если все стало впорядке – значит проблема именно в замене через search-replace.

Повторите шаг, но в этот раз все еще раз перепроверьте, правильно ли выполняется замена при Dry Run. Если проблему устранить не получается – обратитесь за консультацией к специалисту.

Меняем протокол в Вашей теме

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

Сюда же входит различное подключение стилей и скриптов с внешних ресурсов. Виджеты обратных звонков, чаты, счетчики, попапы и пр.

Выкачиваете свою тему на компьютер. Делаем поиск фрагмента “http://” в файлах Вашей темы. Например, с помощью Sublime это можно сделать сразу во всех файлах темы. Меняем пути на правильные, а еще лучше переписываем через функции (необходимы минимальные знания в разработке).

В крайнем случае можно протокол не указывать и менять ссылки таким образом:

Правильный редирект с http на https

Ставить редирект не спешите. Яндекс рекомендует подождать, пока домены склеятся. Для Google можно сразу настраивать редирект. Лучше всего сначала дождаться склейки, потом ставить редирект. Подробнее про поисковые системы напишем ниже.

В файле .htaccess пропишите в начало:

Если не сработало, попробуйте

Читайте также:  Установка глонасса на газель

Здесь мы устанавливаем редирект на серверном уровне. Обратите внимание на то, что мы явно указываем на 301 редирект.

Второй вариант, используя php:

Данный код лучше разместить в своем плагине или в папке mu-plugins, в крайнем случае в functions.php Вашей темы. Чтобы при смене темы Вы не потеряли все редиректы.

Можно использовать оба варианта, но первый предпочтительнее, чтобы запросы обрабатывал сервер, а не PHP.

Как смена протокола влияет на SEO

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

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

В данный момент Google обещает отдавать предпочтение сайтам с https, как оно будет на практике покажет время.

Рекомендации Яндекса

UPD: Яндекс отказался от директивы Host, сейчас для Яндекса инструкция простая. Добавили домен, сразу настроили редирект.

Яндекс дал свои рекомендации по переезду, подробнее тут . Обязательно рекомендую изучить. Если коротко:

  1. Добавить новый сайт в панель вебмастера
  2. Настроить в robots директиву Host, важно, чтобы robots.txt был одинаковый у обоих сайтов. Не актуально.
  3. После признания обоих сайтов зеркалами, зайти и сменить протокол в вебмастере “Настройки индексирования — Главное зеркало”. Подождать несколько недель, пока не определиться главное зеркало.
  4. Настроить редирект со старого протокола на новый.

Рекомендации Google

Про перенос сайта для Google можно прочитать тут и тут .

  1. Добавить новый сайт в Search Console
  2. Убедиться, что со старого сайта с каждой страницы идет 301 редирект на новый

Как правильно переехать без потери позиций

  1. Убеждаемся, что все страницы правильно работают с https
  2. Прописываем в robots дерективу Host с https. Не актуально.
  3. Добавляем новый сайт (с https) в Вебмастер Яндекса
  4. Ставим редиректы 301 с http на https
  5. Добавляем новый сайт в Вебмастер Гугла

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

источник

Перевод сайта WordPress на HTTPS: инструкция технического перехода

Вводная часть

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

HTTPS и HTTP

Что такое HTTPS и чем он (протокол) отличается от HTTP лучше почитать более компетентные ресурсы. Безопасный протокол соединения (HTTPS) напрямую связан с получением сайтом сертификата безопасности, SSL. Покупая, вернее арендуя, домен по своим паспортным данным, вы уже имеете самый слабый сертификат безопасности. Но этот сертификат на дает вам, «зеленый замок» в адресной строке браузера.

Зачем переходить на HTTPS

Опять-таки, о мотивациях перехода на HTTPS написано масса статей. Я перечислю те причины перехода на HTTPS, которые мотивировали меня:

  • Сообщение Google, что HTTPS стал фактором ранжирования;
  • Заявление Mozilla, о прекращении поддерживать в своем браузере HTTP соединения (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 с красными флагами для всех небезопасных сайтов.

Напористость Google в процессе сертификации сайтов, рано или поздно, перекинется и на Яндекс, а вот он предупреждать не будет и введет новый фильтр для «Небезопасных сайтов».

Читайте также:  Установка задний парктроник на шевроле авео

Перевод сайта WordPress на HTTPS — Задача

Итак, задача. Перевести сайт WordPress на отклик по безопасному протоколу https, то есть, сайту нужно получить сертификат безопасности SSL.

Важно! Задача перехода на HTTPS для сайта WordPress, состоит из трех взаимосвязанных, но практически независимых задач:

  1. Техническое подключение защищенного протокола SSL;
  2. Переадресация сайта http:// на сайт https://
  3. Замена всех внутренних ссылок сайта на безопасные ссылки https:// или на относительные ссылки.
  4. оптимизация переезда на новый протокол, для восстановления (сохранения) поисковых позиций.

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

Примечание: На момент выхода статьи, я еще не готов сказать, что дал мне переход на HTTPS (SSL), кроме потраченного времени и «зеленого замка» в адресной строке.

Техническое подключение защищенного протокола SSL

На сегодня, есть несколько схем подключения защищенного протокола SSL: платные и бесплатные.

  • Платно, вы можете купить сертификат безопасности в специальных центрах сертификации (CA), от 500 рублей за домен в год, получить два ключа и показать эти ключи на своем хостере. Эта статья не об этом.
  • Некоторые хостинги, предоставляют бесплатную услугу подключения защищенного протокола SSL к любому домену.
  • Использовать облачные сервера в услуги которых, входит получение SSL.
  • Покупать сертификат безопасности, для не коммерческого сайта я бы не стал. Не вижу смысла. Мне повезло, я смог техническое подключение защищенного протокола SSL выбрать по бесплатной схеме, так как мой хостер предоставляет такую услугу бесплатно.

Примечание: В предоставлении хостинг компанией бесплатных SSL сертификатов нет ничего не обычного. С тех пор как появился центр бесплатной сертификации Let’s Encrypt (о нем ниже), любая хостинг компания может установить и бесплатно предлагать сертификацию SSL своим клиентам. Список западных хоcтинг, компаний работающих с Let’s Encrypt тут. Среди отечественных могу посоветовать:

Итак, я могу включить протокол SSL на сервере своего хостера.

Включить протокол SSL на сервере своего хостера

Шаг 1. Предварительная проверка сайта

Начнем с проверки, а вдруг ваш домен уже имеет сертификат. Предлагаю следующий инструмент проверки: (https://www.sslshopper.com/).

Шаг 2. Для домена сайта, в административной панели, включаем поддержку режима SSL.

Шаг 3. Подключение сертификата на сервере хостинга

Смотрим в панели DirectAdmin. Вкладка «SSL сертификаты». Повторюсь, мой провайдер предлагает стандартные варианты получить сертификат безопасности и среди них, вариант: Free & automatic certificate from Let’s Encrypt.

Мой сайт некоммерческий и мне вполне достаточно, получить сертификат на Let’s Encrypt (https://letsencrypt.org/) тип сертификата: 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 после подключения SSL сертификата

Прежде всего, проверяем доступность сайта по двум протоколам: http и https.

Если вы не включали переадресацию http на https в административной панели хостинга, сайт должен открываться по двум адресам http и https. Если это не так, нужно исправлять.

Доступность сайта по двум протоколам,- говорят знающие оптимизаторы, является негативным фактором для поисковиков и отрицательно влияет на позиции сайта в выдаче. Верим и делаем переадресацию http на https.

Переадресация http на https

Способ 1. Мне опять везет, я делаю это из панели своего хостинг провайдера.

Способ 2. Если ваш сайт работает в веб-сервисом Apache, то в файл .htaccess, который должен быть в корне сайта. Вписываем две директивы для Apache:

Читайте также:  Установка кнопки на передний парктроник

Если ваш сайт работает на «чистом» Nignx, то файл .htaccess не поможет, пишите в суппорт и спрашиваете, что делать.

Способ 3. Работает при доступности сайта по двум протоколам: http и https и не отменяет первые два пункта. Идете в панель сайта WordPress, на вкладку Настройки>> Общие>>Адрес сайта и Адрес сайта WordPress. В этих двух формах, вписываем домен сайта сайт с https.

Если сайт не был доступен по https, вы потеряете доступ в панель. Чтобы восстановить доступ, читаем тут или смотрим видео:

Первая проверка перевода сайта WordPress на HTTPS

После правильно выполненной переадресации, ваш сайт должен открываться только по безопасному протоколу https. Чтобы не путаться, обновите закладки в браузере.

Меняем ссылки сайта WordPress

Для сайтов WordPress, в отличие от сайтов на Joomla, нужно все существующие ссылки на сайте перевести в протокол https. Было бы хорошо, чтобы все внешние ссылки, тоже были безопасными. Если это не возможно, на этих страницах, вместо зеленого замка в строке браузере, будет предупреждение о наличие на сайте небезопасного контента. Называется эта ошибка, Mixed Content (смешанное содержание).

Относительный адрес вне зависимости от протокола:

Абсолютный адрес разрешенный SSL:

Абсолютный адрес Mixed Content:

  • Чтобы устранить смешанное содержание (Mixed Content) на сайте WordPress, вам нужно. Все внутренние абсолютные ссылки сайта указанные с http, перевести в относительные ссылки типа: //domen.ru/content. В этом случае, браузер сам решает, безопасный протокол или нет.
  • Все внешние ссылки должны быть с ресурсов поддерживающих протокол HTTPS, иначе браузер покажет ошибку «Mixed Content».

Самый простой способ это сделать, установить специализированный плагин WordPress. Я пробовал два плагина:

  1. «HTTP/HTTPS». Этот плагин без настроек. Замечены преобразования не всех ссылок.
  2. «Easy HTTPS (SSL) Redirection». Этот плагин с легкими настройками. Добивает недостатки первого плагина.

Перевод сайта WordPress на HTTPS плагины Перевод сайта WordPress на HTTPS плагин HTTP-HTTPS

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

Важно! Перед установкой этих или этого плагина, проверьте доступность сайта по двум протоколам http и https. Если видите ошибки, вероятно, не включен режим SSL на сервере. Проверьте его подключение в панели хостинга, если всё включено пишите в тех.поддержку.

Если после установки плагинов сайт пропал, идите на сайт по FTP и правьте файл .htaccess. Именно в него эти плагины записывают правила переадресаций.

Нужно ли менять адреса в настройке Общие

Это важно! Если вы сделали переадресацию http на https в панели хостинга, то НЕ НУЖНО менять адреса в настройке Общие. Этим вы создадите циклическую переадресацию и сайт (вернее админ панель) будет недоступна. Исправить это не сложно (видео выше).

Что делать со ссылками в скриптах

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

Вторая проверка сайта

Если после смены всех ссылок сайта вы все равно видите предупреждение браузера о ненадежности сайта, делаем вторую проверку в браузере Google Chrome.

  • Откройте сайт в браузере. На правой кнопке мыши, открываем «Просмотр кода».
  • Внизу или справа окна браузера появится окно инструментов.
  • На вкладке Security, вы увидите подключенные сертификаты и если есть, сообщение об Mixed Content .

  • На вкладке Console. Вы увидите, перечисленные проблемные ссылки «Mixed Content» с нормально читаемыми пояснениями.
  • Вполне возможно, что вы забыли очистить кеш сайта, если используете плагины кеширования.
  • Не забудьте почистить кеш браузера.
  • Некоторые ссылки придется поменять «вручную».

Выводы

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

источник

Добавить комментарий