Agar siz Divi 5 ni endigina o'rnatgan bo'lsangiz va saytingiz to'satdan "buzilgan tartib" ga kirsa, Visual Builder yuklashdan bosh tortsa yoki konsolda REST xatolarini ko'rsangiz, siz juda keng tarqalgan holatdasiz: kesh, skriptni yuklash tartibi va xavfsizlik (nonce/cookie) aralashmasi bir-birining ustiga chiqadi.
muammo
Divi 5 ni o'rnatgandan yoki faollashtirgandan so'ng WordPress 6.9.4 (2026-yil aprel) versiyasida ba'zi saytlar darhol ishlamay qoladi: vizual muharrir yuklanmaydi, uslublar endi qo'llanilmaydi yoki boshqaruv beqaror bo'lib qoladi.
PHP jurnallarida, brauzer konsolida yoki tarmoq javoblarida ("Tarmoq" yorlig'i ostida) ko'radigan ba'zi odatiy xabarlar.
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.
Qayerda paydo bo'ladi:
- Front end CSS yo'q, menyu uslubsiz, Divi modullari noto'g'ri joylashtirilgan, animatsiyalar yo'q.
- Admin : Visual Builder sikllanishi (“Yuklanmoqda…”) yoki muharrirda oq ekran.
- API : xatolar yoqilgan
/wp-json/(REST API) va AJAX so'rovlari (ko'pincha 401/403 natijasiga olib keladi).
Odatdagi holatlar:
- Divi 5 ni o'rnatgandan so'ng (yoki Divi 4 dan Divi 5 ga o'tgandan so'ng).
- WordPress 6.9.x yangilanishidan yoki faollashtirilgan kesh/CDN plaginidan so'ng.
- Xavfsizlik plagini/WAF (dastur xavfsizlik devori) yoki qattiqroq server qoidalarini faollashtirgandan so'ng.
Bu kim uchun: yangi boshlovchi bloggerlar (lekin men "professional" tekshiruvlarni ham taqdim etaman). Oxir-oqibat, sababni qanday aniqlashni bilib olasiz. to'g'ri to'g'ri (yadro bilan o'zgartirmasdan) va Divi 5 o'z aktivlarini to'g'ri yuklayotganini va muharrir REST/AJAX orqali to'g'ri aloqa qilayotganini tasdiqlang.
Tez xulosa
- 90% hollarda : kesh (plagin/CDN/brauzer) + yuklash tartibini buzadigan JS/CSS optimallashtirish.
- REST 401/403 xatolari : nonce/cookie-fayllar bloklandi (xavfsizlik plagini, WAF, ModSecurity qoidasi, “SameSite”).
- Visual Builder siklda REST API’si ishlamayapti yoki JS juda tajovuzkor ravishda minifikatsiyalangan/kechiktirilgan (“kechiktirish/kechiktirish”).
- Divi fayllarida 404 xatosi : qayta yozish (doimiy havolalar), CDN yo'li yoki ruxsatnomalar.
- Xato 500 / muhim PHP juda past, xotira yetarli emas yoki parcha buzilgan
functions.php.
Alomatlar
Divi 5 ni o'rnatgandan keyin eng ko'p uchraydigan alomatlar, eng "ko'rinadigan" dan eng "qiyin" gacha bo'lgan reytinglar.
- Uslubsiz maket Odatda, Divi CSS fayllari yuklanmaydi yoki keshlangan versiya bilan almashtiriladi.
- Visual Builder yuklanmayapti : cheksiz "Yuklanmoqda" ekrani yoki aniq xatosiz administratorga qaytish.
- Javob bermayotgan modullar : faol bosishlar, sudrab tashlashning iloji yo'q, ochilmaydigan qalqib chiquvchi oynalar.
- Konsolda xatolar : TypeError, qism yuklashda xatolik yuz berdi, CORS xatolari, 401/403 yoqilgan
/wp-json/. - Xato 500 / oq ekran : ko'pincha plagin mojarosi, xotira cheklovi yoki noto'g'ri joyga ko'chirilgan kod.
- Divi qisqa kodlari matn sifatida ko'rsatiladi Kontent import qilindi, ammo konstruktor faol emas yoki filtrlash plagini bilan ziddiyatga ega
the_content. - Muammolar "faqat ishlab chiqarishda" CDN, server keshi, HTTP/2 push, minification yoki WAF qoidalari.
Tezkor diagnostika jadvali (boshlashda va qaerdan boshlashni bilmaslikda juda foydali).
| alomat | Ehtimoliy sabab | tekshiruv | qaror |
|---|---|---|---|
| Buzilgan uslub / CSS yo'q | Keshlash + CSS/JS minification | Tarmoq yorlig'i: CSS 404 ni ko'rsatmoqda yoki yuklanmagan | Optimallashtirishni o'chirib qo'ying, Divi'ni chiqarib tashlang, keshlarni tozalang |
| Quruvchi “Yuklanmoqda…” | REST bloklangan (401/403) yoki JS kechiktirilgan | /wp-json/ da konsol + tarmoq | /wp-json/ ni chiqarib tashlang, to'g'ri nonce/cookie-fayllar, WAF |
| Xato 500 / muhim | PHP/xotira/parcha buzilgan | WP_DEBUG + server jurnallari | Xotirani oshirish, kodni tuzatish, plaginlar bilan bog'liq ziddiyat |
| Aktivlar bo'yicha 404 | Doimiy havolalar / qayta yozish / ruxsatnomalar | Sozlamalar > Doimiy havolalar + to'g'ridan-to'g'ri fayl URL manzilini tekshirish | Doimiy havolalarni qayta yarating, .htaccess/Nginx ni tekshiring |
| Qisqa koddagi Divi tarkibi | Builder faol emas / kontent filtri | Plaginlarni o'chirib qo'ying, faol mavzuni tekshiring | Divi-ni qayta faollashtiring, filtrlaydigan plaginni ajratib oling |
Nima uchun bu sodir bo'lmoqda?
Boshlang'ich versiya: Divi 5 vizual quruvchidir. U ko'plab fayllarni (CSS/JS) yuklaydi va brauzeringizga WordPress bilan ichki so'rovlar (REST API va AJAX) orqali aloqa qilish imkonini beradi. Agar kesh, optimallashtirish yoki xavfsizlik chorasi ushbu almashinuvlarni bloklasa yoki o'zgartirsa, siz turli xil alomatlarni ko'rasiz.
Texnik versiya: Divi 5 skriptlarni izchil yuklashga (tartib, bog'liqliklar, qismlar), haqiqiy sessiya cookie-fayllariga va WordPress noncelariga tayanadi. Nonce - bu ma'lum hujumlarning oldini oluvchi vaqtinchalik xavfsizlik tokeni (CSRF). Agar plagin skriptlarni kechiktirsa/kechiktirsa (kechiktirsa/kechiktirsa), JS modulini buzish orqali minimallashtirsa yoki WAF REST so'rovlarini bloklasa, quruvchi "yarim yuklangan" bo'lib qoladi.
Ehtimoliy sabablar (eng tez-tez uchraydiganidan eng kam uchraydiganiga qadar):
- Agressiv optimallashtirish (kesh, minification, combination, “JS delay”, CDN) bu tartibni o'zgartiradi yoki eskirgan fayllarga xizmat ko'rsatadi.
- REST/AJAX blokirovkasi (xavfsizlik plagini, WAF, server qoidalari, cookie-fayllar/nonce) → 401/403.
- plaginlar mojarosi (ko'pincha: optimallashtirish, xavfsizlik, tarjima yoki kontentni filtrlaydigan plagin).
- Server cheklovlari (PHP xotirasi, OPcache, vaqt tugashi) → 500 yoki “muhim xato” xatolari.
- Qayta yozish/doimiy havolalar migratsiyadan keyin buzilgan → oxirgi nuqtalar yoki aktivlar bo'yicha 404.
- Inson xatosi : parcha noto'g'ri faylga nusxalangan, nuqta-vergul qoldirilgan, ilmoq mos emas.
Sahifa quruvchisi mosligi: Ba'zan boshqa sahifalarda Elementor yoki Avada dan foydalansangiz ham, Divi 5 ni o'rnatishingiz mumkin. Mojarolar asosan bir nechta quruvchilar o'zlarining global skriptlarini (optimallashtirish, sekin yuklash, kutubxonalar) kiritganda yuzaga keladi. Quyidagi yechimlar o'z kuchida qoladi: ular mo'rt "faqat Divi" funksiyasiga emas, balki WordPress 6.9.4 va aktivlarni to'g'ri yuklashga qaratilgan.
Boshlashdan oldin zarur shartlar
Har qanday o'zgartirishdan oldin, saqlashMen juda ko'p veb-saytlarning oddiy nusxa ko'chirish-joylashtirish bilan buzilganini ko'rdim. functions.php.
- saqlash fayllar + ma'lumotlar bazasi (ideal holda sizning hosting provayderingiz orqali).
- Sinov muhiti iloji bo'lsa, bosqichma-bosqich nusxasi.
- versiyalari WordPress 6.9.4, PHP 8.1+ tavsiya etiladi (8.2/8.3 ko'pincha qulayroq), Divi 5 yangilangan.
- WordPress nosozliklarini tuzatishni yoqish (vaqtincha) PHP xatolarini ko'rish uchun.
- vositalari :
- So‘rov monitor (so'rovlar, ilgaklar, PHP xatolari, REST).
- Sog'liqni saqlash tekshiruvi va muammolarni bartaraf etish (tashrif buyuruvchilarga ta'sir qilmasdan muammolarni bartaraf etish rejimi).
- Brauzer konsoliga kirish (Chrome/Firefox) + Tarmoq yorlig'i.
WP_DEBUG (sahnalashtirilgan yoki vaqtincha ishlab chiqarishda) ni yoqish 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
Rasmiy ma'lumotnoma: WordPress-da disk raskadrovka.
1-yechim: Yuklanmayotgan Divi 5 CSS/JS ni tuzating (navbatga qo'yish, keshlash, buyurtma berish)
Divi 5 o'z uslublarini "yo'qotganda" yoki muharrir interaktivliksiz yuklaganda, birinchi raqamli sabab bu quyidagi samaradorlik plaginidir:
- modullarni buzish orqali skriptlarni birlashtiradi/minimallashtiradi,
- muhim skriptlarni kechiktiradi,
- yangilanishdan keyin o'zgargan faylning keshlangan versiyasini taqdim etadi.
Tez tashxis :
- Sahifangizni shaxsiy ko'rish rejimida oching.
- F12 → yorliq tarmoq → “CSS” va keyin “JS” bo‘limlarini filtrlang.
- Qayta yuklash (Ctrl+F5). Qidiruv 404, 403, yoki kutilmagan CDN domenidan uzatiladigan fayllar.
Klassik holat: "Men hamma narsani birlashtiraman/minimallashtiraman"
Siz eski qo'llanmada (ko'pincha WordPress 6.5 dan oldingi) topilgan parchani qo'shgan bo'lishingiz mumkin, u (deyarli) barcha skriptlarda "defer" buyrug'ini bajarishga majbur qiladi. Divi 5 bilan bu beqaror quruvchi uchun retseptdir.
OLDINGI (singan) : joylashtirilgan odatiy kod functions.php (bola mavzusi) yoki parchalar plagini.
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 );
Nima uchun bu buziladi: ba'zi skriptlar ma'lum bir tartibda yoki DOM "tayyor" bo'lishidan oldin ishlashi kerak. Hamma narsani kechiktirish orqali siz haqiqiy ijro tartibini o'zgartirasiz. Men bu xatoni "JSni kechiktiradigan" keshlash plaginidan foydalangan saytlarda ko'p ko'rganman: ikki barobar tez-tez.
KEYIN (tuzatilgan) : biz optimallashtirishning o'rtacha darajasini saqlab qolamiz, lekin biz istisno qiladi Muhim skriptlar (Divi/Builder, kerak bo'lsa jQuery va ayniqsa muharrir bilan bog'liq barcha narsalar). Siz ushbu kodni joylashtirasiz functions.php bola mavzusi yoki, undan ham yaxshiroq, bir maxsus plagin (tavsiya etiladi).
<?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 );
Ushbu kodni qayerga joylashtirish kerak :
- Tozalash opsiyasi: fayl yaratish
wp-content/plugins/bpcab-divi5-fixes/bpcab-divi5-fixes.phpKodni joylashtiring, so'ngra plaginni faollashtiring. - "Tezkor" variant:
functions.phpbolalar mavzusining (agar siz mavzularni o'zgartirsangiz, unchalik kuchli emas).
Tahrirlashdan oldin saqlashUnutilgan qavs functions.php oq ekran paydo bo'lishi uchun yetarli.
Kesh va CDN: haqiqiy "muammosiz"
Kodga tegishdan oldin, ushbu tozalashlarni ushbu tartibda bajaring (aks holda siz aslida mavjud bo'lmagan saytni sinab ko'rasiz):
- Plagin keshini tozalang (LiteSpeed Cache / WP Rocket / va boshqalar).
- Agar mavjud bo'lsa, server (xosting) keshini tozalang.
- CDN keshini tozalang (Cloudflare va boshqalar).
- Brauzeringiz keshini tozalang (yoki shaxsiy brauzerdan foydalaning).
Agar siz Elementor yoki Avada dan parallel ravishda foydalanayotgan bo'lsangiz: xuddi shu mantiqni qo'llang. "Global" optimallashtirish har qanday zamonaviy quruvchini buzadi.
2-yechim: REST/AJAX xatolarini tuzatish (nonce, cookie-fayllar, xavfsizlik, WAF)
Divi 5 endi saqlay olmasa, konstruktorni yuklay olmasa yoki ma'lumotlarni qaytarib ololmasa, siz ko'pincha quyidagilarni ko'rasiz:
- 401 ruxsatsiz sur
/wp-json/ - 403 taqiqlangan sur
admin-ajax.php - “nonce yaroqsiz” xatolar (ba'zan faqat JSON javobida ko'rinadi)
Boshlang'ich tarjima: WordPress so'rovni qonuniy emas deb hisoblagani uchun rad etadi. Brauzer to'g'ri cookie-fayllarni yubormayapti, xavfsizlik devori so'rovni o'zgartirmoqda/bloklamoqda yoki kesh tizimdan chiqqan foydalanuvchiga "tizimga kirgan" sahifani taqdim etmoqda.
1-qadam: REST API javob berishini tekshiring
Oddiy sinov: ushbu URL manzilini oching (administrator paneliga kirganingizda):
https://votre-site.tld/wp-json/
Siz bloklovchi HTML sahifasini emas, balki JSON (ma'lumotlar tuzilishi) ni olishingiz kerak. Agar siz "Kirish taqiqlangan" sahifasini, muammoni yoki WAF HTML ni ko'rsangiz, sababini topdingiz.
Rasmiy REST API hujjatlari: WordPress REST API qo'llanmasi.
2-qadam: Umumiy holat — administrator/muharrir sahifalarini keshlaydigan kesh
Hech qachon keshlanmasligi kerak bo'lgan ba'zi kesh sozlamalari (yoki noto'g'ri sozlangan CDN) kesh sahifalari: /wp-admin/, wp-json, yoki quruvchi tomonidan ishlatiladigan so'nggi nuqtalar.
Har bir plaginning aniq konfiguratsiyasiga kirmasdan, qoida oddiy:
- Istisno qilish / wp-admin /, /wp-json/, admin-ajax.php kesh.
- Sinov uchun “Delay JS” va “Combine JS” ni vaqtincha oʻchirib qoʻying.
3-qadam: Umumiy holat — xavfsizlik plagini/WAF admin-ajax yoki wp-json ni bloklaydi
Men bunga ko'pincha juda qattiq qoidalar bilan duch kelganman: ular so'rovlarni bloklaydi. POST Verse admin-ajax.php ou /wp-json/yoki ular ma'lum parametrlarni filtrlaydi.
diagnostika :
- Xavfsizlik plaginlari jurnallarini tekshiring (bloklangan hodisalar).
- Server jurnallarini tekshiring (ModSecurity, WAF hosting).
- Tarmoqda 403 so'rovini oching va javobga qarang: ba'zan WAF o'z sahifasini "imzolaydi".
WordPress tomonidagi tuzatish (tozalash) WordPress keshsiz sarlavhalarni maxfiy sahifalarga to'g'ri yuborganligiga ishonch hosil qiling va proksi ularni keshlashiga yo'l qo'ymang. Bu WAFga qarshi sehrli o'q emas, lekin ba'zi yomon sozlangan teskari proksilarga yordam beradi.
Maxsus plaginga joylashtiring (yoki functions.php (bolalar mavzusi bo'yicha):
<?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 );
Nima uchun bu yordam beradi 5-bo'lim tasdiqlangan so'rovlarga tayanadi. Agar javob keshlangan va qayta saqlangan bo'lsa, siz nomuvofiq nonce/cookie-ga ega bo'lishingiz mumkin, natijada 401/403 xatosi paydo bo'ladi.
4-qadam: Aralash kontentni yoki nomuvofiq domenni (www va www bo'lmagan) to'g'rilang.
Agar saytingiz quyidagilar orasida almashinsa, Divi 5 tezda muammoli bo'lib qoladi:
http://ethttps://wwwva yo'qwww
Tekshirish Sozlamalar> Umumiy : “WordPress veb-manzili” va “Sayt veb-manzili” aynan bir xil boʻlishi kerak.
Malumot: Nonces (WordPress xavfsizligi) (uning nima uchun buzilganini tushunish uchun foydali).
3-yechim: 404 xatolarini, sikl muharririni va 500 xatolarini (doimiy havolalar, qayta yozish, xotira, PHP) tuzating.
Ushbu yechim o'xshash ko'rinishga ega, ammo sabablari turlicha bo'lgan uchta xato oilasini qamrab oladi: 404, yuklash sikllari va muhim xatolar.
A holati — o'rnatish/migratsiyadan keyin 404: doimiy havolalar va qayta yozish qoidalari
Alomatlar:
- Ba'zi sahifalar ishlaydi, boshqalari esa 404 raqamini qaytaradi.
- Quruvchi yuklaydi, lekin ba'zi ichki so'rovlar bajarilmaydi.
Boshlang'ich tuzatish (kod talab qilinmaydi) :
- borib Sozlamalar> Permalinks.
- Hech narsani o'zgartirmang, shunchaki bosing rekord.
Bu qayta yozish qoidalarini qayta tiklaydi. Ko'pgina 404 xatolari "o'rnatishdan keyin" shu tarzda hal qilinadi.
Rasmiy hujjat: flush_rewrite_rules() (har bir sahifada chaqirilmasligi kerak, quyida ko'rsatilgan).
B holati — muhim xato / 500: PHP xotirasi va parchalari buzilgan
Agar "Ushbu veb-saytda jiddiy xatolik yuz berdi" degan xabarni ko'rsangiz, avval qidiring wp-content/debug.log (agar WP_DEBUG_LOG faol bo'lsa) yoki xosting provayderining PHP jurnallari.
Realistik xato #1 : noto'g'ri joyga nusxalangan parcha (masalan, ichida wp-config.php lekin noto'g'ri joyda) yoki unutilgan nuqta-vergul.
OLDINGI (singan) : ataylab noto'g'ri misol.
define( 'WP_MEMORY_LIMIT', '256M' ) // Point-virgule manquant => fatal error
KEYIN (tuzatilgan) : Ichida wp-config.php, “tahrirlashni toʻxtatish” qatoridan oldin.
/** 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
Nima uchun: Divi 5 (Elementor/Avada kabi) administratorga katta yuk bo'lishi mumkin. Agar sizning limitingiz 128MB bo'lsa, ayniqsa bir nechta plaginlarda tasodifiy xatolarga duch kelishingiz mumkin.
PHP ma'lumotnomasi (xotira chegaralari, konfiguratsiya): PHP xotira_limiti.
C holati — Yuklash sikllari: OPcache va “eskirgan” fayllar
Kamroq uchraydi, lekin men buni agressiv xosting provayderlarida ko'rganman: OPcache yangilanishdan keyin eski PHP fayllarini xotirada saqlaydi. Natijada, Divi/WordPress bitta versiyani yuklayapti deb o'ylaydi, lekin server aslida boshqasini ishga tushiradi.
diagnostika Xato yangilanishdan so'ng darhol paydo bo'ladi, bir necha soatdan keyin yoki PHP-FPM qayta ishga tushirilgandan so'ng "o'z-o'zidan" yo'qoladi.
Fix Xosting provayderingizdan OPcache-ni tozalashni va PHP-FPM-ni qayta ishga tushirishni so'rang. WordPress tomonida, serverga kirish imkonisiz buni toza ravishda amalga oshira olmaysiz (va men ishlab chiqarishda "opcache_reset()" skriptlaridan foydalanmaslikni maslahat beraman: agar yomon himoyalangan bo'lsa, xavfsizlik xavfi mavjud).
Tuzatishdan keyingi tekshiruvlar
Shunchaki "yaxshiroq ko'rinadi" deb o'ylamang. Qayta takrorlanadigan usulda sinab ko'ring.
- Old tomondan sinovdan o'tkazish : shaxsiy brauzerda Divi sahifasini ochish → CSS birinchi yuklanishdanoq to'g'ri bo'lishi kerak.
- Sinov quruvchisi : Visual Builder dasturini oching, modulni ko'chiring, saqlang, yangilang → o'zgarish saqlanib qolishi kerak.
- REST testi ochiq
/wp-json/→ Siz HTMLni bloklamasdan, JSONni ko'rishingiz kerak. - Console : yo'qolgan (404) yoki rad etilgan (403) fayllar bilan bog'liq qizil xatolar yo'q.
- So‘rov monitor : “HTTP API chaqiruvlari” va “PHP xatolari” ni tekshiring. Nolga teng halokatli xatolar va takroriy 401/403 xatolari yo'q.
Agar siz Divi 5 ni Elementor yoki Avada bilan bir xil saytda ishlatayotgan bo'lsangiz: har bir quruvchi bilan yaratilgan sahifani tekshiring. Noto'g'ri sozlangan kesh bitta quruvchini buzishi, boshqasini esa buzmasligi mumkin, bu esa noto'g'ri ma'lumotlar beradi.
Agar bu hali ham ishlamasa
Muammo "yopishqoq" bo'lganda foydalanadigan muammolarni bartaraf etish protsedurasi. Buni tartibda bajaring: siz 10 ta sozlamani ko'r-ko'rona o'zgartirishdan qochasiz.
1) Saytni buzmasdan plagin/mavzu ziddiyatini ajratib oling (Sog'liqni saqlash tekshiruvi)
O'rnatish Sog'liqni saqlash tekshiruvi va muammolarni bartaraf etish, Keyin:
- Faollashtiring Muammolarni bartaraf etish rejimi (faqat siz uchun).
- Divi'dan tashqari barcha plaginlarni (va zarur bo'lganlarni) o'chiring.
- Quruvchini sinab ko'ring.
Agar u muammolarni bartaraf etish rejimida ishlayotgan bo'lsa, sizda ziddiyat mavjud. Plaginlarni birma-bir qayta faollashtiring, har safar sinab ko'ring.
2) PHP xatolarini va PHP versiyasini tekshiring
- PHP kamida 8.1 tavsiya etiladi. Agar siz 8.0 yoki 7.4 dan foydalanayotgan bo'lsangiz: siz olov bilan o'ynayapsiz (xavfsizlik + moslik).
- nazar
wp-content/debug.logva server jurnallari.
3) Fayl ruxsatnomalarini tekshiring
Alomat: Fayllardagi 403/404 xatolar wp-content/themes/ ou wp-content/uploads/.
- Fayllar: 755 (ko'pincha)
- Fayllar: 644 (ko'pincha)
Agar ishonchingiz komil bo'lmasa, xosting provayderingizdan so'rang. Hech qachon "chmod 777" dan foydalanmang: bu xavfsizlik uchun xavf tug'diradi.
4) Qayta yozishni tasdiqlang (Apache/Nginx)
Agar doimiy havolalar qayta yaratilmasa, sizda server konfiguratsiyasi bilan bog'liq muammo bo'lishi mumkin (mod_rewrite, Nginx qoidalari). Bu migratsiyadan keyin keng tarqalgan.
Malumot: Apache’dagi WordPress.
5) Brauzer konsoli va tarmoq so'rovlarini tekshiring
Men buni takrorlayman, chunki bu soatlarni tejaydi: agar quruvchi yuklamasa, konsol va Tarmoq deyarli har doim sizga nima uchun ekanligini aytib beradi (404, 403 WAF, CORS va boshqalardagi bo'lak).
Umumiy xatolar va kamchiliklar
| Alomat / xato | Ehtimoliy sabab | Tavsiya etilgan yechim |
|---|---|---|
| 5-bo'limda “Yuklanmoqda…” cheksiz | REST API bloklandi (401/403), JS kechiktirildi | /wp-json/ va Divi skriptlarini optimallashtirishdan chiqarib tashlang, WAF ni tekshiring |
| Yangilanishdan keyin CSS yo'qoldi | Kesh CDN/plagin eski versiyasini taqdim etmoqda | Barcha keshlarni tozalash (plagin, server, CDN, brauzer) |
| Parcha qo'shilgandan so'ng darhol jiddiy xatolik yuz berdi | Kod noto'g'ri joyga joylashtirildi, nuqtali vergul unutildi | Zaxira nusxasini tiklash, sintaksisni to'g'rilash, maxsus plagindan foydalanish |
| Ko'rinadigan Divi qisqa kodlari | Builder o'chirilgan, the_contentni filtrlaydigan plagin ziddiyati | Sog'liqni saqlash tekshiruvi orqali izolyatsiya qiling, nosoz plaginni o'chiring |
| “Nonce yaroqsiz” / 403 admin-ajax | Cookie-fayllar bloklandi, shaxsiy sahifalardagi kesh, WAF | Keshdan admin/AJAX ni chiqarib tashlang, https/www domenini, xavfsizlik jurnallarini tekshiring |
| Hammasi mahalliy darajada ishlaydi, lekin ishlab chiqarishda emas. | CDN/WAF/OPcache/server optimallashtirish | CDNni vaqtincha o'chirib qo'ying, OPcacheni xosting provayderi orqali tozalang va sarlavhalarni taqqoslang. |
Men tez-tez ko'radigan insoniy xatolar:
- Kodni nusxalash
style.csso'rnigafunctions.php(yoki aksincha). - Chalkashtirib yuborish uchun harakat et filtri Harakat kodni ma'lum bir vaqtda bajaradi; filtr qiymatni o'zgartiradi va bajarishi kerak qaytish narsa.
- Hookdan juda erta foydalanish (masalan, WordPress ularni saqlamasdan oldin skriptlarni boshqarish).
- Saqlash yoki shaxsiy ko'rib chiqishsiz to'g'ridan-to'g'ri ishlab chiqarishda sinovdan o'tkazish.
Variant / muqobil
Kodsiz usul: ishlash nuqtai nazaridan "xavfsiz" konfiguratsiyadan boshlab
Agar siz yangi boshlovchi bo'lsangiz, eng yaxshi yondashuv ko'pincha:
- JS minification/combination/delay ni vaqtincha o'chirib qo'ying.
- Divi 5 barqarorligini tekshiring.
- Optimallashtirishlarni birma-bir qayta faollashtiring, kerak bo'lganda Divi/RESTni chiqarib tashlang.
Bu Elementor va Avada uchun ham ishlaydi: siz JS ijro tartibini buzadigan sozlamani qidirasiz.
Dasturchi usuli: Query Monitor orqali chiqarib tashlash uchun aniq tutqichlarni ajratib oling
Query Monitor yordamida "Skriptlar" yorlig'ida siz quyidagilarni ko'rishingiz mumkin tutqichlar aslida so'ralgan. Tutqich - bu WordPressdagi skriptning ichki identifikatori. Keyin siz ushbu tutqichlarni filtrdan chiqarib tashlashingiz mumkin. script_loader_tag (1-yechim) URL fragmentlarini moslashtirish o'rniga.
Tergov bo'yicha rasmiy hujjat: wp_enqueue_script ().
Kelajakda bu muammodan qoching
- "Sehrli" parchalardan qoching Ular hamma narsani kechiktirib, 100/100 PageSpeed va'da qilishadi. Ular ko'pincha zamonaviy sahifa quruvchilaridan oldinroq edilar.
- Maxsus plaginni afzal ko'ring kodni joylashtirish o'rniga
functions.phpMavzularni o'zgartirsangiz ham, tuzatishlaringizni saqlaysiz. - Kesh istisnolaringizni hujjatlashtiring (oddiy matnli fayl):
/wp-json/,admin-ajax.php, quruvchi sahifalari. - Bosqichma-bosqich yangilash WordPress, keyin Divi, keyin plaginlar. Har birini sinab ko'ring.
- Xatolarni kuzatib boring : sahnalashtirishda Query Monitor kabi plagin va ishlab chiqarishda toza jurnallar.
Agar kodda doimiy havolalarni tozalash kerak bo'lsa (masalan, plagin faollashtirilganda), buni faqat faollashtirilganda bajaring, hech qachon har bir yuklanishda emas:
<?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();
} );
Nima uchun: flush_rewrite_rules() qimmat. Uni har bir sahifada chaqirish saytni sezilarli darajada sekinlashtirishi mumkin.
resurslari
- WordPressda nosozliklarni tuzatish (WP_DEBUG)
- REST API qo'llanmasi
- Nonces (WordPress xavfsizligi)
- wp_enqueue_script() (JS navbatga qo'yish)
- flush_rewrite_rules() (doimiy havola qoidalari)
- So'rov monitori (plagin)
- Sog'liqni tekshirish va muammolarni bartaraf etish (plagin)
- PHP: xotira_limiti
- WordPress Core (GitHub oynasi)
- WordPress Core Trac (chiptalar)
tez-tez so'raladigan savollar
Divi 5 WordPress 6.9.4 bilan mos keladimi?
Ha, amalda bu 2026-yilda keng tarqalgan kombinatsiya. O'rnatishdan keyingi muammolar ko'pincha "sof" nomuvofiqlikdan emas, balki keshlash/optimallashtirish/xavfsizlik muammolaridan kelib chiqadi. Divi va WordPressni yangilab turing va bosqichma-bosqich muhitda sinab ko'ring.
Divi 5 dan foydalanish uchun keshlash plaginim o'chirib qo'yishim kerakmi?
Yo'q. Lekin ko'pincha shunday qilishingiz kerak bo'ladi istisno Muayyan oxirgi nuqtalardan (REST/AJAX) va haddan tashqari tajovuzkor "JS kechiktirish" parametrlaridan qoching. Agar siz parametrni yoqsangiz va quruvchi ishlamay qolsa, aybdorni topdingiz.
Nima uchun men ulangan bo'lsam ham /wp-json/ da 401/403 xatoliklarni olaman?
Eng ko'p uchraydigan sabab bloklangan cookie-fayllar (noto'g'ri www/non-www domeni), shaxsiy sahifalardagi keshlash yoki WAF POST so'rovlarini bloklashidir. Sayt URL manzillarining mosligini tekshiring va xavfsizlik/CDN ni vaqtincha o'chirib qo'ying.
Parchalarni “Kod parchalari” plaginiga qoʻyishim mumkinmi?
Ha, lekin ehtiyotkorlik bilan. Agar plagin uni hamma joyda bajarsa, buzilgan parcha saytni baribir ishdan chiqarishi mumkin. Men kichik, versiyalangan maxsus plaginni (hatto minimal bo'lsa ham) afzal ko'raman, chunki siz yuklangan narsalarni yaxshiroq nazorat qila olasiz.
Quruvchi men uchun ishlaydi, lekin boshqa administrator uchun emas: nima uchun?
Ko'pincha, brauzer keshi, kengaytma yoki boshqa cookie-fayllar siyosati aybdor bo'ladi. Kengaytmalarsiz shaxsiy ko'rib chiqish rejimida sinab ko'ring va tarmoq so'rovlarini taqqoslang (401/403).
Faqat Visual Builder dasturini ochganimda 500 xatolik yuzaga keladi.
Bu ma'lum bir marshrutda (REST/AJAX) xotira chegarasi, vaqt tugashi yoki halokatli xatoga ishora qiladi. WP_DEBUG_LOG ni yoqing, xatoni qayta yarating va keyin jurnalni o'qing. wp-content/debug.log.
Divi 5 + Elementor xuddi shu saytda: bu yomon fikrmi?
Bu "taqiqlangan" emas, lekin nizolar xavfini oshiradi (global skriptlar, optimallashtirish, CSS). Agar buni qilishingiz kerak bo'lsa, hamma narsani birlashtiradigan/kechiktiradigan optimallashtirishlardan qoching va har bir yangilanishdan keyin har bir quruvchini sinab ko'ring.
Doimiy havolalarni muntazam ravishda "tozalash" kerakmi?
Yo'q. Buni doimiy havola tuzilmangizni o'zgartirganingizda, saytni ko'chirganingizda yoki marshrutlarni qo'shadigan plaginni o'rnatganingizda bajaring. Kodda, faqat plaginni faollashtirganda/o'chirganda.
Divi 5 "yuklamasa" birinchi navbatda nimani tekshirish kerak?
Konsol va Tarmoq yorlig'i. Deyarli har doim 401/403 (REST/AJAX), JS/CSS qismidagi 404 yoki optimallashtirish tomonidan bloklangan skriptni ko'rasiz.