Проверка смешанного контента (mixed content)
Если у сайта есть HTTPS, но браузер пишет «подключение защищено не полностью», причина в ресурсах, которые загружаются по http. Введите адрес, и мы найдем такие картинки, скрипты и стили.
Что находит проверка смешанного контента
Смешанным контентом называют все, что HTTPS-страница загружает по обычному http: изображения, скрипты, стили, фреймы, видео и аудио, встроенные объекты и формы, которые отправляют данные на http-адрес. Опасные скрипты и фреймы браузеры блокируют сразу, а для остального показывают предупреждение вместо замка.
Проверка загружает страницу и просматривает ее HTML в поисках атрибутов src, href, data и action, которые начинаются с http://, и показывает каждое совпадение. Она читает HTML в том виде, в каком его отдал сервер, поэтому ресурсы, которые позже добавляет JavaScript или на которые ссылаются CSS-файлы (фоновые изображения, шрифты), не видны. Если после чистого результата замок все еще сломан, ищите там.
Как читать результат
- Смешанного контента не найдено: каждый ресурс в HTML загружается по https.
- Найдены ресурсы, которые загружаются по http: в списке виден каждый адрес и тег, который его загружает. Замените http:// на https:// в источнике или уберите ресурс, если у другого сервера нет HTTPS.
- Страница работает без HTTPS: смешанный контент не имеет значения, пока сам сайт не на https.
- Чаще всего смешанный контент остается от старых абсолютных ссылок в базе данных, сохраненных до перехода на HTTPS, адресов, прописанных в файлах темы, и сторонних вставок.
Подробнее по теме
- Смешанный контент: сломанный замок, на английском
- Как исправить смешанный контент после перехода на HTTPS, на английском
- Как включить HTTPS в WordPress, на английском
- Как убрать «Не защищено» в Chrome, на английском
Частые вопросы
- Влияет ли смешанный контент на оценку полной проверки?
- Да. Если страница на HTTPS и найден хотя бы один ресурс по http, полная проверка снимает 2 балла, потому что посетители видят сломанный замок.
- Как исправить смешанный контент в WordPress?
- Укажите оба адреса сайта с https в разделе «Настройки», «Общие», затем замените http://ваш-домен на https://ваш-домен в базе данных инструментом поиска и замены, который правильно работает с сериализованными данными. После этого проверьте тему и виджеты на прописанные вручную ссылки.
- Может ли Content-Security-Policy исправить это автоматически?
- Директива upgrade-insecure-requests говорит браузеру запрашивать http-ресурсы по https. Она помогает только тогда, когда эти ресурсы действительно доступны по https.