Перейти к содержимому
К
  • Главная
  • Блог
  • Установили SSL, а замка нет: смешанный контент и...
SSL

Установили SSL, а замка нет: смешанный контент и как его убрать

Сертификат установлен, сайт открывается по https, а в адресной строке вместо замка — перечёркнутый значок или предупреждение «не полностью защищено». Клиент видит это и закрывает вкладку. Владелец сайта уверен, что хостер что-то не доделал. На самом деле сертификат в порядке, а проблема в самом сайте.

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

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

Логика браузера понятна. Скрипт, загруженный без шифрования, можно подменить по дороге, и тогда от защиты всей страницы толку мало. Поэтому Chrome и Safari блокируют такие скрипты вовсе, а незащищённые картинки показывают, но замок убирают.

Откуда он берётся

Сайт годами жил на http, и адреса файлов внутри него написаны полностью, с протоколом. После переезда на https ссылки на сами страницы обновились, а вот адреса картинок в текстах, логотип в шаблоне, стороннее видео и виджеты остались старыми. Типичные источники:

  • Картинки в статьях и карточках товаров, вставленные с полным адресом http://.
  • Логотип, фон и иконки, прописанные в шаблоне или файле стилей.
  • Сторонние виджеты: старые карты, счётчики, кнопки соцсетей, чаты.
  • Шрифты и скрипты, подключённые с чужих сайтов по http.
  • Адрес сайта в настройках CMS, который так и остался с http — тогда CMS сама генерирует незащищённые ссылки.

Как найти

Откройте проблемную страницу, нажмите F12 и посмотрите вкладку «Консоль». Браузер перечислит каждый незащищённый файл с точным адресом. Так проверяют одну страницу. Для всего сайта есть онлайн-сканеры смешанного контента и десктопные краулеры, которые прогоняют сотни страниц и выдают список.

Полезно проверить не только главную. У одного клиента на главной всё было чисто, а замок пропадал в каталоге: картинки товаров загружались из старой папки по http, потому что их адреса лежали в базе данных.

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

  1. В настройках CMS поменяйте адрес сайта на вариант с https. В WordPress это два поля в общих настройках.
  2. Замените http:// на https:// в базе данных для адресов вашего же домена. Для WordPress есть плагины замены, для других CMS — скрипт или запрос к базе. Обязательно с бэкапом перед заменой.
  3. Проверьте шаблон и файлы стилей на прописанные адреса.
  4. Обновите сторонние виджеты: почти все давно работают по https, нужно перевставить актуальный код.
  5. Настройте редирект с http на https на уровне сервера, чтобы старые ссылки вели на защищённую версию.
  6. Проверьте сайт заново сканером и в консоли.

Есть и обходной путь: на сервере включается заголовок, который заставляет браузер автоматически заменять http на https во всех запросах. Он спасает от забытых ссылок, но не помогает, если внешний ресурс по https недоступен. Лучше использовать как страховку, а не вместо исправления.

Почему это важно

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

Переводя сайты на https, мы в CasperLab всегда прогоняем их сканером и чистим базу, шаблон и виджеты до переключения. Если у вас сертификат стоит, а замка нет, — пришлите адрес, покажем, где именно прячется незащищённый файл.

Выбрать SSL в CasperLab

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

Выбрать SSL
Поделиться:
Сертификат установлен, но замка нет — виноват хостер?
Почти всегда нет. Если сайт открывается по https без ошибки сертификата, а замок перечёркнут, — на странице есть файлы, загружаемые по http. Это исправляется на стороне сайта, а не хостинга.
Как быстро найти смешанный контент на сайте?
На одной странице — через консоль браузера (F12): там перечислены незащищённые файлы. Для всего сайта используйте онлайн-сканер смешанного контента или краулер, который проверит все страницы разом.
Опасно ли заменять http на https в базе данных?
При аккуратной замене только адресов вашего домена — нет, это стандартная операция. Главное — сделать бэкап базы перед заменой и использовать инструмент, который корректно обрабатывает сериализованные данные в WordPress.