Если вы только что установили Divi 5, и ваш сайт внезапно перестает отображаться с «некорректной разметкой», визуальный конструктор отказывается загружаться или вы видите ошибки REST в консоли, это очень распространенная ситуация: сочетание проблем с кэшем, порядком загрузки скриптов и безопасностью (nonce/cookies), которые частично совпадают.
проблема
После установки или активации Divi 5 на WordPress В версии 6.9.4 (апрель 2026 г.) на некоторых сайтах наблюдаются немедленные сбои: визуальный редактор не загружается, стили больше не применяются или административная панель становится нестабильной.
Вот несколько типичных сообщений, которые я вижу в логах PHP, в консоли браузера или в сетевых ответах (на вкладке «Сеть»).
Uncaught TypeError: Cannot read properties of undefined (reading '...')
REST API: 401 Unauthorized /wp-json/...
403 Forbidden (CSRF token missing or incorrect)
Failed to load resource: the server responded with a status of 404 (Not Found) /wp-content/themes/Divi/...
There has been a critical error on this website.
Где это появляется:
- Front-end Отсутствует CSS, меню без стилей, модули Divi смещены, отсутствуют анимации.
- Админ : Зацикливание в Visual Builder («Загрузка…») или белый экран в редакторе.
- API : ошибки на
/wp-json/(REST API) и AJAX-запросы (часто приводящие к ошибкам 401/403).
Типичные обстоятельства:
- Сразу после установки Divi 5 (или перехода с Divi 4 на Divi 5).
- После обновления WordPress до версии 6.9.x или активации плагина кэширования/CDN.
- После активации плагина безопасности/WAF (брандмауэра приложений) или более строгих правил сервера.
Для кого это предназначено: для начинающих блогеров (но я также предоставляю «профессиональные» проверки). К концу вы научитесь определять причину проблемы. правильный правильно (без вмешательства в ядро) и убедиться, что Divi 5 корректно загружает свои ресурсы и что редактор корректно взаимодействует через REST/AJAX.
Краткое резюме
- 90% случаев : кэширование (плагин/CDN/браузер) + оптимизация JS/CSS, которая нарушает порядок загрузки.
- Ошибки REST 401/403 : nonce/cookies заблокированы (плагин безопасности, WAF, правило ModSecurity, “SameSite”).
- Визуальный конструктор в цикле REST API недоступен, или же JS-код минифицирован/отложен («defer/delay») слишком агрессивно.
- Ошибка 404 при работе с файлами Divi : перезапись (постоянные ссылки), путь к CDN или права доступа.
- Ошибка 500 / критическая Слишком низкая скорость PHP, недостаточно памяти или неработающий фрагмент кода.
functions.php.
Симптомы
Вот наиболее распространенные симптомы после установки Divi 5, от самых «заметных» до самых «сложных».
- Нестилизованная разметка Как правило, CSS-файлы Divi либо не загружаются, либо заменяются кэшированной версией.
- Визуальный конструктор не загружается : бесконечный экран «Загрузка» или возврат к администратору без явного сообщения об ошибке.
- Модули, которые не отвечают : неактивные клики, невозможность перетаскивания, всплывающие окна, которые не открываются.
- Ошибки в консоли : TypeError, Загрузка фрагмента не удаласьОшибки CORS, 401/403
/wp-json/. - Ошибка 500 / белый экран Часто это конфликт плагинов, ограничение памяти или код, скопированный не в то место.
- Короткие коды Divi отображаются в виде текста. Контент импортирован, но конструктор не активен, или возникает конфликт с плагином фильтрации.
the_content. - Проблемы возникают «только в процессе производства». : CDN, серверный кэш, HTTP/2 push, минификация или правила WAF.
Краткая диагностическая таблица (очень полезна, когда вы только начинаете и не знаете, с чего начать).
| симптом | Причина вероятна | проверка | Решение |
|---|---|---|---|
| Неработающий стиль / Отсутствуют CSS-стили | Кэширование + минификация CSS/JS | Вкладка «Сеть»: CSS-код, отображающий ошибку 404 или не загруженный. | Отключить оптимизацию, исключить Divi, очистить кэш. |
| Строитель «Загрузка…» | REST-запрос заблокирован (401/403) или задержка JavaScript. | Консоль + Сеть на /wp-json/ | Исключить /wp-json/, правильный nonce/cookies, WAF |
| Ошибка 500 / критическая | PHP/память/фрагмент кода не работает | WP_DEBUG + журналы сервера | Увеличение объема памяти, исправление кода, устранение конфликтов плагинов. |
| 404 об активах | Постоянные ссылки / переписывание / разрешения | Настройки > Постоянные ссылки + тест прямого URL файла | Восстановите постоянные ссылки, проверьте файл .htaccess/Nginx. |
| Содержимое Divi в шорткоде | Конструктор не активен / фильтр контента | Отключите плагины, проверьте активную тему. | Активируйте Divi заново, выделите плагин, отвечающий за фильтрацию. |
Почему это происходит
Версия для начинающих: Divi 5 — это визуальный конструктор. Он загружает множество файлов (CSS/JS) и позволяет вашему браузеру взаимодействовать с WordPress посредством внутренних запросов (REST API и AJAX). Если кэширование, оптимизация или меры безопасности блокируют или изменяют этот обмен данными, вы увидите множество различных симптомов.
Техническая версия: Divi 5 полагается на согласованную загрузку скриптов (порядок, зависимости, фрагменты), действительные сессионные cookie и nonce-токены WordPress. Nonce — это временный токен безопасности, предотвращающий определенные атаки (CSRF). Если плагин задерживает/откладывает загрузку скриптов (defer/delay), минимизирует код, нарушая работу JS-модуля, или если WAF блокирует REST-запросы, конструктор оказывается «частично загруженным».
Вероятные причины (от наиболее частых до самых редких):
- Агрессивная оптимизация (кэширование, минификация, комбинация, «задержка JavaScript», CDN), которая изменяет порядок или предоставляет устаревшие файлы.
- Блокировка REST/AJAX (плагин безопасности, WAF, правила сервера, cookie/nonce) → 401/403.
- конфликт плагинов (часто: оптимизация, безопасность, перевод или плагин для фильтрации контента).
- Ограничения сервера (память PHP, OPcache, таймауты) → ошибки 500 или «критическая ошибка».
- Перезапись/постоянные ссылки Ошибка после миграции → 404 на конечных точках или ресурсах.
- Человеческая ошибка : фрагмент скопирован в неправильный файл, пропущена точка с запятой, хук неподходящий.
Совместимость с конструкторами страниц: вы можете установить Divi 5, даже если иногда используете Elementor или Avada на других страницах. Конфликты в основном возникают, когда несколько конструкторов внедряют свои собственные глобальные скрипты (оптимизация, отложенная загрузка, библиотеки). Приведенные ниже решения остаются актуальными: они ориентированы на WordPress 6.9.4 и корректную загрузку ресурсов, а не на уязвимую функцию, "исключительно совместимую с Divi".
Предварительные условия перед началом обучения
Перед внесением каких-либо изменений, сохранятьЯ видел слишком много сайтов, которые перестали работать из-за простого копирования и вставки. functions.php.
- охрана : файлы + база данных (в идеале через вашего хостинг-провайдера).
- Тестовая среда : по возможности, постановочную копию.
- Версии : WordPress 6.9.4, рекомендуется PHP 8.1+ (8.2/8.3 часто удобнее), Divi 5 обновлен до последней версии.
- Включить отладку WordPress (Временно) для просмотра ошибок PHP.
- Outils :
- Монитор запросов (запросы, хуки, ошибки PHP, REST).
- Проверка работоспособности и устранение неполадок (Режим устранения неполадок, не затрагивающий посетителей).
- Доступ к консоли браузера (Chrome/Firefox) + вкладка «Сеть».
Включите WP_DEBUG (на тестовой платформе или временно на рабочей) в wp-config.php :
/**
* Active le debug WordPress (à utiliser temporairement).
* À placer dans wp-config.php, avant "/* That's all, stop editing! */"
*/
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // Écrit dans wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // Évite d'afficher les erreurs aux visiteurs
Официальная справочная информация: Отладка в WordPress.
Решение 1: Исправить ошибки загрузки CSS/JS в Divi 5 (enqueue, cache, order).
Когда Divi 5 «теряет» свои стили или редактор загружается без интерактивности, основной причиной является плагин, повышающий производительность, который:
- Объединяет/минимизирует скрипты путем разделения модулей.
- задерживает выполнение важных скриптов.
- Предоставляет кэшированную версию файла, изменившегося после обновления.
Диагностика быстрого действия :
- Откройте страницу в режиме приватного просмотра.
- F12 → tab Cеть → Отфильтруйте по "CSS", затем по "JS".
- Перезагрузить (Ctrl+F5). Найти 404, 403или файлы, предоставляемые с неожиданного CDN-домена.
Классический пример: «Я всё комбинирую/минимизирую».
Возможно, вы добавили фрагмент кода из старого руководства (часто до WordPress 6.5), который принудительно включает команду "defer" почти для всех скриптов. В Divi 5 это верный путь к нестабильной работе конструктора.
ПЕРЕДНЯЯ ЧАСТЬ (сломана) Типичный код, вставленный в functions.php (дочерняя тема) или плагин для создания фрагментов кода.
add_filter( 'script_loader_tag', function( $tag, $handle ) {
// MAUVAISE IDÉE : on diffère presque tout, sans exclusions.
if ( false === strpos( $tag, 'defer' ) ) {
$tag = str_replace( '<script ', '<script defer ', $tag );
}
return $tag;
}, 10, 2 );
Почему это приводит к ошибке: некоторые скрипты должны выполняться в определённом порядке или до того, как DOM будет «готов». Откладывая всё, вы меняете фактический порядок выполнения. Я часто сталкивался с этой ошибкой на сайтах, которые также использовали плагин кэширования, «задерживающий JS»: двойной удар.
ПОСЛЕ (исправлено) : мы поддерживаем разумный уровень оптимизации, но мы исключает Ключевые скрипты (Divi/Builder, jQuery при необходимости и особенно всё, что связано с редактором). Вставьте этот код в... functions.php дочерней темы или, что еще лучше, в пользовательские плагины (рекомендуемые).
<?php
/**
* Plugin Name: BPCAB - Correctifs Divi 5 (assets)
* Description: Exclusions de defer/delay pour éviter les bugs Divi 5 après installation.
* Version: 1.0.0
* Requires at least: 6.9
* Requires PHP: 8.1
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Filtre = "hook" qui modifie une valeur.
* Ici, on modifie la balise <script> générée par WordPress.
*
* Objectif : éviter de différer des scripts critiques (Divi/Builder/REST).
*/
add_filter( 'script_loader_tag', function( $tag, $handle, $src ) {
// Liste d'exclusion : adaptez si vous identifiez des handles précis via Query Monitor.
$excluded_handles = array(
'jquery',
'jquery-core',
'wp-api',
'wp-api-request',
'wp-polyfill',
);
// Exclusion "par motif" sur l'URL si le handle n'est pas fiable (cas fréquent avec des bundles).
$excluded_src_patterns = array(
'/et-core/', // souvent utilisé côté Divi/ET
'/divi/', // prudence
'/builder/', // prudence
'admin-ajax.php',
'/wp-json/',
);
// 1) Exclusion par handle
if ( in_array( $handle, $excluded_handles, true ) ) {
return $tag;
}
// 2) Exclusion par motif d'URL
foreach ( $excluded_src_patterns as $pattern ) {
if ( is_string( $src ) && str_contains( $src, $pattern ) ) {
return $tag;
}
}
// 3) Sinon, on peut ajouter defer, mais sans casser le type="module" si présent.
if ( ! str_contains( $tag, ' defer' ) && ! str_contains( $tag, ' type="module"' ) ) {
$tag = str_replace( '<script ', '<script defer ', $tag );
}
return $tag;
}, 10, 3 );
Куда вставить этот код :
- Чистый вариант: создать файл
wp-content/plugins/bpcab-divi5-fixes/bpcab-divi5-fixes.phpВставьте код, затем активируйте плагин. - «Быстрый» вариант:
functions.phpдочерней темы (менее надежна при смене темы).
Сохраните перед редактированием.Забытая скобка в functions.php достаточно, чтобы вызвать появление белого экрана.
Кэширование и CDN: настоящая «несущественная проблема».
Перед тем как прикасаться к коду, выполните следующие очистки в указанном порядке (иначе вы будете тестировать сайт, которого на самом деле не существует):
- Очистите кэш плагина (LiteSpeed Cache / WP Rocket / и т. д.).
- Если такая возможность доступна, очистите кэш сервера (хостинга).
- Очистите кэш CDN (Cloudflare и т. д.).
- Очистите кэш браузера (или используйте режим приватного просмотра).
Если вы используете Elementor или Avada одновременно: применяйте ту же логику. «Глобальные» оптимизации ломают любой современный конструктор.
Решение 2: Исправление ошибок REST/AJAX (nonce, cookie, безопасность, WAF)
Когда Divi 5 перестаёт сохранять, загружать конструктор или получать данные, часто наблюдается следующая ситуация:
- 401 Несанкционированный из
/wp-json/ - 403 Запрещено из
admin-ajax.php - Ошибки типа «одноразово недействительный» (иногда видимые только в JSON-ответе)
Простой перевод: WordPress отклоняет запрос, потому что считает его нелегитимным. Либо браузер отправляет неверные cookie-файлы, либо брандмауэр изменяет/блокирует запрос, либо кэш отображает страницу «авторизованный» незарегистрированному посетителю.
Шаг 1: Убедитесь, что REST API отвечает.
Простой тест: откройте этот URL (войдя в панель администратора):
https://votre-site.tld/wp-json/
Вам нужно получить JSON (структуру данных), а не блокирующую HTML-страницу. Если вы видите страницу «Доступ запрещен», запрос подтверждения или HTML-код WAF, значит, вы нашли причину.
Официальная документация по REST API: Руководство по REST API WordPress.
Шаг 2: Типичный случай — кэш, который кэширует страницы администратора/редактора.
Некоторые настройки кэширования (или неправильно настроенная CDN) позволяют кэшировать страницы, которые никогда не должны кэшироваться: /wp-admin/, wp-jsonили конечные точки, используемые конструктором.
Не вдаваясь в подробности конфигурации каждого плагина, правило простое:
- Исключать / Wp-админ /, /wp-json/, Админ-ajax.php кэш.
- Временно отключите функции «Delay JS» и «Combine JS» для тестирования.
Шаг 3: Типичный случай — плагин безопасности/WAF блокирует admin-ajax или wp-json
Я часто сталкивался с этим в случае слишком строгих правил: они блокируют запросы. POST исп admin-ajax.php ou /wp-json/или же они фильтруют определенные параметры.
диагностический :
- Проверьте журналы плагина безопасности (заблокированные события).
- Проверьте журналы сервера (ModSecurity, WAF hosting).
- В разделе «Сеть» откройте запрос с ошибкой 403 и посмотрите ответ: иногда WAF «подписывает» свою страницу.
Исправление ошибок на стороне WordPress (чистая версия) Убедитесь, что WordPress корректно отправляет заголовки no-cache на страницы с конфиденциальной информацией, и предотвратите их кэширование прокси-сервером. Это не панацея от WAF, но помогает в случае с некоторыми неправильно настроенными обратными прокси-серверами.
Вставьте в пользовательский плагин (или functions.php (детской тематики):
<?php
/**
* Empêche le cache sur les pages où Divi/WordPress ont besoin d'une session cohérente.
* Utile si un proxy/CDN est un peu trop "zélé".
*/
add_action( 'send_headers', function() {
// Ne pas toucher au front-end public.
if ( ! is_admin() && ! wp_doing_ajax() ) {
return;
}
// En admin/AJAX, on force des en-têtes anti-cache.
nocache_headers();
// Certains proxies respectent mieux ces directives explicites.
header( 'Cache-Control: no-store, no-cache, must-revalidate, max-age=0' );
header( 'Pragma: no-cache' );
}, 20 );
Почему это помогает Divi 5 полагается на аутентифицированные запросы. Если ответ кэшируется и отправляется повторно, вы можете получить несогласованный nonce/cookie, что приведет к ошибке 401/403.
Шаг 4: Исправьте смешанный контент или несоответствие доменных имен (www и без www).
Использование Divi 5 быстро становится проблематичным, если на вашем сайте чередуются следующие режимы:
http://ethttps://wwwи нет-www
Проверить Настройки> Общие «Веб-адрес WordPress» и «Веб-адрес сайта» должны быть абсолютно одинаковыми.
ссылка: Нонсы (безопасность WordPress) (Полезно для понимания причин поломки).
Решение 3: Исправить ошибки 404, зацикливание редактора и ошибки 500 (постоянные ссылки, перезапись, память, PHP).
Данное решение охватывает три группы ошибок, которые выглядят похоже, но имеют разные причины: ошибка 404, зацикливание загрузки и критические ошибки.
Случай А — ошибка 404 после установки/миграции: постоянные ссылки и правила перезаписи.
Симптомы:
- Некоторые страницы работают, другие выдают ошибку 404.
- Конструктор загружается, но некоторые внутренние запросы завершаются с ошибкой.
Простое решение для начинающих (код не требуется) :
- идти Настройки> Постоянные ссылки.
- Ничего не меняйте, просто нажмите. Регистрация.
Это восстанавливает правила перезаписи. Таким образом устраняется множество ошибок 404, возникающих «после установки».
Официальный документ: flush_rewrite_rules() (не следует повторять это на каждой странице, см. ниже).
Случай B — критическая ошибка / 500: повреждена память PHP и фрагменты кода
Если вы видите сообщение «На этом сайте произошла критическая ошибка», начните с проверки. wp-content/debug.log (если WP_DEBUG_LOG активен) или журналы PHP хостинг-провайдера.
Реалистичная ошибка №1 : фрагмент, скопированный не в то место (например, в wp-config.php но не в том месте), или забытая точка с запятой.
ПЕРЕДНЯЯ ЧАСТЬ (сломана) : заведомо ложный пример.
define( 'WP_MEMORY_LIMIT', '256M' ) // Point-virgule manquant => fatal error
ПОСЛЕ (исправлено) : в wp-config.phpперед строкой «прекратите редактирование».
/** Augmente la mémoire PHP côté WordPress (ne remplace pas la limite serveur). */
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' ); // Utile pour l'admin/éditeur
Почему: Divi 5 (как и Elementor/Avada) может создавать большую нагрузку на административную панель. Если ваш лимит составляет 128 МБ, вы можете столкнуться со случайными ошибками, особенно при одновременном использовании нескольких плагинов.
Справочник по PHP (ограничения памяти, конфигурация): PHP memory_limit.
Случай C — Циклы загрузки: OPcache и «устаревшие» файлы
Менее распространённая, но я сталкивался с ней у агрессивных хостинг-провайдеров: OPcache сохраняет старые PHP-файлы в памяти после обновления. В результате Divi/WordPress считает, что загружает одну версию, хотя на самом деле сервер работает с другой.
диагностический Ошибка появляется сразу после обновления, исчезает «самостоятельно» через несколько часов или после перезапуска PHP-FPM.
фиксированный Попросите своего хостинг-провайдера очистить OPcache и перезапустить PHP-FPM. На стороне WordPress это невозможно сделать корректно без доступа к серверу (и я не рекомендую использовать скрипты "opcache_reset()" в продакшене: это риск для безопасности, если они плохо защищены).
Проверки после внесения исправлений
Не стоит довольствоваться просто "так выглядит лучше". Проводите тестирование воспроизводимым способом.
- Тестирование интерфейса пользователя Откройте страницу Divi в режиме приватного просмотра → CSS-стили должны отображаться корректно с первой загрузки.
- Конструктор тестов Откройте визуальный редактор, переместите модуль, сохраните, обновите страницу → изменения должны сохраниться.
- Тест REST : открытым
/wp-json/→ Вы должны увидеть JSON, а не блокирующий HTML. - Консоли : отсутствуют красные ошибки, связанные с отсутствующими (404) или отклоненными (403) файлами.
- Монитор запросов Проверьте разделы «Вызовы HTTP API» и «Ошибки PHP». Никаких критических ошибок и повторяющихся ошибок 401/403.
Если вы используете Divi 5 с Elementor или Avada на одном сайте: проверьте страницу, созданную с помощью каждого конструктора. Неправильно настроенный кэш может привести к сбою одного конструктора, но не другого, что даст ложные подсказки.
Если это всё ещё не поможет
Процедура устранения неполадок, которую я использую, когда проблема "застревает". Выполняйте действия по порядку: так вы избежите слепой смены 10 настроек.
1) Выявить конфликт плагинов/тем, не нарушая работу сайта (проверка работоспособности).
устанавливать Проверка работоспособности и устранение неполадок, затем:
- Включить режим устранения неполадок (Только для тебя).
- Отключите все плагины, кроме Divi (и тех, которые являются необходимыми).
- Протестируйте конструктор.
Если в режиме устранения неполадок все работает, значит, у вас конфликт. Активируйте плагины по одному, проверяя каждый раз.
2) Проверьте наличие ошибок PHP и версию PHP.
- Рекомендуется использовать PHP версии не ниже 8.1. Если вы используете 8.0 или 7.4, вы рискуете (безопасность + совместимость).
- посмотреть
wp-content/debug.logа также журналы сервера.
3) Проверьте права доступа к файлу.
Симптом: ошибки 403/404 в файлах. wp-content/themes/ ou wp-content/uploads/.
- Файлы: 755 (часто)
- Файлы: 644 (часто)
Если вы не уверены, обратитесь к своему хостинг-провайдеру. Никогда не используйте команду «chmod 777»: это представляет угрозу безопасности.
4) Проверьте перезапись (Apache/Nginx)
Если постоянные ссылки не перегенерируются, возможно, у вас проблема с конфигурацией сервера (mod_rewrite, правила Nginx). Это распространенная проблема после миграции.
ссылка: WordPress на Apache.
5) Проверьте консоль браузера и сетевые запросы.
Повторяю, потому что это экономит часы: если конструктор не загружается, консоль и сетевые настройки почти всегда указывают причину (фрагмент кода в ошибке 404, ошибка 403 WAF, CORS и т. д.).
Распространенные ошибки и ловушки
| Симптом / ошибка | Причина вероятна | Рекомендуемое решение |
|---|---|---|
| «Загрузка…» — бесконечная заставка в Divi 5. | REST API заблокирован (401/403), задержка JavaScript. | Исключите /wp-json/ и скрипты Divi из оптимизации, проверьте WAF. |
| CSS отсутствует после обновления | Cache CDN/plugin использует более старую версию. | Очистите все кэши (плагинов, сервера, CDN, браузера). |
| Критическая ошибка сразу после добавления фрагмента кода. | Код вставлен не в то место, забыл поставить точку с запятой. | Восстановить резервную копию, исправить синтаксис, использовать пользовательский плагин |
| Видимые шорткоды Divi | Конструктор отключен, конфликт плагинов, фильтрующих содержимое (the_content). | Проведите проверку работоспособности системы и отключите неисправный плагин. |
| “Недействительный одноразовый код” / 403 admin-ajax | Файлы cookie заблокированы, кэш на приватных страницах, WAF | Исключить admin/AJAX из кэша, проверить домен https/www, журналы безопасности. |
| Всё работает локально, но не в продакшене. | CDN/WAF/OPcache/оптимизация сервера | Временно отключите CDN, очистите кэш OPcache через хостинг-провайдера и сравните заголовки. |
Часто встречающиеся человеческие ошибки:
- Скопируйте код в
style.cssвместоfunctions.php(или наоборот). - Смущать действие et фильтры Действие выполняет код в заданный момент времени; фильтр изменяет значение и должен возвращение что-то.
- Использование хука слишком рано (например, манипулирование скриптами до того, как WordPress их сохранит).
- Тестирование непосредственно в рабочей среде без сохранения или приватного просмотра.
Вариант / альтернатива
Метод без использования кода: начиная с "безопасной" с точки зрения производительности конфигурации.
Если вы новичок, то зачастую лучший подход таков:
- Временно отключить минификацию/комбинацию/задержку JavaScript.
- Убедитесь, что Divi 5 работает стабильно.
- Активируйте оптимизации по одной, исключая Divi/REST по мере необходимости.
Это также работает для Elementor и Avada: нужно найти настройку, которая нарушает порядок выполнения JavaScript-кода.
Метод разработчика: определить конкретные идентификаторы, которые необходимо исключить, с помощью монитора запросов.
В Query Monitor на вкладке «Скрипты» можно увидеть следующее: ручки Фактически выполнен запрос. Дескриптор — это внутренний идентификатор скрипта в WordPress. Затем вы можете специально исключить эти дескрипторы из фильтра. script_loader_tag (Решение 1) вместо сопоставления фрагментов URL.
Официальный документ по расследованию: wp_enqueue_script ().
Избегайте этой проблемы в будущем.
- Избегайте «волшебных» фрагментов. Они обещают 100/100 PageSpeed, но при этом откладывают все остальное. Зачастую они существовали еще до появления современных конструкторов страниц.
- Предпочитаю собственный плагин вместо того, чтобы вставлять код в
functions.phpИсправленные ошибки сохраняются даже при смене темы оформления. - Задокументируйте исключения из кэша. (простой текстовый файл):
/wp-json/,admin-ajax.phpСтраницы конструктора. - Обновление поэтапное Сначала WordPress, затем Divi, потом плагины. Протестируйте каждый из них.
- Отслеживайте наличие ошибок. : плагин, подобный Query Monitor, на тестовом сервере и очистка логов на продакшене.
Если вам необходимо очистить постоянные ссылки в коде (например, при активации плагина), делайте это только при активации, никогда не при каждой загрузке:
<?php
/**
* Exemple sûr : flush rewrite rules uniquement à l'activation.
* À placer dans un plugin (pas dans functions.php).
*/
register_activation_hook( __FILE__, function() {
flush_rewrite_rules();
} );
register_deactivation_hook( __FILE__, function() {
flush_rewrite_rules();
} );
почему: flush_rewrite_rules() Это дорого. Вызов этой функции на каждой странице может значительно замедлить работу сайта.
Ресурсы
- Отладка в WordPress (WP_DEBUG)
- Справочник по REST API
- Нонсы (безопасность WordPress)
- wp_enqueue_script() (Добавление в очередь JavaScript)
- flush_rewrite_rules() (правила постоянных ссылок)
- Монитор запросов (плагин)
- Проверка состояния и устранение неполадок (плагин)
- PHP: memory_limit
- Ядро WordPress (зеркало на GitHub)
- Система отслеживания ошибок ядра WordPress (тикеты)
Часто задаваемые вопросы
Совместим ли Divi 5 с WordPress 6.9.4?
Да, на практике это распространенное сочетание в 2026 году. Проблемы после установки чаще возникают из-за проблем с кэшированием/оптимизацией/безопасностью, чем из-за «чистой» несовместимости. Поддерживайте Divi и WordPress в актуальном состоянии и тестируйте в тестовой среде.
Нужно ли отключать плагин кэширования, чтобы использовать Divi 5?
Нет. Но вам часто придётся... исключать Избегайте использования определенных конечных точек (REST/AJAX) и чрезмерно агрессивных параметров задержки JavaScript. Если вы включите какой-либо параметр, и конструктор перестанет работать, значит, вы нашли виновника.
Почему я получаю ошибки 401/403 при подключении к /wp-json/?
Наиболее распространенная причина — блокировка файлов cookie (несоответствие домена www/без www), кэширование на закрытых страницах или блокировка POST-запросов со стороны WAF. Проверьте согласованность URL-адресов сайта и протестируйте, временно отключив безопасность/CDN.
Можно ли использовать эти фрагменты кода в плагине "Фрагменты кода"?
Да, но с осторожностью. Неработающий фрагмент кода всё ещё может привести к сбою сайта, если плагин будет выполнять его повсюду. Я предпочитаю небольшой, версионированный пользовательский плагин (даже минимальный), потому что у вас больше контроля над тем, что загружается.
Конструктор работает у меня, но не у другого администратора: почему?
Часто виновником является кэш браузера, расширение или другая политика использования файлов cookie. Попробуйте протестировать в режиме приватного просмотра, без расширений, и сравните сетевые запросы (401/403).
Ошибка 500 возникает только при открытии визуального конструктора.
Это указывает на ограничение памяти, таймаут или фатальную ошибку, возникшую на определенном маршруте (REST/AJAX). Включите WP_DEBUG_LOG, воспроизведите ошибку, а затем прочитайте лог. wp-content/debug.log.
Divi 5 + Elementor на одном сайте: плохая ли это идея?
Это не «запрещено», но увеличивает риск конфликтов (глобальные скрипты, оптимизация, CSS). Если вам это необходимо, избегайте оптимизаций, которые объединяют/откладывают все изменения, и тестируйте каждый построитель после каждого обновления.
Нужно ли мне регулярно очищать постоянные ссылки?
Нет. Делайте это при изменении структуры постоянных ссылок, миграции сайта или установке плагина, добавляющего маршруты. В коде — только при активации/деактивации плагина.
Что следует проверить в первую очередь, если Divi 5 «не загружается»?
В консоли, во вкладке «Сеть», вы почти всегда увидите ошибку 401/403 (REST/AJAX), ошибку 404 для фрагмента JS/CSS или скрипт, заблокированный оптимизацией.