Определение и удаление смешанного контента

Несмотря на использование SSL-шифрования, сайт может не получить желанного «зеленого замка» (обозначающего защищенное соединение), а только примечание – «смешанный контент».

Смешанный контент

В этой статье вы узнаете, как найти на сайте и удалить смешанный контент, чтобы добиться SSL-шифрования.

Что такое смешанный контент?

Смешанный контент возникает, когда HTTPS-сайт, частично предоставляет материалы в незашифрованном виде через HTTP. Типичным примером смешанного контента являются изображения, аудио и видеофайлы, iFrames, CSS, а также файлы и объекты JavaScript.

В зависимости от используемого браузера обозначение смешанного контента может выглядеть в адресной строке по-разному.

Предупреждение

Полностью зашифрованный ресурс будет обозначаться в адресной строке браузера следующим образом.

Безопасное соединение

Инструменты разработчика (консоль), доступные в браузере Google Chrome или в Firefox, предоставляют подробный обзор того, какое содержимое сайта является смешанным контентом.

Инструменты разработчика

Альтернативой инструментам для разработчиков, встроенных в браузеры, является онлайн-инструмент Why No Padlock. В нем нужно ввести URL-адрес сайта. После чего вы получите подробные инструкции, какой контент нужно обработать.

Почему нет замка

Отличия активного и пассивного смешанного контента

Существует два типа смешанного контента:

  • Пассивный смешанный контент — это контент, который не может быть изменен другими частями сайта. К этому типу относятся изображения, видео, аудио файлы. А также субресурсы объектов, которые интегрированы в веб-страницу.
  • Активный смешанный контент — является частью DOM сайта. Этот контент может временно изменять части веб-страницы и их поведение. К этому типу относятся ссылки, скрипты (например, JavaScript), XML-объекты HTTP-запроса, iFrames, файлы CSS, которые работают с URL-адресами, и атрибуты данных объекта.

Удаление и замена смешанного контента (WordPress)

Проблема смешанного контента в WordPress может быть решена двумя простыми действиями:

  1. Преобразованием всех HTTP-ссылок в базе данных WordPress в HTTPS-ссылки.
  2. Настройкой на сервере постоянного редиректа 301 с HTTP на HTTPS.

Преобразование HTTP-ссылок в HTTPS-ссылки

Для замены ссылок в базе данных WordPress можно использовать различные методы. Важно: перед внесением изменений в базу убедитесь, что вы создали ее резервную копию.

1. Плагин WordPress: Better Search Replace

Плагин пробного запуска для поиска и замены в базе данных. Также можно включать или исключать отдельные таблицы.

Better Search Replace

2. PHP-скрипт: Database Search and Replace of Interconnect

PHP-скрипт, который нужно скопировать с помощью (S)FTP в подкаталог, расположенный в корне WordPress.
Основным преимуществом этого метода является независимость от действующей установки WordPress. Даже если база данных WordPress больше не работает, невозможно войти в бэкэнд WordPress, и у вас нет доступа к плагинам, то все равно можно внести изменения в базу с помощью Database Search and Replace.

3. WP-CLI: WP-CLI установлен на всех серверах веб-хостинга 1&1 IONOS.

С помощью этого инструмента командной строки можно настраивать ссылки в базе данных WordPress с помощью Database Search and Replace.

Для этого зайдите на сайт через SSH и перейдите в папку WordPress. Вы можете настроить ссылки с помощью этой команды:

wp search-replace 'http://example.com' 'https://example.com'
wp search-replace 'http://www.example.com' 'https://www.example.com'

Настройка редиректа 301

Если ссылки сайта были переключены с HTTP на HTTPS, нужно настроить постоянный редирект 301.
Если сайт работает на сервере Apache, то нужно добавить следующие строки в файл .htaccess:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{SERVER_PORT} 80
  RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R,L]
</IfModule>

Если сайт работает на сервере Nginx, нужно добавить в конфигурацию VHost следующее:

server {
listen 80;
.
server_name example.com;
return 301 https://example.com$request_uri;
}

В браузере по-прежнему отображается предупреждение о смешанном контенте?

К сожалению, на данный момент универсальных рекомендаций для решения подобной проблемы не существует.

Разработчики тем и плагинов для WordPress часто используют внешние ресурсы (например, Google Fonts) в исходном коде через HTTP. Но адаптация ссылок в этом случае не помогает. Исходный код темы / плагина нужно редактировать вручную.

Еще одной причиной появления смешанного контента могут быть файлы изображений, iFrame, CSS и JavaScript с внешних сайтов, которые встроены через HTTP-ссылки.

Перевод статьи «Detect and remove mixed content» подготовлен дружной командой проекта Сайтостроение от А до Я.