Представьте, вы открываете сайт через HTTPS, но часть его контента все равно загружается с помощью незащищенного соединения. Это и есть тот самый Mixed Content — смешанный контент. Такие страницы считаются небезопасными: данные, передаваемые через HTTP, могут быть перехвачены или изменены злоумышленниками.
Современные браузеры стремятся не ставить пользователей под угрозу взлома: они либо блокируют опасные запросы, либо автоматически меняют HTTP на HTTPS, если это возможно. Однако из-за этого сайт может работать некорректно, а в консоли разработчика появляются ошибки вроде "This request has been blocked".
Узнать о проблеме можно несколькими способами:
1. Иконка в браузере. Некоторые браузеры показывают значок, сигнализирующий о частичной защите соединения.
2. Ошибки в консоли разработчика. Откройте инструменты разработчика (Ctrl+Shift+I), перейдите на вкладку "Консоль". Браузер укажет, какой ресурс загружается через HTTP, и что он с этим делает – блокирует или меняет протокол.
Важно! Перед внесением изменений сделай бэкап. Это поможет вернуть всё обратно, если что-то пойдёт не так.
WordPress
1. Замените все ссылки HTTP на HTTPS в базе данных. Для этого:
— подключитесь к серверу через SSH или веб-терминал.
— перейдите в директорию сайта:
cd ~/site_dir/public_html
— запустите команду замены ссылок:
wp search-replace 'http://example.com' 'https://example.com'
2. Если используется плагин Elementor, выполните:
wp elementor replace-urls 'http://example.com' 'https://example.com'
3. Очистите кэш:
wp cache flush
Проверьте сайт. Если проблема осталась, проверьте ссылки вручную.
Bitrix
1. Замените абсолютные ссылки вроде http://ваш_сайт/bitrix/admin/*** на относительные: /bitrix/admin/***. Для поиска таких ссылок используйте инструмент поиска в файловом менеджере.
2. Проверьте медиаконтент и кастомные компоненты. Замените ссылки HTTP на HTTPS.
3. Если сайт подключает сторонние скрипты, исправьте ссылки на них.
Joomla
1. Проверьте, что HTTPS включён для всего сайта:
— войдите в панель администратора.
— перейдите в "Система" – "Общие настройки" – "Сервер".
— убедитесь, что параметр "Включить SSL" установлен на "Весь сайт".
2. Настройте переадресацию на HTTPS через файл .htaccess:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
3. Для некоторых компонентов, например VirtueMart, включите SSL в настройках модуля.
OpenCart
1. Проверьте настройки HTTPS в файлах config.php и admin/config.php. Все ссылки HTTP замените на HTTPS.
2. В панели администратора перейдите в "Система" – "Настройки" – "Сервер" и включите "Использовать SSL".
3. Если проблема осталась, проверьте консоль разработчика и исправьте ссылки вручную.
Добавьте в файл .htaccess правило, которое автоматически обновляет протоколы запросов:
Header always set Content-Security-Policy: upgrade-insecure-requests
Это подскажет браузеру использовать HTTPS, где это возможно. Если смешанный контент всё ещё остаётся, исправьте проблемные ссылки вручную.
Теперь вы знаете, как справиться с Mixed Content и сделать ваш сайт безопасным!
Примените скидку, вставив промокод в специальное поле при оформлении заказа: