После того, как SSL-сертификат был успешно выпущен и установлен на сайт, в строке браузера отображается желаемая зеленая полоса с надписью «Защищено». Но иногда вместо нее пользователи видят сообщение «Подключение к сайту защищено не полностью» или же желтый треугольник с восклицательным знаком. Данная ситуация достаточно распространена и причина тому — наличие смешанного контента на сайте. Основные причины: В CMS — системе управления контентом — не установлена переадресация на защищенный проток
Источник: Как найти и исправить смешанный контент в WordPress — HOSTiQ Wiki
После того, как SSL-сертификат был успешно выпущен и установлен на сайт, в строке браузера отображается желаемая зеленая полоса с надписью «Защищено». Но иногда вместо нее пользователи видят сообщение «Подключение к сайту защищено не полностью» или же желтый треугольник с восклицательным знаком. Данная ситуация достаточно распространена и причина тому — наличие смешанного контента на сайте.
Основные причины:
- В CMS — системе управления контентом — не установлена переадресация на защищенный протокол.
В этом случае достаточно включить переадресацию на протокол https в настройках вашей CMS. - На сайте расположены внешние ссылки на другие сайты, не использующие https протокол.
Для решения нужно избавиться от внешних ссылок, ведущих на небезопасный http протокол — удалить их или указать в них https вместо http. - Во время разработки сайта были добавлены ссылки на картинки через незащищенный http протокол.
Как раз этому случаю посвящена наша статья.
Чтобы убрать смешанный контент, необходимо найти все файлы в коде сайта, в которых хранится ссылка с http протоколом и изменить в ней протокол на https.
Давайте разберемся, как бороться со смешанным контентом на примере CMS WordPress.
Предполагаем, что вы уже установили SSL-сертификат и направили сайт на защищенный https протокол.
Если это еще не было сделано, выполните инструкцию по установке SSL-сертификата в cPanel.
Если на сайте присутствует смешанный контент, при переходе на сайт в строке браузера не будет замочка и отобразится сообщение «Подключение к сайту защищено не полностью».
Чтобы понять, какие элементы передаются по незащищенному http протоколу, откройте консоль браузера.
Для браузеров Chrome, Mozilla Firefox, Yandex — нажмите правую кнопку мыши, находясь на странице сайта, и выберите из выпадающего списка «Просмотреть код», «Исследовать элемент» или же «Inspect elements». Также можно воспользоваться клавишей F12.
Откроется инспектор элементов браузера:
Выберите вкладку Console:
Вы увидите ошибки на странице сайта, найденные браузером.
Нас интересуют ошибки «Mixed Content».
В них указана ссылка на элемент, подгружающийся по незащищенному http протоколу, в нашем случае это http://hoststat.tk/wp-content/themes/busiprof/images/logo.png.
Нажав левой кнопкой мыши на проблемную ссылку, откройте вкладку «Sources» и увидите элемент, который использует незащищенный http протокол:
Теперь мы знаем, какой элемент является причиной смешанного контента. Нам остается его найти в содержимом сайта и заменить протокол в ссылке с http на https, чтобы вместо http://hoststat.tk/wp-content/themes/busiprof/images/logo.png вышло https://hoststat.tk/wp-content/themes/busiprof/images/logo.png.
Чтобы понять, в каком файле может быть картинка, находим, в каком месте на сайте она используется:
В нашем случае причиной смешанного контента является логотип сайта. Теперь необходимо найти, в каком файле сайта находится ссылка на логотип. Для этого переходим в административную часть сайта (обычно по ссылке вида https://domain.com/wp-admin ).
Выберите «Внешний вид» — «Редактор»:
Откроется страница редактирования кода с двумя окнами — редактор и файлы темы:
Если вы не знаете, в каком файле темы находится проблемная ссылка, необходимо пересмотреть все файлы шаблона, пока не увидите ссылку с http. Для этого нажимаем во второй колонке на каждый файл по очереди:
При этом в левой колонке проверяем, используется ли в данном файле проблемная ссылка:
Удобно искать с помощью сочетания клавиш Ctrl+F, вставив в появившееся окошко нужную ссылку.
Наша картинка с логотипом находится в файле Заголовок (header.php), так как данный файл отвечает за расположение элементов в «хэдэре» («шапке») сайта.
Нашли ссылку, теперь добавляем букву s к незащищенному http протоколу и сохраняем файл кнопкой «Обновить файл»:
Получаем сообщение, что файл успешно изменен:
Повторяем действия с каждой проблемной ссылкой из консоли браузера.
После того, как заменили протокол на https в каждой из них, снова открываем сайт в браузере. Теперь он работает по защищенному https протоколу, и в консоли браузера больше нет ошибок смешанного контента:
Как вы видите, устранение смешанного контента не является трудоемким процессом. Основная сложность заключается в том, чтобы найти элементы, передающиеся по HTTP протоколу.
Стоит отметить, что каждый сайт и CMS имеют свою файловую структуру, именно поэтому сложно подготовить универсальное решение для устранения смешанного контента. Надеемся, наша инструкция вам поможет!