Смешанный контент как исправить

Время на прочтение
7 мин

Количество просмотров 21K

Смешанный контент при загрузке с HTTPS: как найти и побороть

Необходимость перехода на HTTPS — это затертая пластинка. Большинство коммерческих сайтов и читаемых блогов уже давно работают на защищенном протоколе. Казалось бы, перешли и забыли. Но нет — Google не дремлет. В свое время он промотивировал вебмастеров переходить на HTTPS, сделав его фактором ранжирования. А теперь пустил в ход «негативное подкрепление» — начал тотальную блокировку ресурсов, подгружаемых по HTTP. И — сюрприз — ваш прекрасный HTTPS может ему не понравиться, потому что на сайте присутствует смешанный контент.

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

Как Google мотивирует переходить на HTTPS: от пряника к кнуту

Борьба Google за безопасность передачи данных путем использования HTTPS началась давно:

  • 2010 — запущен зашифрованный поиск Google;
  • 2011 — HTTPS начал использоваться для поиска Google и Gmail по умолчанию;
  • 2014 — загрузка сайта через HTTPS стала сигналом ранжирования;
  • 2015 — робот Google начал индексировать HTTPS версии страниц по умолчанию;
  • 2017 — в Chrome 62 во время ввода данных на сайтах с HTTP в адресной строке браузера начало появляться уведомление о незащищенном соединении («Not secure»);

Смешанный контент при загрузке с HTTPS: как найти и побороть

  • 2018 — в Chrome 68 все сайты на HTTP начали помечаться в адресной строке как незащищенные;

Смешанный контент при загрузке с HTTPS: как найти и побороть

  • 2019 — Google объявил, что будет планомерно двигаться к тому, чтобы на HTTPS страницах загружались только HTTPS ресурсы. Как следствие, Chrome начнет блокировать смешанный контент.

Блокировка будет внедряться постепенно:

  • Декабрь 2019 — в Chrome 79 появится возможность разблокировать заблокированное содержимое. С помощью этой опции можно будет разблокировать скрипты, фреймы и другие виды контента, которые Chrome блокирует по умолчанию. Выглядеть эта опция будет так:

Смешанный контент при загрузке с HTTPS: как найти и побороть

  • Январь 2020 — в Chrome 80 аудио- и видеоконтент будет автоматически загружаться с HTTPS. Если загрузка по HTTPS не будет успешной, Chrome заблокирует такие ресурсы. При необходимости пользователи смогут вручную разблокировать их. В Chrome 80 изображения, загружаемые на HTTPS-сайтах c HTTP, блокироваться не будут, но появится сообщение, что соединение небезопасное.

Смешанный контент при загрузке с HTTPS: как найти и побороть

  • Февраль 2020 — в Chrome 81 изображения будут автоматически загружаться с HTTPS. Если они окажутся недоступными, браузер заблокирует их.

Блокировка смешанного контента применяется не только в Chrome. Например, активное содержимое блокирует Firefox (с версии 23), Internet Explorer (с версии 9) и другие браузеры. Но к блокировке картинок, аудио и видеоконтента приступили именно в Google.

В результате стимулирования перехода на защищенный протокол доля сайтов, которые используют HTTPS, за последний год увеличилась с 43,5% до 56,5%.

Смешанный контент при загрузке с HTTPS: как найти и побороть

А 85% страниц, загружаемых в Chrome пользователями из России, передают данные по HTTPS. В 2015 году этот показатель был всего 28%.

Смешанный контент при загрузке с HTTPS: как найти и побороть

С учетом того, что в России браузер Chrome использует около 41% пользователей, к блокировке смешанного контента стоит подготовиться, чтобы не потерять трафик и позиции в органике.

Смешанный контент при загрузке с HTTPS: как найти и побороть

Модуль SEO в системе Promopult: все инструменты для улучшения качества сайта и поискового продвижения. Полный комплекс работ — с нами вы не упустите ни одной мелочи. Чек-листы, подсказки, прозрачная отчетность и рекомендации профессионалов. Гарантии, оплата работ в рассрочку.

Давайте разбираться по порядку.

Что такое смешанный контент и почему его не должно быть на сайте

Смешанный контент (в оригинале — «mixed content») — это когда страница загружается по защищенному HTTPS соединению, но отдельные ресурсы (изображения, стили, скрипты и проч.) — по незащищенному HTTP.

Например, вы перешли на HTTPS (еще нет? вот инструкция). Но на одной из страниц вы по-прежнему загружаете изображение из внешней библиотеки, которая доступна по адресу вида site.ru. Это и есть смешанный контент.

Согласно спецификации W3C, смешанный контент делится на два вида:

  • опционально блокируемый (сюда относятся изображения, видео, аудио);
  • блокируемый (остальной контент — скрипты, стили, фреймы, flash и проч.).

Блокируемый контент является активным. Злоумышленники могут перехватить и изменить активный контент так, чтобы получить полный контроль над страницей или даже всем сайтом. Кража паролей и личных данных пользователей, cookies, перенаправление пользователей на другой сайт, изменение видимого содержимого — это лишь несколько примеров того, какие угрозы несет загрузка активного контента по HTTP.

Из-за высокого потенциального ущерба и риска для пользователей браузерам рекомендовано блокировать такой смешанный контент.

Вот некоторые типы HTTP-запросов, которые считаются активным содержимым:

  • <script> (атрибут src);
  • <link> (атрибут href) (в том числе ссылки в CSS);
  • <iframe> (атрибут src);
  • запросы XMLHttpRequest;
  • запросы fetch();
  • использование ссылок в CSS (font-face, cursor, background-image);
  • <object> (атрибут data).

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

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

Вот типы HTTP-запросов, которые считаются пассивным содержимым:

  • <img> (атрибут src);
  • <audio> (атрибут src);
  • <video> (атрибут src).

Если вы не хотите, чтобы ресурсы на вашем сайте были заблокированы, проведите его аудит, найдите смешанный контент и сделайте так, чтобы он был доступен по HTTPS.

Как обнаружить смешанный контент на сайте

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

По иконке в адресной строке браузера

Это самый очевидный способ. Откроем для примера защищенную страницу с изображением, которое подгружается по HTTP. Исходный код страницы такой:

Смешанный контент при загрузке с HTTPS: как найти и побороть

В браузере Chrome видим иконку, при клике по которой получаем пояснение:

Смешанный контент при загрузке с HTTPS: как найти и побороть

В Mozilla Firefox похожая история:

Смешанный контент при загрузке с HTTPS: как найти и побороть

Недостатки способа:

  • непонятно, какие именно ресурсы подгружаются по HTTP;
  • придется каждую страницу проверять вручную.

Поэтому это скорее индикатор, нежели полноценный способ поиска смешанного контента.

С помощью поиска по исходному коду страницы

Открываем исходный HTML код страницы в браузере (Ctrl + U) и ищем фрагмент «http:» (Ctrl + F).

Смешанный контент при загрузке с HTTPS: как найти и побороть

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

Уведомления в консоли разработчика

Открываем в Chrome страницу, которую хотим проверить, и нажимаем Ctrl + Shift + I. На странице есть смешанный контент, о чем свидетельствуют ошибки «Mixed Content» с подробным описанием.

Смешанный контент при загрузке с HTTPS: как найти и побороть

Аналогично можем проверить наличие ошибок в Firefox:

Смешанный контент при загрузке с HTTPS: как найти и побороть

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

SSL-чекер от JitBit

JitBit — это быстрый способ определить страницы сайта, на которых есть смешанный контент. Указываем домен — получаем список «проблемных» URL.

Смешанный контент при загрузке с HTTPS: как найти и побороть

Недостаток в том, что непонятно, какой именно смешанный контент есть на страницах. Придется потом все проверять вручную. Кроме того, сервис не подходит для сайтов, у которых более 300-400 страниц.

Отчет по смешанному контенту в Lighthouse

Этот способ позволяет получить данные сразу по массиву URL. Вам не придется проверять каждый URL вручную, и вы будете видеть полный список ресурсов, которые подгружаются по HTTP.

Но по умолчанию в расширении Lighthouse нет отчета по смешанному контенту. Его необходимо запускать из командной строки. Как это сделать:

1. Установите браузер для разработчиков Google Canary.

2. Установите Node.js.

3. Запустите командную строку Node.js.

4. Выполните команду:

npm install -g lighthouse

Начнется инсталляция Lighthouse.

Смешанный контент при загрузке с HTTPS: как найти и побороть

После успешного завершения установки вы получите такое уведомление:

Смешанный контент при загрузке с HTTPS: как найти и побороть

5. Запустите отчет с помощью команды (вместо URL подставьте адрес страницы в формате site.ru):

lighthouse --preset="mixed-content" URL

Начнется формирование отчета.

Смешанный контент при загрузке с HTTPS: как найти и побороть

После завершения система сообщит, в какой папке хранится отчет.

Смешанный контент при загрузке с HTTPS: как найти и побороть

По умолчанию отчеты сохраняются в формате HTML.

Вы можете изменить формат вывода данных с помощью команды –output. Для получения справочной информации по этой и другим командам введите в консоли:

lighthouse --help

Смешанный контент при загрузке с HTTPS: как найти и побороть

В отчете два аудита:

  1. Использование HTTPS.
  2. Безопасная загрузка ресурсов.

Смешанный контент при загрузке с HTTPS: как найти и побороть

Если есть проблемы, будет указано, какие именно ресурсы подгружаются по HTTP.

Отчет Lighthouse Mixed-Content сразу для нескольких URL

Для проверки нескольких URL:

1. Создайте TXT файл и поместите в него список URL для проверки.

Смешанный контент при загрузке с HTTPS: как найти и побороть

2. Создайте файл BAT и поместите в него такой код (в кавычках укажите путь к своему TXT файлу и его название):

@For /F "UseBackQ Delims=" %%A In ("C:Userslighturls.txt") Do @LightHouse "%%A" --preset="mixed-content"

3. Запустите файл BAT из командной строки. Если файл хранится в той же папке, что и отчеты, достаточно просто прописать название файла и нажать Enter. В противном случае нужно написать start и через пробел указать адрес файла BAT.

Смешанный контент при загрузке с HTTPS: как найти и побороть

Сколько придется ждать — зависит от количества URL в текстовом файле. По каждому URL вы получите отдельный отчет.

За этот способ спасибо Christopher Giezendanner.

Отчет по смешанному контенту в Screaming Frog SEO Spider

Это, наверное, самый удобный способ. Но, в отличие от предыдущих, он платный. Стоимость программы Screaming Frog SEO Spider — £149 в год.

Для получения данных запустите отчет «Insecure Content» — и у вас будет список ресурсов с HTTP.

Смешанный контент при загрузке с HTTPS: как найти и побороть

О том, как спарсить с помощью Screaming Frog практически любые данные с любого сайта, читайте в блоге PromoPult.

Как устранить смешанный контент

Итак, вы обнаружили на своем сайте смешанный контент. Примерно половина работы сделана. Но нужно еще устранить его. Единого решения нет — действовать придется по ситуации.

Ссылки с HTTP могут вести на внутренние ресурсы и внешние.

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

С внешними ресурсами не все так просто.

Идеальный сценарий такой:

  • находите URL с HTTP;
  • проверяете, доступен ли этот же ресурс по HTTPS;
  • если да, меняете ссылку с HTTP на HTTPS;
  • проверяете — если все работает, забываете о проблеме.

Но бывает, что ресурсы недоступны по HTTPS. В таком случае есть три решения:

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

Чисто технически проще заменить единичный URL (например, в статье вы сослались на сайт без HTTPS). Достаточно открыть исходный код и внести правку.

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

Например, для WordPress есть такие плагины:

  • SSL Insecure Content Fixer. Позволяет автоматически исправить ссылки на незащищенные ресурсы. Удобно, что можно выбрать разную «глубину» исправлений и при необходимости игнорировать внешние сайты.

Смешанный контент при загрузке с HTTPS: как найти и побороть

  • Really Simple SSL. Это плагин для быстрого перехода на HTTPS. Он автоматически меняет ссылки на относительные и устраняет смешанный контент. В PRO-версии есть возможность сканировать сайт на наличие смешанного контента.

Смешанный контент при загрузке с HTTPS: как найти и побороть

  • Search & Replace. Плагин для поиска и замены любого контента на сайте, в том числе смешанного. Домены меняются на вкладке «Replace Domain URL».

Смешанный контент при загрузке с HTTPS: как найти и побороть

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

Смешанный контент при загрузке с HTTPS: как найти и побороть

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

И да пребудет с вами сила HTTPS.

О важности перехода на HTTPS уже даже перестали говорить — это и так всем известно. Более того, большинство активно развивающихся сайтов уже давно перешли на защищенный протокол.

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

В статье рассказываем о том, что считается смешанным контентом, почему Google с ним борется, как найти его на своем сайте и устранить.

Что считается смешанным контентом и почему от него следует избавиться

Смешанный контент — наличие на HTTPS-сайте контента, который доступен только по старому протоколу HTTP.

Например, у вас сайт давно переведен на HTTPS, и все страницы по умолчанию доступны по защищенному соединению — https://site.ru. Но на главной странице есть картинка, которая до сих пор загружается по незащищенному протоколу — http://site.ru/image.

  • блокируемый (к этому виду относится активный контент — скрипты, фреймы и т.д.). Такой контент представляет интерес для злоумышленников, так как его можно использовать для внедрения вредоносного кода. А это влечет за собой угрозу сайту, пользователям и пользовательским данным. Большинство такого контента по умолчанию блокируется браузерами.
  • опционально блокируемый (пассивный контент — изображения, видео, аудио). Он не несет в себе прямой угрозы. Например, злоумышленники не могут с его помощью получить доступ к персональным данным пользователей или заблокировать работу сайта. И все же некоторая опасность сохраняется. К примеру, изображения можно заменить на другие. Это может привести к дезинформации пользователей или нанести ущерб репутации сайта (например, при размещении контента 18+).

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

Планы Google по отношению к смешанному контенту

С 2017 года в адресной строке Chrome начало отображаться уведомление «Not secure», если пользователь начинал заполнять формы ввода данных на сайте с HTTP.

Годом позже (после релиза Chrome 68) Google стал показывать «Not secure» по умолчанию для всех сайтов, которые не перешли на протокол HTTPS.

Самое интересное началось в 2019 году — Google объявил о планах постепенно избавляться от подгрузки ресурсов на сайтах по незащищенному протоколу HTTP.

  • В Chrome 79 (декабрь 2019 года) была реализована возможность разблокировать активный контент, который браузер блокирует по умолчанию:
  • В 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% пользователей:

Это существенная доля, поэтому стоит по максимуму избавляться от смешанного контента, если такой есть на сайте. Иначе из-за блокировки можно потерять позиции в поиске.

Ищем смешанный контент на сайте

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

По наличию предупреждения в адресной строке браузера

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

В исходном коде мы видим:

  • сама страница доступна по протоколу https:// — тут все в порядке;
  • изображение, которое находится на странице, расположено по адресу с незащищенным протоколом http://:

В адресной строке Chrome отображается иконка с восклицательным знаком. При клике на иконку мы видим уведомление о том, что подключение к сайту защищено не полностью:

Похожее уведомление показывает и Мозилла:

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

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

Поиск по исходному коду

Так можно проверить отдельные страницы сайта и оценить, насколько много смешанного контента на них.

Для этого:

  1. Переходим на страницу и открываем режим просмотра исходного кода (Ctrl + U).
  2. Жмем Ctrl+F и вводим «http:» для поиска по странице.

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

С помощью консоли разработчика

Переходим на страницу, которую необходимо проверить, и жмем сочетание клавиш Ctrl + Shift + I для Windows или Cmd + Opt + J для Mac (откроется консоль разработчика). Если на странице обнаружен смешанный контент, в консоли отобразятся ошибки «Mixed Content».

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

SSL-чекер от JitBit

JitBit — бесплатный сервис, который поможет быстро определить, есть ли на сайте смешанный контент и на каких именно страницах.

Работать с сервисом предельно просто:

  1. Указываем домен.
  2. Жмем «Check for SSL errors».
  3. Дожидаемся проверки ресурса. Если на отдельных страницах сайта есть смешанный контент — сервис выдаст список URL таких страниц.

Два недостатка:

  • Сервис дает только URL страниц, где обнаружен смешанный контент. К сожалению, нет отчета по самому контенту (то есть, чтобы выяснить, какой именно контент грузится по http, придется просматривать каждую страницу вручную).
  • Лимит на проверку одного сайта — 400 страниц. Если у вас больше — полноценно проверить свой сайт с помощью JitBit вы не сможете.

Анализ страниц сайта с помощью Lighthouse

Смешанный контент можно выявить с помощью Lighthouse — это бесплатный инструмент от Google с открытым исходным кодом для улучшения качества веб-страниц.

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

Придется проделать некоторые дополнительные манипуляции, так как в Lighthouse по умолчанию нет отчета по смешанному контенту. Сейчас покажем, как это сделать.

1. Установите Google Canary (специальный браузер от Google для разработчиков).

3. Запустите командную строку Node.js.

4. Пропишите и выполните следующую команду:

npm install -g lighthouse

Начнется установка Lighthouse.

Если установка прошла успешно, в консоли отобразится такое сообщение:

5. Пропишите команду для анализа и формирования отчета:

lighthouse –preset=”mixed-content” URL

Вместо URL укажите адрес нужной страницы в формате site.ru.

Система начнет анализ страницы:

После окончания анализа система сообщит об этом и покажет путь к сохраненному отчету.

Отчет сохраняется в HTML и содержит две части:

  1. Использование HTTPS.
  2. Безопасная загрузка ресурсов.

Если на странице найден смешанный контент, в отчете вы увидите список ресурсов, в URL которых используется протокол http.

Как проверить массив URL

Чтобы проверить сразу группу страниц или все страницы сайта, воспользуйтесь следующей инструкцией:

1. Создайте файл .txt (в Блокноте или любом другом текстовом редакторе). Разместите в файле список URL, которые необходимо проверить.

2. Затем создайте файл с расширением .bat и разместите в нем следующий код:

@For /F “UseBackQ Delims=” %%A In (“C:Userslighturls.txt”) Do @LightHouse “%%A” –preset=”mixed-content”

Вместо “C:Userslighturls.txt” укажите путь к своему текстовому файлу со списком страниц.

3. Откройте командную строку и запустите файл .bat.

Подождите, пока Lighthouse проверит все страницы и сформирует отчет (время формирования отчета зависит от количества страниц, которые вы проверяете).

Проверка страниц с помощью Screaming Frog

Это самый удобный и быстрый способ — не нужно проверять каждую страницу отдельно и разбираться в консоли.

В Screaming Frog SEO Spider много различных функций, но нам понадобится отчет «Insecure Content». После запуска инструмент проанализирует ваш сайт и подготовит список всех ресурсов, подгружаемых по http.

Единственный минус — инструмент платный, стоимость лицензии — £149 в год.

Кстати, с помощью Screaming Frog можно парсить любую открытую информацию с любого сайта. Об этом у нас есть подробная статья с инструкцией.

Как устранить смешанный контент

После проверки сайта и обнаружения смешанного контента необходимо исправить ситуацию.

И тут может быть два варианта — ссылки с HTTP могут вести на внутренние ресурсы или на внешние.

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

Если же на сайте есть внешние ресурсы — тут ситуация посложнее.

Базово алгоритм решения проблемы с внешними ресурсами выглядит так:

  • ищем ресурс, у которого URL с http (например, картинку);
  • проверяем, подгружается ли картинка, если использовать этот же URL, но с https;
  • если контент подгружается без проблем — просто прописываем в URL правильный протокол (https).

Что делать, если внешние ресурсы доступны только по http, а по https не подгружаются?

Есть несколько вариантов решения этой проблемы:

  1. Связаться с владельцем ресурса, где хостятся изображения или видео, и убедить его перевести сайт на https (вариант хорош в теории, но на практике вряд ли осуществим).
  2. Найти альтернативные ресурсы с https в качестве источников контента.
  3. Оставить все как есть. Это не очень хороший вариант с точки зрения Google, но если заменить ресурс совсем не получается, а контент важен для ваших пользователей — лучше оставить.

Плагины для автоматического устранения смешанного контента

Если при анализе сайта вы нашли один — два URL с http, их проще заменить вручную — отредактировать исходный код и указать правильный протокол.

Если же ссылок с http много, они размещены в стилях, скриптах и т.д. — тут нужен программист или специальные плагины.

Вот два популярных плагина для WordPress:

  • Really Simple SSL. Автоматически меняет ссылки с абсолютных на относительные и позволяет быстро решить проблему с наличием ресурсов, подгружаемых по http.
  • SSL Insecure Content Fixer. Плагин позволяет быстро исправить ссылки, в которых используется устаревший протокол. В настройках плагина доступно несколько уровней исправления. Рекомендуется начать с простого, так как он незначительно влияет на производительность сайта.

Важно! Будьте аккуратны при работе с плагинами. Вносите изменения только тогда, когда точно понимаете, что именно сделает плагин. Перед каждым изменением делайте резервную копию сайта. Если что-то пойдет не так — вы сможете без проблем откатить изменения и вернуться к предыдущей версии.

Нет времени разбираться в тонкостях поиска и ликвидации смешанного контента? Специалисты PromoPult сделают все необходимые работы за вас в рамках модуля SEO. Все по чек-листу и в оговоренные сроки. Возможна оплата в рассрочку. Регистрируйтесь в PromoPult и забудьте о технических проблемах на сайте.

Как настроить смешанный контент

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

Ошибки, связанные со смешанным контентом, возникают, если основной HTML-контент веб-страницы загружается через защищенное соединение HTTPS, а дополнительные элементы (изображения, видео, таблицы стилей, скрипты) – через незащищенный протокол HTTP. Это повышает уязвимость блога и делает его менее удобным для пользователей.

Описанные ошибки могут быть связаны с разметкой HTML или кодом JavaScript в следующих кодах:

  • исходный код шаблона;
  • исходный код записей и страниц;
  • исходный код гаджетов.

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

Откройте блог в последней версии Google Chrome и выполните следующие действия:

  1. При необходимости удалите из блога гаджеты, добавленные сторонними разработчиками.
  2. Откройте блог в браузере через соединение HTTPS.
  3. В верхней части браузера нажмите Посмотреть > Разработчикам > Консоль JavaScript.
  4. Проверьте наличие следующих ошибок:
    • “Mixed Content: The page at ‘https://<your-blog>.blogspot.com/‘ was loaded over HTTPS, but requested an insecure script ‘http://<some-url>/script.js‘. This request has been blocked; the content must be served over HTTPS”.
    • “Mixed Content: The page at ‘https://<your-blog>.blogspot.com/‘ was loaded over HTTPS, but requested an insecure image ‘http://<some-url>/image.jpg‘. This content should also be served over HTTPS”.
  5. Составьте список адресов, с которыми связаны неполадки, а также незащищенных URL, указанных в сообщениях об ошибках.  
  6. При необходимости верните в блог гаджеты, удаленные на первом этапе. Добавив очередной гаджет, повторяйте шаги 2–5 и проверяйте, не появились ли новые ошибки. 

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

Устранение ошибок смешанного контента

Ошибка на одной странице

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

  1. В панели инструментов блога выберите Сообщения или Страницы.
  2. В списке адресов с ошибками, который вы составили ранее, найдите нужную запись или страницу и выберите Изменить.
  3. В левом верхнем углу нажмите HTML.
  4. В верхней части окна браузера нажмите на значок  Ещё > Найти.
  5. Выполните поиск по запросу http://.
  6. Если вы нашли ссылку http:// в атрибутах HTML-тегов (особенно в тегах <img>, <video>, <audio>, <script>, <link>), замените ее на https://.
  7. Откройте ссылку HTTPS в новом окне браузера. Должна открыться та же самая страница, что и при использовании HTTP.
  8. В правом верхнем углу нажмите Опубликовать, Сохранить или Обновить. Если в смешанном контенте есть ошибки, вы увидите их в редакторе и не сможете сразу сохранить сообщение или страницу.
  9. Ещё раз проверьте блог на наличие смешанного контента.

Ошибка на нескольких страницах

Скорее всего, смешанный контент присутствует в их исходном коде (или в коде размещенных на них записях). В этом случае сделайте следующее:

  1. На панели инструментов блога выберите Шаблон.
  2. Нажмите Изменить HTML.
  3. Выберите текст шаблона и нажмите Ctrl + f (Windows) или Cmd + f (Mac).
  4. Выполните поиск по запросу http://.
  5. Если вы нашли ссылку http:// в атрибутах HTML-тегов (особенно в тегах <img>, <video>, <audio>, <script>, <link>), замените ее на https://.
  6. Откройте ссылку HTTPS в новом окне браузера. Должна открыться та же самая страница, что и при использовании HTTP.
  7. Нажмите Сохранить шаблон.
  8. Ещё раз проверьте блог на наличие смешанного контента.

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

Если сбой вызыван гаджетом, выполните одно из этих действий:

  1. Измените исходный код или разметку гаджета (если доступно).
  2. Удалите гаджет из блога.

Чтобы узнать больше, посетите наш форум.

Проверка смешанного контента на наличие ошибок в редакторе сообщений Blogger

С помощью HTML-редактора Blogger можно найти и исправить ошибки в смешанном контенте.

  1. Включите HTTPS в своем блоге.
  2. Откройте редактор Blogger. Для этого создайте новое сообщение или откройте существующее.
  3. Слева вверху нажмите HTML.
  4. Внесите необходимые изменения.
  5. В правом верхнем углу нажмите Опубликовать, Сохранить или Обновить. Если в смешанном контенте есть ошибки, вы увидите их в редакторе и не сможете сразу сохранить сообщение или страницу.

Примечание. Отклонив ошибки, вы сможете сохранить сообщение или страницу как есть. При обновлении окна редактора ошибки будут показаны снова.

Эта информация оказалась полезной?

Как можно улучшить эту статью?

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

Содержание

  1. Смешанное содержимое
  2. Типы смешанного содержимого.
  3. Как исправить страницу с заблокированным содержимым и что может произойти если не исправить.
  4. Как исправить сайт
  5. Как быстро найти и исправить смешанное содержимое

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

Смешанное содержимое

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

Типы смешанного содержимого.

Есть 2 группы смешанного контента: Пассивный (отображаемый) и Активное содержимое. Разница между ними заключается в уроне, который может понести сайт в случае перехвата и изменения в процессе передачи.

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

А вот активный смешанный контент (это скрипты, фреймы), несет уже борее серьезные риски. Здесь уже хакеры могут украсть личные данные, перенаправить пользователей на небезопасный сайт и т.д.

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

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

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

В общем, вся суть заключается в следующем, раз вы не поленились перейти на https, то и не поленитесь избавится от смешанного контента!

Как исправить сайт

Самое адекватно решение — перевести весь контент сайта и все его запросы на HTTPS.

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

По поводу всех ссылок, тут можно поступить по разному -заменить в ссылках протокол с http на https, либо сделать ссылки относительными, вот так:

<script src="//site.ru/script.js" type="text/javascript"></script>

На счет относительных ссылок, есть одно но, тут браузер сам выбирает протокол, в вашем случае он будет выбирать https, если то возможно, а вот если невозможно, то запрос пойдёт по HTTP, и у нас снова старая проблема)

Как быстро найти и исправить смешанное содержимое

Вариант 1й. Можно использовать сервис SSL-check, он проверит ваш сайт на наличие HTTP запросов.

Вариант 2й. Через консоль браузера, Гугл хром или Мозилы, мне больше нравиться гугл (я пошел этим путем). Как искать контент данным способом, показано в видео ниже.

И так вы нашли смешанный контент, все круто, в случае с картинками все достаточно просто, посмотрел что за картинка, нашел ее на сайте и изменил. В случае со скриптами все гораздо сложнее, особенно если у вас стоит какой нибудь движок типа того же wordpress с кучей включенных плагинов, вы же не знаете (97% пользователей обычно не знают) какой плагин какие скрипты подключает, а как узнать? В моем случае, у меня клевый хостинг (Бегет — всем рекомендую его), с крутым файловым менеджером, в котором есть функция поиска

Файловый менеджер на моем хостинге

Вбил название скрипта, он про шерстил все папки сайта, плагинов, тем и т.д. и показал файлы в которых они подключены, следовательно заходишь в них и правишь протокол (лучше предварительно проверить в браузере, можно его получить с того же сайта но по https, если нельзя можно его от туда скачать и залить к себе и прописать новый путь получения). Если у вас более убогий файловый менеджер, тогда можно скачать весь сайт на компьютер, и проделать такой же поиск по файлам к примеру при помощи NOTEPAD++.

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

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

Начиная с 2014 года Google стал активно продвигать защищенный протокол соединения HTTPS, сделав его в скором времени одним из факторов ранжирования сайтов в поисковой выдаче. Но кроме самой страницы, все ее содержимое должно также передаваться по HTTPS, в противном случае пользователь получит уведомление о том, что подключение к сайту не защищено. Какой бывает смешанный контент (mixed content), чем он опасен, и как от него избавиться?

Что такое смешанный контент?

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

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

Каким он бывает?

Смешанное содержимое страницы может быть двух типов:

  • Активным, содержащим в себе исполняемые скрипты. Это наиболее опасный вариант смешанного контента, при котором гораздо проще перехватывать данные. Его можно найти в коде с тегами <script>, <object>, <XTMLHttpRequest><iframe>, наличию URL-адресов в CSS файлах. Вариантов мошенничества, при использовании активного типа содержимого страницы, много, и зависит от уровня взломщика. Например, перенаправление на посторонний сайт, воровство личных данных (номера банковских карт, пароли и т.д.).
  • Пассивным, при котором контент отображается без использования скриптов, например, медиа-файлы (фото, музыка, видео). Для пользователей такой вариант безопасен, но злоумышленник может подменить такое содержимое, на что-нибудь непристойное, например. В таком случае, сайт или компания понесут ущерб репутации.

Нет времени разбираться?

SEO-продвижение под ключ

Проанализируем конкурентов, подберем запросы с низкой конкуренцией, проведем поисковую оптимизацию сайта, организуем внешнюю ссылочную массу, проработаем карточки компании на онлайн картах, проведем базовую UX-аналитику сайта. Над каждым проектом работает от 6 до 10 специалистов. Собственные разработчики для доработки сайта при необходимости. От вас – сайт, от нас – позиции в Яндекс/Google и трафик.

Ваш сайт:

Чем опасен mixed content?

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

Если говорить про влияние на SEO, то незащищенное содержимое оказывает колоссальное влияние на него. Во-первых, посетители оповещаются об опасных ресурсах на странице, после чего пользователи, как правило, покидают сайт. Процент отказов относится к поведенческим факторам ранжирования, если он растет (а он вырастет, если посетители будут получать уведомления о смешанном содержимом), то, соответственно, сайт будет опускаться в результатах органической выдачи. Во-вторых, Google сам факт отсутствия HTTPS протокола у страницы или ее содержимого принимает за негативный сигнал, после чего также идет понижение позиций в поисковиках.

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

Как обнаружить смешанный контент на сайте?

Обнаружить его можно несколькими способами.

Адресная строка браузера

Зайдя на страницу, ее URL-адрес должен начинаться с HTTPS. Далее смотрим на иконку слева от адреса, если содержимое защищено, то отображается замок, в противном случае, появляется надпись: «Не защищено».

«Безопасное подключение» - смешанного содержимого нет
«Безопасное подключение» – смешанного содержимого нет

Привлекли 35.000.000 людей на 185 сайтов

Мы точно знаем, как увеличить онлайн–продажи

Применяем лучшие практики digital–продвижения как из вашей тематики, так и из смежных областей бизнеса. Именно это сделает вас на голову выше конкурентов и принесёт лиды и продажи.

Ваш сайт:

«Подключение к сайту не защищено» - сайт на HTTP
«Подключение к сайту не защищено» – сайт на HTTP

При наличии смешанного содержимого в Chrome следующая картина:

Уведомление о смешанном контенте в Chrome
Уведомление о смешанном контенте в Chrome

Как видно, данный браузер помечает всю страницу как не защищенную.

В Firefox информация показывается детальнее, указывая на незащищенный контент:

Информация о смешанном контенте в Firefox
Информация о смешанном контенте в Firefox

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

С помощью консоли разработчика

С помощью данного инструмента можно получить информацию о том, какой именно элемент подгружается не по защищенному протоколу. Чтобы открыть консоль, воспользуйтесь комбинацией клавиш – CTRL + Shift + I, либо щелкните правой кнопкой по пустому месту страницы и выберете «Просмотреть код».

По умолчанию в нижней части окна браузера откроется консоль, где сразу видно mixed content:

Отображение mixed content в консоли браузера
Отображение mixed content в консоли браузера

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

Поиск в Screaming Frog Seo Spider

Для автоматизации поиска страниц со смешанным контентом, лучше использовать специальный софт. Одной из таких программ является Screaming Frog Seo Spider, которая включает в себя множество инструментов по анализу технической стороны сайта. Правда программа платная, но если вы основательно подходите к оптимизации своего ресурса, то это будет оправданная покупка.

Итак, алгоритм действия по поиску проблемных страниц следующий:

  • Копируем адрес изучаемого сайта, вставляем в соответствующее поле, жмем «Start».

Программа Screaming Frog Seo Spider
Программа Screaming Frog Seo Spider

  • После того, как краулер программы обойдет все страницы, идем в «Reports – Insecure Content» (Отчеты – Небезопасный контент).

Заходим в «Reports - Insecure Content»
Заходим в «Reports – Insecure Content»

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

Отчет по страницам со смешанным контентом
Отчет по страницам со смешанным контентом

С помощью онлайн-сервиса

Если нет Screaming Frog Seo Spider, можно воспользоваться полуавтоматическим способом поиска страниц со смешанным контентом. Для этого существуют специальные сервисы, которые сканируют сайт и выводят URL-адреса, на которых присутствует mixed content.

Одним из таких сканеров является jitbit.com, в поле на главной странице вставляется адрес сайта и запускается поиск SLL ошибок.

Сервис jitbit.com
Сервис jitbit.com

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

Как исправить смешанное содержимое?

Как уже стало понятно из статьи, незащищенные элементы подгружаются по HTTP протоколу со сторонних ресурсов. Поэтому главная задача – сделать так, чтобы они грузились через HTTPS. Сделать это можно разными способами.

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

Если подобное невозможно, то на сайте-доноре можно попробовать поменять HTTP на HTTPS, возможно, сайт поддерживает работу по этому протоколу. Если да, то все в порядке, просто меняем на страницах URL-адреса.

В случае, если SLL-сертификат у донора не установлен, то вероятнее всего придется искать ему замену, либо оставлять все так, как есть.

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

Все гораздо проще обстоит у тех, кто использует CMS WordPress, на которую существуют несколько удобных плагинов.

SSL Insecure Content Fixer

Данный плагин автоматически «на лету» работает со ссылками на страницах, исправляя все HTTP на HTTPS.

Разработчики подготовили 5 готовых режимов работы плагина:

  • Простой, когда требуется исправлять URL-адреса у несложных элементов, например, ссылки изображений. Однако с JavaScript, фреймами и прочими видами контента в таком режиме плагин не работает.
  • Для работы с контентом. Также поддерживаются исправления для простых элементов, но в этом случае плагин очищает фреймы от содержимого.
  • Для очистки незащищенного содержимого в виджетах.
  • Захват практически всего содержимого, исправления касаются всех медиа-элементов, фреймов, стилей и т.д.
  • Исправление всего содержимого, в том числе AJAX. В этом случае, плагин внедряется во всю структуру WordPress, что может повлиять на стабильность работы сайта в целом. Данный режим требует теста стабильности работы, иначе могут возникнуть серьезные проблемы, в том числе с индексацией.

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

Плагин SSL Insecure Content Fixer
Плагин SSL Insecure Content Fixer

SSL Mixed Content Fix

Более простой плагин, который подходит для случаев, когда сайт переехал на HTTPS, но имеются элементы, у которых URL-адреса прописаны через HTTP. Его удобно использовать на ресурсах с большим количеством страниц, содержащих (чаще всего) мультимедийный контент. В идеале лучше исправить все ссылки внутри самих страниц вручную, но если их количество зашкаливает, а результат нужен в короткий срок, то SSL Mixed Content Fix поможет с этим.

После установки и активации, плагин по умолчанию включен.

Из плюсов: имеет простые настройки, достаточно активировать опцию «Enable HTTP/HTTPs Removal» и у смешанного контента (исключительно тот, который находится на вашем сайте/сервере) подменяются URL-адреса. Есть возможность добавления ссылок, которые плагин должен игнорировать.

Плагин SSL Mixed Content Fix
Плагин SSL Mixed Content Fix

Из минусов: относительно давно не обновлялся, но актуален для версии WordPress 5.4.2. Интерфейс полностью на английском, хотя он достаточно прост и это вряд ли станет проблемой.

Really Simple SSL

Еще один популярный плагин, имеющий более 4-х млн. скачиваний и высокий рейтинг. У него отличный интерфейс, практически полностью переведенный на русский язык. На вкладке «Конфигурация» указаны замечания по сайту.

Плагин Really Simple SSL
Плагин Really Simple SSL

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

Настройки в плагине Really Simple SSL
Настройки в плагине Really Simple SSL

Для простого использования достаточно бесплатной версии.

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

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