Ошибки смешанного контента Это происходит, когда сайт, загруженный по протоколу HTTPS, получает ресурсы (изображения, скрипты, CSS) по протоколу HTTP. Чтобы их исправить: Внедрите обязательное использование HTTPS, обновите URL-адреса вашего сайта, замените HTTP-ссылки в базе данных и файлах, убедитесь, что сторонние ресурсы поддерживают HTTPS, добавьте заголовки безопасности, например, «обновить небезопасные запросы», затем очистите кэш и повторно проверьте ваши страницы.
Если вы только что установили SSL Если вы по-прежнему видите значки «Небезопасно» или сломанный замок, значит, вы столкнулись со смешанным содержимым. Это пошаговое руководство объясняет, как исправить ошибки смешанного содержимого после... SSL Установка с использованием практических методов WordPress, параметров командной строки и правил сервера, работающих на реальных рабочих сайтах.
Что такое смешанный контент (и почему это происходит после)? SSL)?
Смешанный контент возникает, когда страница передается по протоколу HTTPS, но один или несколько ресурсов загружаются по протоколу HTTP.

Браузеры блокируют эти запросы или предупреждают о них, поскольку они могут быть перехвачены, что сводит на нет все усилия по их пресечению. SSL защита. После SSL При установке, использовании устаревших URL-адресов в базе данных, тем оформления, плагинов или сторонних встраиваемых элементов часто по-прежнему используется протокол HTTP.
Как выявить ошибки, связанные со смешанным контентом
Используйте инструменты разработчика браузера (самый быстрый способ).
- Откройте свой сайт в Chrome или Edge.
- Щелкните правой кнопкой мыши > Проверить элемент > Консоль.
- Найдите ошибки типа «Смешанное содержимое»; они указывают на конкретные HTTP-адреса, которые необходимо исправить.
- Использовать Cеть Используйте вкладку и фильтруйте по «заблокированным» или сортируйте по схеме.
Сканирование с помощью онлайн-инструментов
Используйте инструменты проверки смешанного контента (например, инструменты типа «Why No Padlock») для сканирования нескольких страниц и составления списка небезопасных ресурсов. Сканеры безопасности и инструменты аудита сайта также выявляют HTTP-ссылки по всему сайту.
Проверьте свой CDN и прокси.
Если вы используете CDN или обратный прокси, проверьте его работоспособность. SSL режим и исходный URL. Неправильно настроен параметр «Гибкий». SSL«Источник HTTP часто приводит к появлению смешанного контента, даже если у вашего сайта есть действительный сертификат».
Контрольный список для добавления префикса (сделайте это в первую очередь)
- Создайте резервную копию файлов и базы данных WordPress.
- Подтвердите свой SSL является действительным, и основной домен разрешается в HTTPS.
- Обратите внимание на свой канонический домен (с www или без www) для обеспечения единообразных перенаправлений.
- Временно отключите агрессивное кэширование во время исправления ошибок.
Шаг 1: Принудительное использование HTTPS на всем сайте.
Обновите адрес WordPress и адрес сайта.
- Зайдите в Настройки> Общие.
- Измените как адрес WordPress (URL), так и адрес сайта (URL) на https://yourdomain.com
Добавить перенаправления 301 (Apache)
# .htaccess (place above WordPress rules)
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Добавить перенаправления 301 (Nginx)
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}Безопасное администрирование и прокси-серверы
// wp-config.php
define('FORCE_SSL_ADMIN', true);
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}Это гарантирует, что административная панель и настройки обратного прокси-сервера будут соблюдать протокол HTTPS.
Шаг 2: Замените HTTP-адреса в вашей базе данных.
Метод плагина без кода
- Установите программу «Better Search Replace» или аналогичную.
- Найдите http://yourdomain.com и замените его на https://yourdomain.com
- Сначала выполните пробный запуск, затем запустите его для всех таблиц (пропускайте столбцы = guid по умолчанию).
Метод WP-CLI (рекомендуется для обеспечения точности)
wp search-replace 'http://example.com' 'https://example.com' \
--all-tables --precise --recurse-objects --skip-columns=guidФрагмент SQL-кода (целевой)
-- Update core site URLs only
UPDATE wp_options
SET option_value = REPLACE(option_value,'http://example.com','https://example.com')
WHERE option_name IN ('home','siteurl');Перед массовой заменой данных обязательно сделайте резервную копию базы данных. Для сериализованных данных необходим надежный инструмент (плагины или WP-CLI справляются с этим корректно).
Шаг 3: Исправьте жестко закодированные ресурсы в темах и плагинах.
Иногда разработчики жестко прописывают полные HTTP-адреса в шаблонах или вызовах функций добавления в очередь. Замените их на HTTPS или динамические функции.
Используйте функции WordPress для генерации HTTPS-адресов.
// functions.php (enqueue example)
wp_enqueue_style(
'theme-style',
get_stylesheet_directory_uri() . '/assets/css/style.css',
[],
'1.0'
);
wp_enqueue_script(
'theme-js',
get_template_directory_uri() . '/assets/js/app.js',
['jquery'],
'1.0',
true
);Избегайте URL-адресов, относительных к протоколу (//example.com/script.js). Используйте явное HTTPS-протоколирование, чтобы предотвратить понижение версии протокола в исключительных случаях.
Шаг 4: Обновление сторонних ресурсов и CDN.
- Шрифты, аналитика, виджеты чата, карты и кнопки оплаты должны загружаться по протоколу HTTPS.
- Замените устаревшие фрагменты кода HTTP на актуальные версии HTTPS.
- Убедитесь, что ваш CDN-источник использует протокол HTTPS, и SSLРежим TLS — «Полный (строгий)».
- Включите параметры «Всегда использовать HTTPS» и «Автоматическая перезапись HTTPS», если они доступны.
Если сторонний ресурс не поддерживает HTTPS, замените его безопасной альтернативой или разместите его копию локально (с соблюдением условий лицензии).
Шаг 5: Добавьте заголовки безопасности, которые помогут
Content-Security-Policy: upgrade-insecure-requests
Этот заголовок указывает современным браузерам автоматически преобразовывать HTTP-запросы в HTTPS, уменьшая количество некорректного контента во время исправления исходных файлов.
# Apache
Header always set Content-Security-Policy "upgrade-insecure-requests;"# Nginx (in server block)
add_header Content-Security-Policy "upgrade-insecure-requests;" always;Включите HSTS (после того, как все заработает).
Включайте HSTS только тогда, когда все страницы работают по протоколу HTTPS. Это заставляет пользователей всегда использовать HTTPS.
# Apache
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"# Nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;Шаг 6: Очистите кэш и проверьте еще раз.
- Очистка кэша WordPress (Plugin), серверный кэш (например, Varnish) и кэш CDN.
- Обновите страницу браузера принудительно. (Ctrl/Cmd + Shift + R).
- Откройте консоль инструментов разработчика и убедитесь, что смешанного контента по-прежнему нет.
Быстрое решение проблемы WordPress с помощью плагина (используйте с осторожностью)
Плагины, такие как «Really Simple» SSLОни могут включить HTTPS, исправить перенаправления и попытаться выполнить автоматическое перезаписывание. Они отлично подходят для повышения скорости, но ручная очистка жестко закодированных HTTP-ссылок по-прежнему обеспечивает наиболее надежное и постоянное решение.
После устранения неполадок выполните проверку SEO и платформы.
- Обновите карту сайта, переключившись на HTTPS, и повторно отправьте её в Search Console.
- Убедитесь, что канонические теги, Open Graph и URL-адреса схем используют протокол HTTPS.
- Обновите настройки CDN, оптимизаторы изображений и правила кэширования для HTTPS.
- Убедитесь, что платежные шлюзы и веб-хуки указывают на конечные точки HTTPS.
Устранение неполадок в распространенных сценариях
- Отмечены только изображения: Перегенерируйте миниатюры и проверьте шаблоны тем на наличие атрибута img src с использованием HTTP.
- Страницы WooCommerce не работают: Подтвердите использование HTTPS в настройках и убедитесь, что шаблоны оформления заказа/корзины не содержат жестко заданных схем.
- Административная панель защищена, а вот интерфейс пользователя — нет: Ваш механизм перенаправления 301 или кэширования обходит HTTPS; перепроверьте правила сервера и прокси-серверы.
- Облачный прокси отображает смешанный контент: Поставьте SSL установить полный (строгий) режим; установить источник на HTTPS; очистить кэш.
- Устаревшие элементы встраивания (старые слайдеры, iframe): Замените на современные встраиваемые HTTPS-файлы или безопасно разместите собственные ресурсы.
Полезный совет от профессионалов в сфере хостинга.
После более чем 12 лет работы по исправлению проблем на сайтах WordPress в рабочем режимеНаиболее быстрый и стабильный путь — это: принудительное использование HTTPS на границе сети, исправление URL-адресов WordPress, точная замена данных в базе данных и очистка жестко закодированных данных в темах/плагинах. Использование CSP «upgrade-insecure-requests» снижает информационный шум во время перехода, но не должно заменять реальные исправления.
Почему стоит рассмотреть вариант управляемого хостинга? SSL и HTTPS
Надежный хостинг предотвращает большинство проблем, связанных со смешанным контентом. YouStableНаши команды помогают обеспечить соблюдение протокола HTTPS на уровне сервера и CDN, а также предоставляют услугу автоматического продления подписки. SSLНастраивайте перенаправления и проводите аудит вашей системы на предмет небезопасных вызовов — таким образом, вы будете тратить меньше времени на отладку и больше времени на развитие своего сайта.
Окончательный контрольный список
- Перенаправление 301 для всех HTTP-запросов на HTTPS.
- Установите для WordPress и URL-адресов сайта протокол HTTPS.
- Выполните поиск и замените HTTP на HTTPS в базе данных.
- Исправьте жестко закодированные URL-адреса в темах/плагинах.
- Обновите сторонние скрипты, шрифты и CDN-сети, переведя их на HTTPS.
- Добавить небезопасные запросы при обновлении CSP; включить HSTS после стабилизации системы.
- Очистите все кэши и повторно протестируйте с помощью инструментов разработчика.
Выполните следующие шаги, и ваш навесной замок будет надежно зафиксирован. Если вам нужна помощь консьержа, YouStable может провести аудит, внедрить HTTPS на уровне сервера и отслеживать регрессии в вашей системе.
Часто задаваемые вопросы
1. Что вызывает смешанный контент сразу после установки? SSL?
Старые HTTP-ссылки сохраняются в вашей базе данных, файлах тем или во встроенных сторонних элементах. Без перенаправлений 301 и обновления URL-адресов браузеры загружают некоторые ресурсы небезопасным образом, вызывая предупреждения.
2. Как быстро определить, какие файлы или URL-адреса являются небезопасными?
Используйте инструменты разработчика Chrome > Консоль, чтобы увидеть заблокированные запросы, а затем выполните сканирование с помощью средства проверки смешанного контента, чтобы проиндексировать больше страниц. В консоли отображаются точные HTTP-адреса, которые необходимо обновить или удалить.
3. Следует ли использовать плагин или исправлять смешанный контент вручную?
Плагины могут автоматизировать перенаправления и перезапись правил, что вполне подходит для первого шага. Для более надежного решения также следует обновить URL-адреса в базе данных и жестко закодированные ресурсы в темах, плагинах и встроенных элементах.
4. Решают ли только HSTS или CSP проблему смешанного контента?
Функция upgrade-insecure-requests в CSP помогает браузерам автоматически обновлять HTTP-запросы, но вам все равно следует исправлять исходные коды. Включайте HSTS только после того, как сайт полностью перейдет на HTTPS, поскольку это принудительно устанавливает TLS для всех посещений.
5. Cloudflare говорит: «Гибкий» SSL«Это нормально?»
Используйте режим «Полный (строгий)» с действительным сертификатом на источнике. Режим «Гибкий» завершает TLS на границе сети и использует HTTP для связи с вашим сервером, что часто приводит к смешанному контенту и уязвимостям в системе безопасности.