Обратите внимание на недорогие виртуальные серверы в Амстердаме (Нидерланды) от «Хостера года» 2021, 2022 и 2024 годов. Оплата в рублях картами банков РФ, СБП, электронными деньгами. Подробнее.

Как исправить ошибку загрузки файла(ов) CSS стилей по HTTPS в WordPress

Опубликовано: 1 августа 2025
Раздел(ы): WordPress
Просмотры: 8
Комментарии: 0

При смене хостинга и переводе одного WordPress проекта на HTTPS я столкнулся с тем, что у сайта полностью сломалось оформление темы. Как оказалось сайт открывался по безопасному протоколу HTTPS, но таблицы стилей упрямо пытались загрузиться по HTTP.

Переход на HTTPS важен для вашего сайта, даже если на нем нет персональных, секретных или иных важных данных. Сайты работающие на HTTP могут помечаться браузерами как небезопасные, что оттолкнет пользователей от посещения вашего ресурса.

Почему WordPress не отдает адреса CSS с указанием HTTPS протокола

Переход на HTTPS сделать не так сложно, но не всё работает «из коробки» каждый раз.

Если вы видите некорректный дизайн или оформление на своём сайте, то скорее всего, файлы CSS стилей загружается неправильно после миграции на HTTPS.

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

То есть вы пытаетесь зайти на сайт по HTTPS, но WordPress указывает адреса CSS как HTTP.

В результате вы увидите «скелетную» неотформатированную версию вашего сайта, без некоторых элементов оформления, функций и т.п.

Проблемы с сертификатом и версией WordPress

Сразу хочу откинуть проблемы перевода сайта на использования HTTPS. Будем считать, что сертификат установлен корректно, версия Wodpress свежее 3.5, в админке указан правильный адрес.

Так же вы почистили куки в браузере и провели работу сайта в разных обозревателях, на нескольких устройствах, через разных интернет провайдеров.

И если даже перезагрузка компьютера вам не помогла, то будем чинить WordPress.

Как заставить WordPress передавать адреса CSS файлов с указанием HTTPS протокола

Наверняка есть какой-то плагин, который всё сделает за нас, но это наш метод. Тем более для такой простой задачи.

Для того чтобы WordPress при обращении к сайту по HTTPS формировал ссылки на файлы таблиц стилей CSS с указанием протокола HTTPS добавьте следующую строку в файл wp-config.php

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on';

Суть настройки в том, что если пользователь пытается посетить сайт с использованием протокола HTTPS, то значение переменной $_SERVER['HTTPS'] принудительно устанавливается в состояние «ДА» (on, 1). После чего WordPress будет формировать адреса ссылок на CSS файлы с указанием протокола HTTPS.

Вставить ее нужно обязательно перед следующей строкой require_once(ABSPATH . 'wp-settings.php');

После внесения изменений адреса таблиц стилей должны быть указаны с использованием протокола HTTPS.

Браузер должен корректно загрузить оформление и сайт будет отображаться как вы это задумали.

Постскриптум

Почему так могло произойти?

Одна из причин — это использование посредника, например реверс-прокси сервера, перед сайтом на WordPress. То есть посетитель обращается к реверс-прокси по HTTPS, а обмен данных между реверс-прокси и хостингом идет по HTTP протоколу. Получается, что WordPress ничего не знает о том по какому протоколу пользователь хочет получить данные. И значение HTTP X-Forwarded-Proto как раз и указывает оригинальный протокол, по которому посетитель подключился к посреднику (прокси или балансировщику нагрузки).

Благодарности

При написании статьи были использованы следующие источники:

  1. https://www.malcare.com/blog/wordpress-not-loading-css-over-https/
  2. https://stackoverflow.com/questions/34019707/wordpress-site-css-and-js-path-is-http-not-https

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2025
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 14 | 0,156 сек. | 7 МБ