extra_toc

Такое сообщение говорит о том, что не весь контент на сайте защищен. Причина — смешанный контент.

Смешанное содержимое https, браузер Chrome

Что такое Смешанный контент (mixed content)

Смешанный контент (mixed content) — наличие на одном сайте элементов, подключаемых по http и https протоколам одновременно.

Такое случается, например, если в коде сайта были использованы абсолютные ссылки с префиксом http:// на подключаемые элементы (картинки, видео, скрипты и пр.). Либо на страницах сайта присутствуют ссылки на сторонние ресурсы с протоколом http.

Так как SSL-сертификат не способен самостоятельно защитить эти элементы, то такое соединение не считается полностью защищенным.

Как выглядит ошибка смешанного содрежимого в разных браузерах

  • Internet Explorer сообщает, что отображено только безопасное содержимое сайта, загруженное через протокол https. Можно отобразить весь контент нажатием кнопки “Show all content” («показать все содержимое»).
  • Google Chrome: пишет, что подключение защищено не полностью. Вы можете загрузить все содержимое сайта, нажав на ссылку “Load unsafe content” (“Загрузить небезопасное содержимое)”.
  • Mozilla Firefox: также блокирует небезопасное наполнение, в адресоной строке появляется иконка с восклицательным знаком.

Как избавиться от смешанного содержимого на страницах сайта

Для начала определитесь, что именно на вашем сайте загружается по незащищенному протоколу http. Для этого удобно использовать браузер Google Chrome. Откройте в нем ваш сайт, затем нажмите на клавиатуре

F12 и перейдите во вкладку Console

Здесь вы сразу увидите предупреждения, выделенные красным цветом, которые показывают, что именно на вашем сайте загружается по протоколу http:

Смешанное содержимое при https, что это и как исправить

Что нужно сделать? Заменить все http-ссылки на https соответственно. Для этого придется внести исправления либо в контенте, либо непосредственно в шаблоне сайта.

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

Если у вас есть ssh доступ к серверу, то можно попробовать найти все вхождения http следующей командой:

egrep -ril "http://" /var/www/user/data/www/site.ru

Где /var/www/user/data/www/site.ru - путь до файлов сайта. В результате у вас отобразится список файлов, содержащих "http://". Останется только внести в них исправления.

Вы можете попробовать сделать автозамену http на https, ssh командой:

find /var/www/user/data/www/site.ru -type f -name * -exec sed -i -r 's/`http://`/`https://`/g' {} \;

Где /var/www/user/data/www/site.ru - путь до файлов сайта. Данный способ довольно рискован, поэтому используйте его на свой страх и риск, а также сделайте предварительно резервную копию файлов сайта.

Для того, чтобы избежать появления смешанного содержимого, следует все ссылки в шаблоне сайта заранее оформлять как относительные. Это избавит от проблем в будущем при переходе от http к https протоколу.