Что именно называют смешанным контентом на странице
Смешанный контент возникает, когда сама страница загружена по защищённому протоколу https, но часть её ресурсов — изображения, скрипты, стили — по-прежнему подключены по незащищённому http, что создаёт брешь в общей защищённости соединения для конечного пользователя.
Почему браузер блокирует именно активный, а не любой смешанный контент
Современные браузеры обычно автоматически блокируют «активный» смешанный контент — скрипты и стили, способные повлиять на поведение страницы, — тогда как «пассивный» смешанный контент вроде изображений чаще всего лишь помечается предупреждением без полной блокировки, но остаётся проблемой безопасности и внешнего вида.
Типичные источники смешанного контента после перехода на https
Чаще всего проблема тянется из старого содержимого, добавленного ещё до перехода сайта на https, — жёстко прописанных ссылок на изображения или скрипты с указанием протокола http внутри текста статей, шаблонов или настроек CMS, не обновлённых автоматически при миграции.
Как системно найти и исправить все случаи смешанного контента
Консоль разработчика в браузере явно перечисляет заблокированные и предупреждающие ресурсы смешанного контента на конкретной странице, а для проверки всего сайта целиком удобнее воспользоваться специализированным краулером, ищущим по исходному коду все жёстко прописанные ссылки с протоколом http.
Отдельный источник проблемы — ссылки на ресурсы внутри файлов стилей
Помимо прямых ссылок в разметке HTML, источником смешанного контента нередко становятся жёстко прописанные адреса изображений и шрифтов внутри самих файлов CSS, которые легко упустить при поверхностной проверке, ограничивающейся только просмотром исходного кода html-страницы.
Использование ссылок без явного указания протокола как способ профилактики
Ссылки, начинающиеся сразу с двух слэшей без явного указания http или https, автоматически наследуют протокол текущей страницы — такой подход, использованный при первоначальной разработке сайта, полностью исключает саму возможность появления смешанного контента при последующем переходе на https.
Автоматизация поиска смешанного контента для крупных сайтов
Для сайта с большим количеством страниц ручная проверка через консоль браузера каждой отдельной страницы нерациональна — специализированные краулеры, умеющие искать по исходному коду все ссылки с явным указанием протокола http, заметно ускоряют полную инвентаризацию проблемы по всему сайту.
Отдельный источник риска — встраиваемые сторонние виджеты и скрипты
Виджеты аналитики, чатов поддержки и других сторонних сервисов, подключаемые через встраиваемый код, тоже способны быть источником смешанного контента, если сам сторонний сервис ещё не полностью перешёл на https, — за актуальностью таких внешних подключений стоит следить отдельно от собственного содержимого сайта.
Использование заголовка Content-Security-Policy для принудительного апгрейда запросов
Директива upgrade-insecure-requests в составе Content-Security-Policy заставляет браузер автоматически заменять оставшиеся http-запросы на https без необходимости вручную находить и исправлять каждую отдельную ссылку в исходном коде, что служит удобной дополнительной подстраховкой при устранении смешанного контента.
Частые вопросы
Опасен ли смешанный контент для индексации сайта?
Напрямую это не блокирует индексацию, но ухудшает восприятие сайта как полностью безопасного и может нарушить отображение или работу отдельных элементов страницы, что косвенно сказывается на пользовательском опыте.
Как быстро найти смешанный контент на конкретной странице?
Достаточно открыть консоль разработчика в браузере — она явно выводит предупреждения о каждом заблокированном или небезопасном ресурсе, загружаемом по http на https странице.
Достаточно ли заменить http на https во всех ссылках?
В большинстве случаев да, но перед массовой заменой стоит убедиться, что сам ресурс действительно доступен по https, иначе замена приведёт уже к другой ошибке — недоступности ресурса.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.