Mixed content в Joomla: как найти и исправить 6 источников
HTTPS не работает, если внутри страницы подгружается HTTP-контент. Разбираем, откуда берётся mixed content в Joomla 6, как найти все источники через DevTools и как избавиться от них системно.
Что это и чем опасно
Что такое mixed content
Mixed content — ситуация, когда сайт открывается по HTTPS, но внутри страницы загружаются ресурсы по HTTP: картинки, скрипты, стили, iframe. Браузер блокирует часть из них, остальные показывает с предупреждением. В консоли — ошибки вида:
Mixed Content: The page at 'https://site.ru/' was loaded over HTTPS,
but requested an insecure image 'http://site.ru/img.jpg'.Ломает SSL
Формально HTTPS есть, но защита неполная. Google снимает «замочек».
Режет позиции
Google считает такой сайт небезопасным и снижает в выдаче.
Ломает вёрстку
Скрипты и стили по HTTP не загружаются — сайт «плывёт».
6 источников
Откуда берётся mixed content
1. Картинки в материалах. В `introtext` или `fulltext` встречаются ссылки с http://. Часто тянутся из старых редакций, ещё до перехода на HTTPS.
2. Виджеты и скрипты. Кнопки соцсетей, карты, аналитика — часть подключается по HTTP. Особенно старая версия Google Maps или счётчик из 2010-х.
3. Шаблон. CSS, JS или фоны в шаблоне на HTTP. Проверьте файлы в /templates.
4. Внешние iframe. Видео, карты, квизы. Если источник не поддерживает HTTPS — придётся менять.
5. Модули. Кастомные HTML-модули с картинками по HTTP. Проверьте все модули через Контент → Модули сайта.
6. Sitemap и RSS. Иногда в них тоже остаются http-URL. Не создаёт mixed content напрямую, но портит SEO.
Как найти
Диагностика за 5 минут
Через DevTools: F12 → Console → фильтр «Mixed Content». Увидите все HTTP-ресурсы на текущей странице.
Через grep на сервере: найдите в шаблонах и материалах все вхождения http:// без https. Команда: grep -rn "http://" templates/ images/
Через Search Console: отчёт «Безопасность» покажет страницы с проблемой. Но там будет обобщённая информация — точные URL придётся искать через DevTools.
Решение
Как избавиться от mixed content
1. Замените HTTP на HTTPS в контенте. Через поиск-замену в материалах Joomla: Контент → Материалы → Пакетная обработка → поиск http://site.ru заменить на https://site.ru.
2. Настройте редирект HTTP → HTTPS. Плагин Reemake Redirect Mirror отдаёт 301 на HTTPS для всех входящих запросов с сохранением пути и query.
3. Включите CSP upgrade-insecure-requests. Браузер автоматически переписывает HTTP-ссылки на HTTPS при загрузке страницы. Работает как «последний рубеж», если что-то пропустили.
4. Проверьте Sitemap и RSS. Убедитесь, что в них тоже https-ссылки. Иначе получите проблему в отчётах Google Search Console.
Вопросы и ответы
Частые вопросы
Mixed content виден Google?
Да. Google помечает сайт как «не полностью защищённый» и снижает в выдаче. Это одна из частых причин просадки позиций после перехода на HTTPS.
Что с внешними скриптами (Google Maps, виджеты)?
Проверьте их документацию — большинство поддерживает HTTPS. Замените URL виджета на актуальный. Если сервис не поддерживает HTTPS — придётся его заменить или использовать локальную копию.
Можно ли обойтись только CSP-заголовком?
Можно, но не рекомендуется. CSP маскирует проблему, а не решает. Лучше исправить источник, а CSP — как страховка.
Через сколько после исправления Google снимет пометку?
2–4 недели после того, как Googlebot переобойдёт страницы. Ускоряет процесс — запрос на переобход в Search Console.
Сайт ругается на смешанный контент?
Найдём все HTTP-ресурсы, заменим на HTTPS, настроим корректный редирект. Проверим через Search Console.
Обсудить задачу →




Messenger Max