На сайте используется незащищенный протокол http как исправить wordpress

Ошибка протокола https в блоговом движке wordpress

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

ошибка протокола https

Краткая справка: HTTPS не является отдельным протоколом. Это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS. Он обеспечивает защиту от атак, основанных на прослушивании сетевого соединения — от снифферских атак и атак типа man-in-the-middle, при условии, что будут использоваться шифрующие средства и сертификат сервера проверен и ему доверяют.

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

firefox https

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

В данном видео я покажу как на практике исправить ошибки протокола https в wordpress. Для работы я использовал три инструмента: плагин Search Regex, программу Screaming Frog SEO Spider и приложение браузера Mozilla Firefox.

После получения ssl-сертификата и подключения wordpress-сайта к протоколу https, необходимо зайти в настройки самого движка и изменить адрес блога.

https

Самое главное действие которое необходимо сделать перед тем как устранить ошибки протокола https — это сделать резервную копию wordpress.

Затем установить плагин и активировать его. Первоначально мы можем быстро найти и исправить все ссылки на блоге имеющие адрес http://… на https://…

В большинстве случаев, после этой процедуры, останется совсем немного ошибок. Чтобы их найти, устанавливаем на компьютер программу Screaming Frog SEO Spider и ищем все остальное. В главное поле подставляем адрес сайта и нажимаем кнопку «start».

Screaming Frog SEO Spider

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

Устраняем ошибки с помощью плагина. В верхнее поле подставляем несуществующий адрес, а в нижнее-реальный и жмем кнопку «Replace & Save».

Search Regex

Большинство ошибок бывает связано с изображениями когда вроде бы все сделано, но браузер Firefox показывает что не все проблемы устранены. И здесь можно воспользоваться приложением самого браузера нажав на изображение замка в адресной строке и ссылку «подробнее».

Приложение Firefox

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

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

Ошибка протокола https в wordpress — видео

Еще по теме: Незащищенный протокол HTTP как исправить

На чтение 5 мин Просмотров 1к. Опубликовано 02.02.2017

После того как установили SSL сертификат на ваш хостинг или vps (как установить бесплатный сертификат на vps читайте здесь) необходимо еще настроить CMS для корректного отображения в браузере. Настройка Wordpress SSL не сложный процесс. Рассмотрим возможные проблемы и методы их устранения, а так же рекомендации по использованию.

Содержание

  1. WordPress SSL и смешанный контент
  2. Смена основного адреса сайта с http на https
  3. Переадресация с HTTP на HTTPS
  4. HTTPS и поисковые системы

WordPress SSL и смешанный контент

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

скрипты из ненадежных источников

Все эти нюансы необходимо устранить. Ваша задача найти все сторонние скрипты, внутренние и внешние изображения, которые загружаются по http, а так же формы, которые отправляют данные по http (в параметре action, которых указан адрес начинающийся с http). Большинство счетчиков, виджетов и крупных рекламных сетей уже поддерживают работу по https, поэтому вам необходимо просто поменять код на универсальный (без указания протокола). Вместо http://site.ru/scrip.js указывается //site.ru/script.js. Таким образом браузер будет обращаться к этому сайту по тому же протоколу, что и основной сайт откуда вызван скрипт.

Чтобы найти все небезопасные элементы кликните по иконке протокола в адресной строке (1), а затем по ссылке подробнее в открывшемся окошке (2). Я показываю на примере браузера Google Chrome, но в других браузерах действия похожие (разве что в браузерах Microsoft не так, но кто их использует в нормальной жизни?).

смешанный контент (mixed content)

В открывшемся инспекторе мы видим внизу оповещение Active Mixed Content и ссылку на просмотр этого самого содержимого в сетевой панели. Кликаем по ней, а затем обновляем страницу и наблюдаем в окне какое содержимое загружается не по защищенному протоколу.

выявление mixed content в chrome

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

wordpress ssl

Внутренние изображения можно попытаться исправить отредактировав записи или сделав это массово запросом mysql. Однако если вы не опытны то лучше использовать сторонний плагин например SSL Insecure Content Fixer. Благо, если вы используете встроенные инструменты для редактирования сообщений и вставляете картинки штатным образом, то делать этого не придется.

Смена основного адреса сайта с http на https

Многие плагины используют системные параметры адреса сайта WordPress для формирования URL. Например это используется таким плагином как YOAST SEO для формирования XML карты сайта. Если вы переводите основное зеркало сайта на SSL, то необходимо, чтобы и в карте сайта отображались адреса страниц с HTTPS.

Для этого идете в настройкиобщие и меняете Адрес WordPress (URL) и Адрес сайта (URL) на адрес с SSL

Адрес сайта https wordpress

Переадресация с HTTP на HTTPS

Настройка WordPress SSL будет не полной без включения автоматической переадресации на защищенный HTTPS. Для этих целей существует 2 метода:

  1. Использовать плагин;
  2. Настроить вебсервер.

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

включение ssl на wordpress

Настройка вебсервера доступна только обладателям VPS или собственных серверов. Поскольку чаще всего в качестве front-end сервера используется nginx то вот его вариант настройки:

server {
 listen xxx.xxx.xxx.xxx:80;
 server_name example.ru www.example.ru;
 return 301 https://$host$request_uri;
}

server {
 listen 443 ssl http2;
 ssl_certificate /etc/letsencrypt/live/example.ru/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_prefer_server_ciphers on;
 ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
 ssl_buffer_size 4k;
 server_name example.ru www.example.ru;
.......


#прочие настройки сайта

}

Как видите в данном примере в виртуальном хосте для сайта создано 2 раздела server. Один слушает на 80 порту, а второй на 443 и при попадании клиента на сайт по http происходит автоматический 301 редирект на https.

HTTPS и поисковые системы

После того как вы провели все работы по переводу сайта на https настало время сообщить поисковикам об этой радостной новости.

С Google все просто. Вам необходимо зайти в консоль вебмастера и просто добавить еще один сайт с https. Не смущайтесь, если вы уже добавляли ранее этот же сайт без https. Через некоторое время Google склеит оба сайта и в выдаче будет показывать уже защищенную версию сайта на тех же позициях (а то и выше!).

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

переезд сайта яндекс

Затем отметить галочку «Добавить HTTPS» и нажать кнопку сохранить.

переезд сайта https яндекс

После этого дождаться когда Яндекс склеит сайты и обновит поисковую выдачу.

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

  • Что такое HTTPS и зачем на него переходить
  • Как настроить HTTPS для WordPress
  • Шаг 1. Заказ, активация и установка SSL-сертификата
  • Шаг 2. Перевести сайт на HTTPS
  • Шаг 3. Переадресация внутренних ссылок с HTTP на HTTPS
  • Шаг 4. Оповещение поисковых систем

В этой статье мы расскажем, как установить SSL на WordPress и что сделать, чтобы сайт работал по HTTPS-протоколу.

Что такое HTTPS и зачем на него переходить

В процессе работы в интернете пользователи постоянно передают конфиденциальную информацию (паспортные данные, номера телефонов, банковские реквизиты). Стандартно работу веб-пространства обеспечивает протокол HTTP. Также его называют протокол незащищённого соединения. Если вы используете этот протокол, злоумышленники могут легко перехватить любую информацию.

Для защиты данных был создан SSL-сертификат, который обеспечивает защищённое соединение HTTPS (HTTP+S). SSL-сертификат — это виртуальный документ, который подтверждает подлинность сайта и гарантирует безопасное соединение. Сертификат создает дополнительную защитную оболочку вокруг HTTP-протокола, что не дает злоумышленникам перехватить важные данные. Подробнее можно узнать в статье Что такое SSL-сертификат и зачем он моему сайту. 

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

В WordPress переход на HTTPS проходит в 4 шага:

  1. Закажите, активируйте и установите SSL-сертификат.

  2. Переведите сайт на HTTPS.

  3. Перенаправьте все ссылки вашего сайта на новый URL.

  4. Оповестите поисковые системы.

Шаг 1. Заказ, активация и установка SSL-сертификата

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

Выбрать тариф и перейти к покупке сертификата вам поможет статья Тарифы сертификатов. Как купить SSL.

Также при покупке или переносе домена от другого регистратора можно получить бесплатный SSL на 1 год. О том как его получить и в чем его плюсы и минусы, читайте в статье Как заказать бесплатный SSL-сертификат.

Далее идёт этап активации сертификата. Для этого надо подтвердить заказ по email домена, который вы создали до заказа SSL. На почтовый ящик домена придёт письмо со ссылкой для подтверждения. Подробнее читайте в инструкции Как подтвердить email при заказе SSL. 

Последний этап ― установка на хостинг. Чтобы узнать, правильно ли установлен SSL-сертификат, воспользуйтесь сервисом SSL Check.

Готово, теперь можно перейти к шагу 2.

Шаг 2. Перевести сайт на HTTPS

После установки SSL-сертификата сайт по умолчанию все равно открывается по небезопасному протоколу http://. Чтобы сайт открывался по защищённому протоколу, нужно поменять основную ссылку в административной панели WordPress на https://. Для этого:

  1. Войдите в админку WordPress.

Как зайти в админку WordPress

  1. В адресной строке браузера к вашему домену добавьте /wp-admin:

       2. На открывшейся странице введите логин и пароль, нажмите кнопку Войти. Доступы для управления сайтом указаны в письме, которое вы получили после заказа, а также в Личном кабинете в карточке хостинга.

       2. Перейдите в раздел Настройки. На странице «Общие» в строках «Адрес WordPress (URL)» и «Адрес сайта (URL)» замените префикс http:// на https://. Затем нажмите Сохранить изменения:

                                                       Как подключить SSL WordPress

Готово, теперь сайт доступен по протоколу HTTPS. 

Шаг 3. Переадресация внутренних ссылок с HTTP на HTTPS

Обратите внимание! При серьезных изменениях сайта рекомендуем сделать бэкап. Если в процессе настройки появится ошибка, сайт можно будет восстановить.

Несмотря на то, что после основной установки сертификата сайт работает по HTTPS-протоколу, внутри сайта могут находиться ссылки на внутренние страницы и файлы, которые могут работать по HTTP. Из-за таких файлов поисковые системы будут считать сайт небезопасным и может появиться ошибка «Mixed сontent». Чтобы этого избежать, измените все внутренние ссылки на относительные (без указания протокола и домена). Например, http://example.ru/page/ на /page/.

В WordPress для этой задачи есть плагины, например Really Simple SSLSearch Regex и Easy HTTPS Redirection. Ниже мы рассмотрим, как с ними работать. 

Как сделать редирект в Really Simple SSL

  1. Перейдите в раздел «Плагины». Нажмите кнопку Добавить новый и в строке поиска введите Really Simple SSL. Затем нажмите Установить:

                                                        WordPress HTTPS настройка

       2. Нажмите Активировать:

       3. Нажмите «Вперёд, активируйте SSL!»:

Готово, вы активировали плагин Really Simple SSL. Теперь внутренние ссылки будут работать по защищённому протоколу HTTPS.

Как сделать редирект в Search Regex

  1. Перейдите в раздел «Плагины». Нажмите кнопку Добавить новый и в строке поиска введите Search Regex. Затем нажмите Установить:

       2. Нажмите Активировать:

       3. Зайдите в рубрику ИнструментыSearch Regex.
       4. В строку Search введите старый URL с http://. В строку Replace введите новый URL с https://. В строке Source выберите те виды файлов, которые хотите проверить. Нажмите Search:

Готово, плагин даст полный список файлов, в которых встречается протокол HTTP. Замените протоколы на защищенные.

Как сделать редирект в Easy HTTPS Redirection

  1. Перейдите в раздел «Плагины». Нажмите кнопку Добавить новый и в строке поиска введите Easy HTTPS Redirection. Затем нажмите Установить

       2. Нажмите Активировать:

3. Перейдите в НастройкиHTTPS Redirection.

4. Отметьте галочку в строке Enable automatic redirection to the «HTTPS».

5. В графе «Apply HTTPS redirection on» выберите The whole domain.

6. Поставьте галочку напротив Force resources to use HTTPS URL.

7. Нажмите Сохранить изменения:

Готово, теперь все файлы вашего сайта будут работать по протоколу HTTPS.

Шаг 4. Оповещение поисковых систем

Если до установки SSL вы пользовались Яндекс.Вебмастером или Google Search Console, то нужно оповестить поисковые системы о смене протокола.

Обратите внимание! Переезд на HTTPS и смена зеркал сайта может занять 2-4 недели. В это время сайт будет ранжироваться в поисковой выдаче ниже, чем при обычной работе. Чтобы не потерять потенциальных клиентов выберите подходящее для перехода время.

  1. Авторизуйтесь в Яндекс.Вебмастере.

  2. Добавьте новую версию сайта с HTTPS в Яндекс.Вебмастер.

Как добавить сайт в Яндекс.Вебмастер

  1. Нажмите кнопку +:

        2. В поле укажите адрес сайта. Если на сайте подключён SSL-сертификат, укажите домен с https, например https://2domains.ru. Нажмите Добавить:

       3. Подтвердите права на данный адрес любым предложенным способом. Нажмите Проверить:

Готово, вы добавили сайт в Яндекс.Вебмастер.

       3. Затем выполните переезд сайта на HTTPS. Зайдите в старое зеркало сайта. В разделе «Индексирование» ― «Переезд сайта» поставьте галочку Добавить HTTPS. Нажмите Сохранить:

Как только заявка будет принята, в системе появится уведомление. Если вы подписаны на email-рассылку, Яндекс пришлёт уведомление о склейке зеркал:

Добавьте новую карту сайта:

  1. Добавьте новое зеркало с HTTPS. Кликните на меню в левом верхнем углу и нажмите Добавить ресурс:

       2. Выберите тип ресурса и нажмите Продолжить. Подтвердите право собственности:

       3. Добавьте новую карту сайта. Нажмите Отправить:

Если у вас есть отклоненные ссылки в Disavow Tool, то загрузите их заново.

Готово, теперь ваш сайт полностью перешел на HTTPS.

В статье мы расскажем, зачем переводить свой сайт на HTTPS, как подключить SSL на WordPress и как настроить редирект с HTTP на HTTPS.

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

Любое действие в Интернете — это обмен данными. Каждый вбитый в поисковую строку запрос проходит путь от пользователя к серверу и обратно. В основе этого обмена лежит работа интернет-протоколов.

Раньше информация передавалась только через незащищенный протокол HTTP. При таком обмене данные (пароли, реквизиты, номера банковских карт) могли легко перехватить злоумышленники. Поэтому разработали HTTPS — протокол безопасного соединения. Защищенный протокол HTTPS работает по принципу непрерывного обмена ключами шифрования между сервером и браузером.

Чтобы сайт стал работать по безопасному соединению HTTPS, нужен SSL-сертификат. SSL-сертификат — это виртуальный документ, который подтверждает подлинность веб-сайта и гарантирует безопасное соединение. Благодаря SSL-сертификату пользователи понимают, что сайту можно доверять. Для сайтов с активным обменом данными (интернет-магазинов, корпоративных сайтов, крупных проектов) установка SSL не просто хороший тон, а необходимость. Подробнее читайте в статье В чём фишка HTTPS, или зачем мне SSL-сертификат?

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

Для сайта, созданного на WordPress, переход с HTTP на HTTPS состоит из трёх этапов:

  1. заказ, активация и установка SSL-сертификата на хостинг;
  2. перевод сайта с HTTP на HTTPS в WordPress;
  3. переадресация с HTTP на HTTPS.

Рассмотрим каждый из этапов подробнее.

Обеспечьте защиту передаваемых данных

Установите SSL-сертификат, и ваш сайт будет работать по безопасному соединению HTTPS

Заказать SSL

1 этап. Заказ, активация и установка SSL-сертификата

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

  • Как купить SSL-сертификат;
  • Как заказать бесплатный SSL-сертификат. Вы можете заказать SSL бесплатно на 6 месяцев, если у вас есть домен или хостинг в REG.RU (например, WordPress hosting или бесплатный хостинг для сайтов WordPress).

После оплаты заказа вам на почту придёт письмо с данными для активации SSL. Следуйте одной из инструкций: Как активировать сертификаты: OrganizationSSL и ExtendedSSL и Как активировать сертификаты: AlphaSSL и DomainSSL.

После активации SSL установите SSL-сертификат на хостинг. Не забудьте проверить правильность установки сертификата.

Если вы установили SSL-сертификат на хостинг, переходите к настройке сайта на HTTPS в WordPress.

2 этап. Перевод сайта на HTTPS

Чтобы ваш сайт открывался по защищённому протоколу, переведите его с HTTP на HTTPS в админ-панели WordPress. Для этого поменяйте две основные ссылки в базе данных сайта.

  1. 1.

  2. 2.

    Перейдите в раздел Настройки. На странице «Общие настройки» в строках «Адрес WordPress (URL)» и «Адрес сайта (URL)» замените префикс http:// на https://. Затем нажмите Сохранить изменения.

Готово, теперь ваш сайт доступен по протоколу HTTPS. Однако все ссылки на сайте и в административной панели продолжат работать по протоколу HTTP.

Чтобы перевести все ссылки на HTTPS, переходите к следующему шагу.

3 этап. Настройка переадресации с HTTP на HTTPS

На этом этапе нужно настроить 301 редирект — он перенаправит все ссылки вашего сайта со старого URL-адреса (http://) на новый (https://). Без редиректа на сайте вместо зелёного замка в строке браузера будет отображаться ошибка смешанного содержимого — «Mixed Content». Также 301 редирект позволит не потерять SEO-позиции сайта.

Настроить редирект с HTTP на HTTPS можно двумя способами:

  • на хостинге: в панели управления ISPmanager или в конфигурационном файле .htaccess через панели cPanel и Plesk по инструкции Редирект с http на https для Linux;
  • установить плагин Really Simple SSL на Wordpress по инструкции ниже.

Мы рекомендуем использовать плагин. Он позволяет настроить редирект на уровне PHP и меняет все ссылки в базе данных сайта автоматически.

Как настроить редирект с помощью плагина Really Simple SSL

Чтобы настроить редирект с помощью плагина:

  1. 1.

    Перейдите в раздел «Плагины». Нажмите кнопку Добавить новый и в строке поиска введите «Really simple ssl». Затем нажмите Установить:

  2. 2.

    После установки нажмите Активировать:

  3. 3.

    Чтобы подтвердить активацию, нажмите Активировать SSL:

  4. 4.

    Чтобы завершить активацию, нажмите Go to Dashboard:

Готово, вы активировали плагин Really Simple SSL. Если вы хотите скорректировать действие плагина, во вкладке Настройки пролистайте до блока «Общее», затем укажите нужные параметры и нажмите Сохранить:

Внимание

Если после активации и настройки плагина на вашем сайте по-прежнему отображается ошибка «Mixed Content», проверьте все ссылки на внешние ресурсы. Если они ведут на сайты с протоколом HTTP — замените их. Если это не поможет, обратитесь в службу поддержки.

Теперь ваш сайт в WordPress будет работать по защищённому протоколу HTTPS. Посетители не будут беспокоиться о сохранности своих данных при работе с вашим сайтом.

Как настроить HTTPS для плагина Elementor

Если вы используете плагин Elementor, то ссылки можно заменить в разделе «Инструменты». Для этого:

  1. 1.

    Перейдите в раздел Elementor — Инструменты. Выберите вкладку Сменить URL:

  2. 2.

    Заполните поля:

    • http://old-url.com — укажите ссылку на ваш сайт с протоколом HTTP,
    • http://new-url.com — укажите такую же ссылку, но с протоколом HTTPS.

    Затем кликните Сменить URL:

Готово, вы настроили HTTPS.

Публикация в группе: Полезное для WordPress

Категории группы: Настройка

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

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

Так как вопросом переезда на HTTPS я озадачился впервые, то прежде всего набросал небольшой план действий, который выглядел просто и вполне логично:

  1. приобретение и установка SSL-сертификата через панель управления хостинга
  2. переключение сайта на HTTPS-протокол, согласно рекомендаций для WordPress
  3. организация 301 редиректа страниц сайта с протокола HTTP на HTTPS через файл htaccess
  4. перевод внутренних ссылок сайта из абсолютных в относительные
  5. оформление переезда на новый протокол для поисковых сервисов через файл robots и панель управления самого сервиса

В таком порядке мы и будем продвигаться.

Приобретение и установка SSL-сертификата

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

Перед оплатой заказа SSL-сертификата я создал почту admin@codeseller.ru, на которую позже будут приходить письма необходимые для подтверждения заказа на SSL-сертификат.

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

Итак, через некоторое время техподдержка сообщила, что все в порядке — сертификат успешно установлен.

Переключение WordPress-сайта в режим HTTPS

Сразу сообщу, что это наверное самый сложный этап из всего плана действий, поэтому рассмотрю его наиболее подробно.

Идем в панель управления хостинга и переключаем работу сайта в режим HTTPS, далее идем в общие настройки сайта и изменяем «Адрес WordPress (URL)» и «Адрес сайта (URL)» с учетом протокола HTTPS. После сохранения настроек сайт уходит в цикличную переадресацию или, как еще говорят, в луп.

Согласно полученной из различных источников информации в файле wp-config.php требуется также размещать код:

define('FORCE_SSL_ADMIN', true);  
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)  
    $_SERVER['HTTPS']='on';

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

На этом этапе поддержка хостинга послала меня куда подальше, а именно на форум поддержки WordPress, поэтому пришлось полагаться только на себя.

Опять полез в интернет, в том числе англоязычный, но предлагаемые решения не работали.

Пришлось включить мозги и начать анализировать ситуацию. Решил посмотреть, а что собственно возвращает фундаментальная для WP функция is_ssl() на данном этапе, в возвращала она false, т.е. говорила нам, что никакого HTTPS на сайте сейчас нет. Именно поэтому и возникла цикличная переадресация, WP не фиксировал, что HTTPS режим работает и перенаправлял на HTTP, а сервер гнул свою линию и с HTTP перенаправлял обратно на HTTPS.

Функция is_ssl() понимает, что сайт работает в режиме HTTPS, только если в глобальном массиве $_SERVER передается ключ «HTTPS» со значением «on». Стал смотреть, что передает действующий сервер в массиве $_SERVER, оказалось, что ключ HTTPS не передается, приехали.

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

Но нам надо как то отличать загружается наш сайт по HTTP или по HTTPS, стал выяснять как это сделать. Как оказалось в массиве $_SERVER этим отличием является ключ «HTTP_X_HTTPS», который передается сервером, и как я понял, характерен только для данного хостинга, если его значение 1, значит сайт загружается по протоколу HTTPS, если этого ключа нет, значит протокол HTTP.

Изменяю приведенный выше код в файле wp-config.php под существующие реалии:

define('FORCE_SSL_ADMIN', true);  
if (isset($_SERVER['HTTP_X_HTTPS'])&&$_SERVER['HTTP_X_HTTPS']==1)
    $_SERVER['HTTPS']='on';

Сайт заработал!

Ок, основная проблема решена, можно переходить к следующему этапу.

301 редирект через .htaccess

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

В интернете для решения этой задачи широко применяется код, размещаемый в файле .htaccess:

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

Конечно же, этот код не работал у меня как нужно и отправлял сайт обратно в бесконечный луп. Если был сервер отправлял данные о включенном режиме HTTPS как $_SERVER[‘HTTPS’]=’on’, то все заработало бы, но тут Timeweb детка, поэтому, зная нюансы описанные выше, приходится изворачиваться и менять общепринятый код редиректа таким образом:

RewriteEngine On
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]100

Вот так редирект замечательно заработал.

Вспомнив техподдержку хостинга еще раз, переходим к следующему этапу.

Переделываем внутренние ссылки из абсолютных в относительные

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

  • http://codeseller.ru/polzovateli/ — абсолютная ссылка
  • /polzovateli/ — относительная ссылка

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

UPDATE `wp_posts` SET `post_content` = REPLACE (`post_content`, 'http://codeseller.ru/', '/')

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

Далее, аналогичным образом решаем проблему с абсолютными путями до аватарок пользователей сохраненных через плагин WP-Recall и Ulogin. Для этого делаем два запроса:

UPDATE `wp_usermeta` SET `meta_value` = REPLACE (`meta_value`, 'http://codeseller.ru/', '/') WHERE `meta_key` = 'rcl_avatar'
UPDATE `wp_usermeta` SET `meta_value` = REPLACE (`meta_value`, 'http://codeseller.ru/', '/') WHERE `meta_key` = 'ulogin_photo'

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

Остался последний штрих.

Сообщаем поисковикам о переезде сайта на HTTPS

Для поисковиков сайт на HTTP и сайт с тем же самым доменом, но на HTTPS — два разных сайта, поэтому фактически мы не сообщаем о смене протокола, а сообщаем о совершенно новом сайте.

Для этого производим несколько несложных действий:

  • прописываем в файле robots.txt новый host с протоколом HTTPS в качестве главного зеркала, например «Host: https://codeseller.ru»
  • переходим в панель управления Яндекс.Вебмастера и вебмастера Google и указываем свое доменное имя на новом протоколе в качестве главного зеркала.

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

UPD: Решение проблемы с работой крона

Чуть позже, после переезда на HTTPS, обнаружил проблему в работе wp-cron на сайте. Пока проблема в работе крона от WordPress работающего в обычном режиме не решена, решил использовать альтернативный вариант, прописав в файле wp-config.php:

define( 'ALTERNATE_WP_CRON', true );

События крона стали выполняться, но были замечены некоторые проблемы с работой определенных событий. В результате анализа выявил некорректную работу(?) стандартной wp-функции get_posts(), которая вызывалась внутри этих событий. В качестве решения пришлось написать прямой запрос к БД на получение необходимых данных из таблицы wp_posts. После этого проблему в работе крона на сайте можно было считать решенной.

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

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

Удачи с переездом на HTTPS.

Автор публикации


13K

Комментарии: 2816Публикации: 490Регистрация: 30-11—0001Продаж/Покупок: 0/0

В браузере видите ошибку смешанного содержимого на сайте WordPress?

Она возникает из-за неправильных настроек HTTP/SSL. Вообще это не влияет на функциональность веб-ресурса, но может отрицательно сказаться на SEO. Рассмотрим, как исправить ошибку смешанного содержимого в ВордПресс.

Что такое ошибка смешанного контента?

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

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

Защищенный сайт в веб-браузере

Если HTTP/SSL настроен неправильно, возле замка появится знак восклицания.

Незащищенный сайт в веб-браузере

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

Смешанное содержимое в Консоли браузера

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

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

Рассмотрим 2 способа.

Способ 1. Плагин SSL Insecure Content Fixer

Установите бесплатное дополнение.

После активации перейдите Настройки > Небезопасный контент SSL.

Настройкаа плагина SSL Insecure Content Fixer

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

1. Простой

Это самый быстрый и рекомендуемый метод для начинающих. Автоматически исправляет ошибку для скриптов, таблиц стилей и изображений из Медиабиблиотеки.

2. Содержимое

Если первый способ не работает, попробуйте этот. Он использует все функции первого, также проверяет контент и все текстовые виджеты.

3. Виджеты

Включает все исправления на уровне контента, а также вносит правки в ресурсы, загруженные во все виджеты.

4. Режим захвата

Вносит изменения на всей странице и заменяет все URL-адреса, которые начинаются с HTTP. Может снизить производительность сайта.

5. Захватить все

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

После выбора уровня прокрутите вниз и найдите опцию Определение HTTPS.

Выбор типа HTTPS в SSL Insecure Content Fixer

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

Другие опции нужны, если используете Cloudflare CDN или веб-сервер Nginx.

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

Способ 2. Плагин Better Search and Replace

Это еще одно удобное решение для правильной работы HTTPS-протокола.

После установки и активации в админке откройте Инструменты > Better Search Replace.

Замена в плагине Better Search and Replace

В поле Искать введите адрес своего сайта через http, а в Заменить на – с https.

Выберите все таблицы БД, в которых нужно сделать замену.

Замена строк в Better Search and Replace

Нажмите кнопку Запустить Поиск/Замену, чтобы запустить процесс замены.

Плагин работает с базой данных WordPress, поэтому он не сможет изменить ссылки в коде тем и плагинов.

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

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

  1. Что такое защищенное соединение
  2. Ошибка «Подключение к сайту не защищено»: как исправить
    •  «Подключение не защищено»: как исправить в Google Chrome и других браузерах владельцу сайта
    •  «Подключение не защищено»: как убрать ошибку на стороне пользователя
  3. Как подключиться по небезопасному соединению
    •  Google Chrome
    •  Mozilla Firefox
    •  Safari
    •  Яндекс.Браузер

Что такое защищенное соединение

Для передачи информации в интернете используется 2 протокола — HTTP и HTTPS.

HTTP (HyperText Transfer Protocol) — это протокол передачи гипертекста, который предназначен для передачи информации между клиентом и сервером. Раньше HTTP использовался только для гипертекстовых документов, но сейчас он может передавать любые данные: текст, картинки, видео, аудиофайлы. По протоколу HTTP данные передаются в незашифрованном виде, поэтому он не является безопасным.

HTTPS (HyperText Transfer Protocol Secure) — это защищенный протокол передачи данных. Его отличие от HTTP в том, что по нему информация передается в зашифрованном виде. Это обеспечивает безопасную передачу данных. Чтобы сайт работал по протоколу HTTPS, необходимо приобрести SSL-сертификат, установить его и настроить сайт для работы по HTTPS.

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

Ошибка «Подключение к сайту не защищено»: как исправить

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

«Подключение не защищено»: как исправить в Google Chrome и других браузерах владельцу сайта

«Подключение не защищено» — как исправить эту ошибку, если вы владелец сайта?
Чаще всего ошибка возникает по следующим причинам:

  • Установлен самоподписанный сертификат. SSL-сертификат можно купить или выпустить самостоятельно. Бесплатный самоподписанный сертификат тоже обеспечивает безопасность передаваемых данных, но браузер не доверяет таким сертификатам, поскольку они не верифицированы сторонним сертификационным центром. Из-за этого в браузере возникает ошибка. Платные сертификаты не только шифруют данные, но и гарантируют, что информация о домене и его владельце проверена независимым источником.
  • Срок действия SSL-сертификата истек. SSL-сертификаты приобретаются на определенный срок, чаще всего на 1 год. Когда срок приобретенного сертификата истекает, на сайте возникает ошибка. Чтобы исправить ее, нужно продлить SSL-сертфикат. Рекомендуем подключить автопродление SSL-сертификата, чтобы избежать ошибки.
  • Сайт не настроен для работы по HTTPS. После покупки SSL-сертификата необходимо настроить сайт для работы по HTTPS. Если этого не сделать, на сайте будет возникать ошибка.
  • Подключение к сайту защищено не полностью. Если владелец сайта установил SSL-сертификат и сделал переадресацию на HTTPS, внутри сайта могут остаться ссылки на внутренние страницы сайта или файлы, которые работают по HTTP. В таком случае браузер будет считать сайт небезопасным и выдавать ошибку. Чтобы исправить ее, владельцу сайта необходимо найти все HTTP-ссылки и перевести их на HTTPS. Если вы используете CMS WordPress, то можно воспользоваться специальным плагином Really Simple SSL.

«Подключение не защищено»: как убрать ошибку на стороне пользователя

Как отключить ошибку «Подключение не защищено» в Google Chrome и других браузерах, если вы пользователь? Прежде чем изменять настройки, убедитесь, что проблема не в вашем устройстве. Попробуйте открыть сайт на другом ПК или смартфоне. Если с другого устройства сайт открывается корректно, а на вашем устройстве возникает ошибка, попробуйте один из следующих способов решения проблемы:

  • Проверьте корректность даты и времени. Для установки соединения между сайтом и браузером важно, чтоб время и дата совпадали. Если на вашем устройстве установлены неправильные дата и время, это может стать причиной возникновения ошибки подключения. Время не должно быть выверенным до секунды, достаточно чтоб совпадал день и час. Некоторые браузеры научились выявлять эту проблему и при ее возникновении выдают соответствующее оповещение.
  • Почистите кеш и куки. Во временных данных могла сохраниться старая версия сайта с ошибкой. В таком случае сайт будет открываться некорректно, даже если ошибку уже устранили. Помимо этого, переполненная память кеша и куки влияет на работу браузера и может вызвать ошибки.
  • Отключите расширения. Иногда расширения могут мешать корректной работе браузера. Если вы недавно установили новые расширения, попробуйте отключить или удалить их.
  • Отключите антивирус и брандмауэр. Иногда антивирус и брандмауэр блокируют работу подозрительных сайтов. Если вы точно уверены в том, что ресурс безопасен, попробуйте временно отключить антивирус и брандмауэр. Если вы не уверены в безопасности сайта, делать этого не стоит.
  • Обновите браузер. Старые версии браузера со временем теряют свою актуальность. Если у вас старый браузер, обновите его.
  • Проверьте файл hosts. Злоумышленники могли проникнуть в файл hosts на вашем устройстве и подменить IP-адрес сайта. В таком случае вы попадаете на сайт-двойник, указанный мошенниками. Браузер или антивирус может заподозрить подмену и сообщить вам об этом, выдав ошибку. Откройте файл hosts и удалите из него посторонние записи.
  • Попробуйте подключиться к другой сети Wi-Fi. Ошибки могут возникать при использовании публичной сети Wi-Fi из-за их неправильной конфигурации. Попробуйте подключиться к другой сети или использовать VPN.

Как подключиться по небезопасному соединению

Ниже мы расскажем, как подключиться к сайту по HTTP при появлении ошибок  «подключение не защищено», «невозможно установить безопасное соединение», «этот сайт не может обеспечить безопасное соединение» в Google Chrome, Mozilla Firefox, Safari и Яндекс.Браузере.

Google Chrome

  1. Нажмите «Дополнительные»:

  1. Нажмите на ссылку «Перейти на сайт example.com (небезопасно)»:

Mozilla Firefox

  1. Нажмите «Дополнительно…»:

  1. Выберите «Принять риск и продолжить»:

Safari

  1. Нажмите «Подробнее»:

  1. Нажмите на ссылку «посетить этот веб-сайт»:

Яндекс.Браузер

  1. Нажмите «Подробности»:

  1. Выберите «Сделать исключение для этого сайта»:

Привет, Веб-Мастер! Настроил SSL-сертификат, но столкнулся с проблемой, что браузеры ругаются на твой сайт и блокируют контент?
Не переживай, сейчас поправим и небезопасный контент будет разблокирован на 100%!

Содержание

  1. Как выглядит ошибка в браузерах
  2. Решение проблемы с небезопасным контентом с помощью плагина WordPress
  3. Исправляем ошибку с блокировкой небезопасного контента вручную в файлах своего сайта

Как выглядит ошибка в браузерах

Данная ошибка по-разному показывается в различных браузерах, но корень проблемы у нее один — неверно передается контент по HTTPS-протоколу.

В Google Chrome:

Небезопасный контент заблокирован
Страница пытается загрузить скрипты из непроверенных источников.

google chrome заблокировал

В Opera ошибка выглядит таким образом:

Заблокирован небезопасный контент
Opera заблокировала на странице контент из небезопасных источников.

opera заблокировал

В Mozilla Firefox эта проблема отображается так:

Firefox заблокировал незащищенные части этой страницы.

mozilla firefox заблокировал

В стандартном от Windows 10 браузере Microsoft Edge ошибка будет такая:

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

edge заблокировал

Решение проблемы с небезопасным контентом с помощью плагина WordPress

Самый простой и быстрый способ исправить ошибку это поставить легкий плагин SSL Insecure Content Fixer. Он не мешает загрузке страницы, что хорошо скажется на скорости, а так же не требует сложных настроек, что является несомненно большим плюсом.

Плагин имеет всего несколько настроек:

SSL Insecure Content Fixer настройка

SSL Insecure Content Fixer настройка

Я рекомендую сначала поставить галочку на «Простой» способ. С вероятностью в 98% это решит проблему. Если вдруг не сработало, пробуем по очереди разные варианты. Так же рекомендую снять галочку с «WooCommerce + Google Chrome HTTP_HTTPS ошибки» если вы не используете WooCommerce у себя на сайте. Все остальные настройки по-умолчанию.

Исправляем ошибку с блокировкой небезопасного контента вручную в файлах своего сайта

Для тех, кто не любит использовать плагины (что странно, не?) вот метод ручного решения.

Необходимо вручную в файлах своей темы убрать ссылки по http-протоколу на элементы, которые являются частью страницы, т.е. ссылки на шрифты, скрипты, картинки и т.д.

Пример: очень часто встречается загрузка скрипта AJAX от Google через http протокол http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js.

Второй распространенный пример с разметкой Schema.org — http://schema.org/BlogPosting или http://schema.org/WPHeader и т.д.

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

В итоге просто просматриваем файлы темы c поиском (ctrl+F) на предмет в коде ссылок с http:// — рекомендую именно так и вбивать в поиск, иначе если вбить просто http, то поиск найдет и правильные ссылки https, что замедлит вашу работу. Чаще всего искать нужно в файле functions.php и в файлах в папке include.

Важно!!! Перед внесением изменений сделайте бэкап файлов и базы данных!

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

Я рекомендую все-таки решать проблему с помощью специального плагина. Это просто и быстро.

Антонио с WPbiz.ru

Манимейкер в сети с 2008 года

Подпишись

Вот и все! Я надеюсь у тебя все получилось и все работает так, как надо! Если вдруг что-то не вышло — смело пиши в комментарии, я с радостью помогу!
Удачи!

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Навесной котел аристон ошибка 104
  • На сайте возникла критическая ошибка пожалуйста проверьте входящие сообщения почты
  • Навесной котел аристон ошибка 101
  • На сайте возникла критическая ошибка вордпресс
  • Навесной котел navien ошибка 02

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии