Reemake Digital Agency · Безопасность Joomla

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.

Обсудить задачу →
8 (950) 442-49-00 reemake@inbox.ru Max Messenger Max

с 8:00 до 20:00 (МСК)

г. Пермь