Смешанный контент как исправить
Определение и удаление смешанного контента
Несмотря на использование SSL-шифрования, сайт может не получить желанного «зеленого замка» (обозначающего защищенное соединение), а только примечание – «смешанный контент».
В этой статье вы узнаете, как найти на сайте и удалить смешанный контент, чтобы добиться SSL-шифрования.
Что такое смешанный контент?
Смешанный контент возникает, когда HTTPS-сайт, частично предоставляет материалы в незашифрованном виде через HTTP. Типичным примером смешанного контента являются изображения, аудио и видеофайлы, iFrames, CSS, а также файлы и объекты JavaScript.
В зависимости от используемого браузера обозначение смешанного контента может выглядеть в адресной строке по-разному.
Полностью зашифрованный ресурс будет обозначаться в адресной строке браузера следующим образом.
Инструменты разработчика (консоль), доступные в браузере Google Chrome или в Firefox, предоставляют подробный обзор того, какое содержимое сайта является смешанным контентом.
Отличия активного и пассивного смешанного контента
Существует два типа смешанного контента:
Удаление и замена смешанного контента (WordPress)
Проблема смешанного контента в WordPress может быть решена двумя простыми действиями:
Преобразование HTTP-ссылок в HTTPS-ссылки
Для замены ссылок в базе данных WordPress можно использовать различные методы. Важно: перед внесением изменений в базу убедитесь, что вы создали ее резервную копию.
1. Плагин WordPress: Better Search Replace
Плагин пробного запуска для поиска и замены в базе данных. Также можно включать или исключать отдельные таблицы.
Better Search Replace
2. PHP-скрипт: Database Search and Replace of Interconnect
PHP-скрипт, который нужно скопировать с помощью (S)FTP в подкаталог, расположенный в корне WordPress.
Основным преимуществом этого метода является независимость от действующей установки WordPress. Даже если база данных WordPress больше не работает, невозможно войти в бэкэнд WordPress, и у вас нет доступа к плагинам, то все равно можно внести изменения в базу с помощью Database Search and Replace.
3. WP-CLI: WP-CLI установлен на всех серверах веб-хостинга 1&1 IONOS.
С помощью этого инструмента командной строки можно настраивать ссылки в базе данных WordPress с помощью Database Search and Replace.
Для этого зайдите на сайт через SSH и перейдите в папку WordPress. Вы можете настроить ссылки с помощью этой команды:
Настройка редиректа 301
Если сайт работает на сервере Nginx, нужно добавить в конфигурацию VHost следующее:
В браузере по-прежнему отображается предупреждение о смешанном контенте?
К сожалению, на данный момент универсальных рекомендаций для решения подобной проблемы не существует.
Разработчики тем и плагинов для WordPress часто используют внешние ресурсы (например, Google Fonts) в исходном коде через HTTP. Но адаптация ссылок в этом случае не помогает. Исходный код темы / плагина нужно редактировать вручную.
Еще одной причиной появления смешанного контента могут быть файлы изображений, iFrame, CSS и JavaScript с внешних сайтов, которые встроены через HTTP-ссылки.
Пожалуйста, опубликуйте ваши отзывы по текущей теме статьи. Мы очень благодарим вас за ваши комментарии, отклики, лайки, подписки, дизлайки!
Смешанное содержимое HTTPS: как его найти и исправить
Приветствую вас уважаемые читатели, не так давно я получил SSL сертификат и перевел данный блог на https. Сегодня так сказать продолжение этой истории и мы поговорим о смешанном содержимом сайта — как его найти и исправить. Начнем пожалуй с теории.
Смешанное содержимое
И так, когда человек заходит на сайт по протоколу HTTPS, его соединение с веб-сервером шифруется с помощью TLS и защищено от различных атак и перехватчиков. В случае если на странице, переданной по HTTPS, содержит какой либо контент, передаваемый по HTTP, то соединение считается частично зашифрованным: потому, что все что передаётся по HTTP, можно перехватить и изменить, следовательно такое соединение уже не защищённое. И именно такие страницы называются страницами со смешанным контентом (содержимым).
Типы смешанного содержимого.
Есть 2 группы смешанного контента: Пассивный (отображаемый) и Активное содержимое. Разница между ними заключается в уроне, который может понести сайт в случае перехвата и изменения в процессе передачи.
А вот активный смешанный контент (это скрипты, фреймы), несет уже борее серьезные риски. Здесь уже хакеры могут украсть личные данные, перенаправить пользователей на небезопасный сайт и т.д.
Как исправить страницу с заблокированным содержимым и что может произойти если не исправить.
Сейчас практически все самые популярные браузеры по умолчанию блокирует активное смешанное содержимое.
И вот если ваш сайт работает по протоколу HTTPS, а весь его активный контент (ну или часть его), отправлен по HTTP, то он будет заблокирован. А от сюда вытекает следующее, у вас отвалятся слайдеры, выплывающие формы и т.д. в общем все что работает за счет скриптов и ваш будет работать неправильно. А на счет пассивного контента — он пока что загружается по умолчанию, но есть одно но, любой пользователь может заблокировать его в настройках браузера, а то не есть гуд!
В общем, вся суть заключается в следующем, раз вы не поленились перейти на https, то и не поленитесь избавится от смешанного контента!
Как исправить сайт
Самое адекватно решение — перевести весь контент сайта и все его запросы на HTTPS.
В случае с картинками с других ресурсов, можно проверить можно ли их получить по https, если да то просто сменить ссылки, если нет то скачать их с тех сайтов и залить к себе на сервер, ну и соотвественно сменить путь, да и со скриптами можно поступить также)
На счет относительных ссылок, есть одно но, тут браузер сам выбирает протокол, в вашем случае он будет выбирать https, если то возможно, а вот если невозможно, то запрос пойдёт по HTTP, и у нас снова старая проблема)
Как быстро найти и исправить смешанное содержимое
Вариант 1й. Можно использовать сервис SSL-check, он проверит ваш сайт на наличие HTTP запросов.
Вариант 2й. Через консоль браузера, Гугл хром или Мозилы, мне больше нравиться гугл (я пошел этим путем). Как искать контент данным способом, показано в видео ниже.
И так вы нашли смешанный контент, все круто, в случае с картинками все достаточно просто, посмотрел что за картинка, нашел ее на сайте и изменил. В случае со скриптами все гораздо сложнее, особенно если у вас стоит какой нибудь движок типа того же wordpress с кучей включенных плагинов, вы же не знаете (97% пользователей обычно не знают) какой плагин какие скрипты подключает, а как узнать? В моем случае, у меня клевый хостинг (Бегет — всем рекомендую его), с крутым файловым менеджером, в котором есть функция поиска
Вбил название скрипта, он про шерстил все папки сайта, плагинов, тем и т.д. и показал файлы в которых они подключены, следовательно заходишь в них и правишь протокол (лучше предварительно проверить в браузере, можно его получить с того же сайта но по https, если нельзя можно его от туда скачать и залить к себе и прописать новый путь получения). Если у вас более убогий файловый менеджер, тогда можно скачать весь сайт на компьютер, и проделать такой же поиск по файлам к примеру при помощи NOTEPAD++.
Вот в принципе и все! Удачи вам с борьбой со смешанным содержимым. Да и сделайте бэкапы на всякий случай, мало ли что) Если остались вопросы, задавайте в комментариях. Если самим не удается побороть смешанное содержимое, но очень хочется, можете написать мне в контакт: vk.com/justlech, обо всем договоримся!
После этого так же рекомендую проверить правильность установки SSL и если все нормально, то можно вздохнуть спокойно и закрыть этот вопрос)
Смешанный контент как исправить
При использовании протокола HTTPS необходимо следить за тем, чтобы на страницах присутствовало только защищенное содержимое. То есть все внутренние и внешние ссылки на изображения, скрипты, другие страницы сайта должны быть прописаны либо в относительном виде, либо с протоколом HTTPS. Желательно сразу все прописывать в относительном виде.
Соединение со страницей по протоколу HTTPS зашифровано с помощью TLS и защищено от перехвата данных злоумышленниками. Если на такой странице присутствует незащищенный контент, страница становится уязвимой — ее можно перехватить и внести изменения в код. Из-за этого соединение перестает быть защищенным.
Если на защищенной странице с протоколом HTTPS размещается ссылка, которая начинается с http://, это трактуется поисковыми системами как ошибка смешанного контента, на английском — «mixed content error», которая негативно влияет на продвижение сайта.
Согласно спецификации W3C, браузеры добавляют на страницы со смешанным содержимым предупреждения о незащищенном контенте:
Данную ошибку можно отследить с помощью консоли разработчиков Mozilla, а также посредством консоли JavaScript панели инструментов Google Chrome.
Предупреждение в Chrome:
Пассивный или отображаемый смешанный контент — те общедоступные элементы, похищение которых не позволяет получить конфиденциальную и финансовую информацию.
Перехват подобных данных по небезопасному протоколу не может принести материальной выгоды злоумышленникам. Единственное, что они могут сделать, — испортить внешний вид сайта подменой этого контента.
К пассивному смешанному контенту относятся картинки, аудио, видео и прочие элементы, в случае перехвата которых злоумышленники могут в хулиганских целях поменять файлы на какие-то нелицеприятные, нарушив стандартную работу ресурса.
Смешанный контент негативно влияет на отображение сайта и его продвижение, поэтому необходимо принимать меры по его своевременному обнаружению и устранению. Это необходимо для обеспечения безопасности пользователей ресурса, эффективного SEO-продвижения и устранения предупреждений браузеров.
Все браузеры обязаны информировать пользователя о наличии незащищенных элементов на странице, поэтому многие потенциальные посетители могут выбрать более безопасный сайт-конкурент, на котором не будет смешанного содержимого.
Обнаружить проблемы со смешанным контентом можно с помощью инструментов разработчиков браузеров, однако это требует продолжительного времени. Более оперативный способ — получить детальные сведения о всех проблемах, связанных с некорректным использованием протокола HTTP на сайте, с помощью Serpstat.
Сканировать сайт на предмет небезопасных ссылок нужно сразу после того, как сайт создан или переведен на https.
Как найти и убрать смешанный контент на сайте с HTTPS
О важности перехода на HTTPS уже даже перестали говорить — это и так всем известно. Более того, большинство активно развивающихся сайтов уже давно перешли на защищенный протокол.
Тем временем Google от рекомендаций перешел к более активной мотивации — начал блокировать сайты, которые используют HTTP. Казалось бы, у вас HTTPS, и нечего переживать по этому поводу. Но есть нюанс: если на сайте есть смешанный контент, вы рискуете попасть под горячую руку Google, несмотря на то, что большинство страниц подгружаются по HTTPS.
В статье рассказываем о том, что считается смешанным контентом, почему Google с ним борется, как найти его на своем сайте и устранить.
Смешанный контент — наличие на HTTPS-сайте контента, который доступен только по старому протоколу HTTP.
Например, у вас сайт давно переведен на HTTPS, и все страницы по умолчанию доступны по защищенному соединению — https://site.ru. Но на главной странице есть картинка, которая до сих пор загружается по незащищенному протоколу — http://site.ru/image.
По спецификации W3C смешанный контент делится на две группы:
Если изображения, аудио или видео доступны на сайте только по протоколу HTTP — браузер их заблокирует. Чтобы этого не произошло, такой контент нужно выявить и обеспечить его доступность по протоколу HTTPS.
С 2017 года в адресной строке Chrome начало отображаться уведомление «Not secure», если пользователь начинал заполнять формы ввода данных на сайте с HTTP.
Годом позже (после релиза Chrome 68) Google стал показывать «Not secure» по умолчанию для всех сайтов, которые не перешли на протокол HTTPS.
Самое интересное началось в 2019 году — Google объявил о планах постепенно избавляться от подгрузки ресурсов на сайтах по незащищенному протоколу HTTP.
В Chrome 80 браузер начал автоматически пытаться подгрузить аудио- и видеоконтент по https://. Если контент доступен только по http://, он блокируется браузером. При этом ресурсы все еще можно разблокировать вручную. В этой версии браузера изображения могут подгружаться по старому протоколу http://, однако в адресной строке отобразится сообщение о незащищенном соединении:
И наконец, к релизу Chrome 81 (февраль 2020) Google планировал обновление в отношении изображений. Если на HTTPS-сайте путь к изображениям прописан с использованием старого протокола, Chrome автоматически попытается загрузить их по https://. Если в этом случае изображения не смогут подгрузиться, браузер их заблокирует.
Важно! 4 июня 2020 года Google сообщил о переносе релиза функции на версию Chrome 84.
Активное подталкивание к миграции на https дало свои плоды: с ноября 2018 по ноябрь 2019 года доля сайтов, использующих защищенный протокол, выросла с 43,5% до 56,5%:
По состоянию на сентябрь 2020 года протокол https:// по умолчанию используют 64,8% сайтов:
В России 85% страниц, которые пользователи загружают в браузере Google Chrome, по умолчанию доступны по https://. В 2015 году доля таких страниц была на уровне 28%.
Сам Chrome в России популярен среди 41% пользователей:
Это существенная доля, поэтому стоит по максимуму избавляться от смешанного контента, если такой есть на сайте. Иначе из-за блокировки можно потерять позиции в поиске.
Есть несколько способов определить, что на сайте содержится смешанный контент.
Самый простой и очевидный способ. Покажем, как это выглядит на примере страницы, на которой есть изображение, подгружаемое по незащищенному протоколу.
В исходном коде мы видим:
В адресной строке Chrome отображается иконка с восклицательным знаком. При клике на иконку мы видим уведомление о том, что подключение к сайту защищено не полностью:
Похожее уведомление показывает и Мозилла:
Правда, такой способ годится больше в качестве индикатора — поможет увидеть, что на некоторых страницах сайта присутствует смешанный контент.
Недостаток способа — придется просматривать каждую страницу, чтобы получить полное представление о положении дел на сайте. А также вручную проверять, какие именно картинки, видео и другие ресурсы подгружаются по незащищенному протоколу.
Так можно проверить отдельные страницы сайта и оценить, насколько много смешанного контента на них.
Поиск найдет все упоминания http в коде страницы и мы сможем определить, какие именно картинки, видео или другие типы ресурсов до сих пор используют незащищенный протокол.
Переходим на страницу, которую необходимо проверить, и жмем сочетание клавиш Ctrl + Shift + I для Windows или Cmd + Opt + J для Mac (откроется консоль разработчика). Если на странице обнаружен смешанный контент, в консоли отобразятся ошибки «Mixed Content».
Консоль удобна тем, что в ней отображаются сразу все ошибки, которые система нашла на странице. Так вы сможете понять, что именно подгружается по незащищенному протоколу и оценить объем работ по устранению. Единственный минус этого способа — нельзя автоматизировать проверку большого количества страниц.
JitBit — бесплатный сервис, который поможет быстро определить, есть ли на сайте смешанный контент и на каких именно страницах.
Работать с сервисом предельно просто:
Смешанный контент можно выявить с помощью Lighthouse — это бесплатный инструмент от Google с открытым исходным кодом для улучшения качества веб-страниц.
С помощью этого инструмента можно проверить любое количество URL и получить полный список ресурсов, которые подгружаются по HTTP.
Придется проделать некоторые дополнительные манипуляции, так как в Lighthouse по умолчанию нет отчета по смешанному контенту. Сейчас покажем, как это сделать.
1. Установите Google Canary (специальный браузер от Google для разработчиков).
3. Запустите командную строку Node.js.
4. Пропишите и выполните следующую команду:
Начнется установка Lighthouse.
Если установка прошла успешно, в консоли отобразится такое сообщение:
5. Пропишите команду для анализа и формирования отчета:
Вместо URL укажите адрес нужной страницы в формате site.ru.
Система начнет анализ страницы:
После окончания анализа система сообщит об этом и покажет путь к сохраненному отчету.
Отчет сохраняется в HTML и содержит две части:
Если на странице найден смешанный контент, в отчете вы увидите список ресурсов, в URL которых используется протокол http.
Чтобы проверить сразу группу страниц или все страницы сайта, воспользуйтесь следующей инструкцией:
Вместо «C:\Users\light\urls.txt» укажите путь к своему текстовому файлу со списком страниц.
Подождите, пока Lighthouse проверит все страницы и сформирует отчет (время формирования отчета зависит от количества страниц, которые вы проверяете).
Это самый удобный и быстрый способ — не нужно проверять каждую страницу отдельно и разбираться в консоли.
В Screaming Frog SEO Spider много различных функций, но нам понадобится отчет «Insecure Content». После запуска инструмент проанализирует ваш сайт и подготовит список всех ресурсов, подгружаемых по http.
Единственный минус — инструмент платный, стоимость лицензии — £149 в год.
Кстати, с помощью Screaming Frog можно парсить любую открытую информацию с любого сайта. Об этом у нас есть подробная статья с инструкцией.
После проверки сайта и обнаружения смешанного контента необходимо исправить ситуацию.
И тут может быть два варианта — ссылки с HTTP могут вести на внутренние ресурсы или на внешние.
В первом случае все решается достаточно быстро и просто — после миграции на https необходимо лишь поменять ссылки с абсолютных на относительные, настроить необходимые редиректы и все внутренние ресурсы автоматически подгружаются правильно.
Если же на сайте есть внешние ресурсы — тут ситуация посложнее.
Базово алгоритм решения проблемы с внешними ресурсами выглядит так:
Что делать, если внешние ресурсы доступны только по http, а по https не подгружаются?
Есть несколько вариантов решения этой проблемы:
Если при анализе сайта вы нашли один — два URL с http, их проще заменить вручную — отредактировать исходный код и указать правильный протокол.
Если же ссылок с http много, они размещены в стилях, скриптах и т.д. — тут нужен программист или специальные плагины.
Вот два популярных плагина для WordPress:
SSL Insecure Content Fixer. Плагин позволяет быстро исправить ссылки, в которых используется устаревший протокол. В настройках плагина доступно несколько уровней исправления. Рекомендуется начать с простого, так как он незначительно влияет на производительность сайта.
Важно! Будьте аккуратны при работе с плагинами. Вносите изменения только тогда, когда точно понимаете, что именно сделает плагин. Перед каждым изменением делайте резервную копию сайта. Если что-то пойдет не так — вы сможете без проблем откатить изменения и вернуться к предыдущей версии.
Нет времени разбираться в тонкостях поиска и ликвидации смешанного контента? Специалисты PromoPult сделают все необходимые работы за вас в рамках модуля SEO. Все по чек-листу и в оговоренные сроки. Возможна оплата в рассрочку. Регистрируйтесь в PromoPult и забудьте о технических проблемах на сайте.
Если у вас сайт изначально идет без ssl то никакие браузеры его блочить не будут. Если вы поставите ssl а потом уберёте, то начнутся блокировки. У меня хватает сайтов без ssl и никто их не блочит и трафик есть даже с новых доменов.
Как устранить смешанный контент в WordPress
После того, как SSL-сертификат был успешно выпущен и установлен на сайт, в строке браузера отображается желаемая зеленая полоса с надписью «Защищено». Но иногда вместо нее пользователи видят сообщение «Подключение к сайту защищено не полностью» или же желтый треугольник с восклицательным знаком. Данная ситуация достаточно распространена и причина тому — наличие смешанного контента на сайте.
Основные причины:
Чтобы убрать смешанный контент, необходимо найти все файлы в коде сайта, в которых хранится ссылка с 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 имеют свою файловую структуру, именно поэтому сложно подготовить универсальное решение для устранения смешанного контента. Надеемся, наша инструкция вам поможет!























