2026-yilning 15-iyulidan 27-avgustigacha yettita yangi sayt chiqardim, sakkizinchisini qaytadan qurdim va oxirgi haftaning ko'p qismini domen nomi ustida o'zim bilan tortishib o'tkazdim. Bu — to'liq jurnal: har bir loyiha, u nima qiladi, nima buzildi va raqamlarni yaxlitlamay o'qiganda ular aslida nima deyapti.
Sur'atni to'g'ri tushunish uchun kontekst: men Toshkentda panjara payvandlab kun ko'raman. Bularning hammasi shu ishning atrofidagi soatlarda qurilgan. Hech birining byudjeti, dizayneri yoki ikkinchi juft ko'zi bo'lmagan.
Mirzo Ulug'bek tumanidagi ingliz tili markaziga sayt kerak edi. Bitta fayl qildim: index.html — UZ/RU/EN uch tilda (til localStorage da saqlanadi), yorug'/qorong'i rejim, skroll-animatsiyalar va so'rovni nusxalab Telegramni ochadigan lead-forma. Kurslar, o'qituvchilar, FAQ, jonli Google Maps va mock-testga ishora.
Palitra siyoh-moviydan boshlanib, toza DeepSeek uslubidagi ko'k #4D6BFE bilan tugadi — yo'nalish DeepSeek, x.ai va Anthropic saytlarini diqqat bilan ko'rib, o'zbek ta'lim saytlari gradientni haddan tashqari ko'p ishlatadi degan xulosadan chiqdi.

Ikkita narsani yana shunday qilardim. Birinchisi — favicon to'plami va 1200×630 OG rasm kod bilan yaratilgan (cairosvg ishlatadigan kichik Python skript), qo'lda ham, rasm modeli bilan ham emas. Ya'ni rang o'zgarsa, hammasini bitta buyruq bilan qayta chiqarasiz. Ikkinchisi — repoda allaqachon listening test va ~40 MB MP3 bor edi, shuning uchun deploy force-push emas, GitHub contents API orqali qilindi. Audio fayllarni deyarli o'chirib yuborayozdim. O'chmadi — faqat oldindan tekshirganim uchun.
O'sha kuni Search Console tasdiqlandi, sitemap yuborildi, EducationalOrganization + LocalBusiness JSON-LD qo'shildi — soxta reytingsiz, chunki hali reyting yo'q. Manzil: ctnlc.uz.
Bu — oilaviy ish. Namangan viloyati, To'raqo'rg'on tumanidagi maktab, 2020-yildan beri ishlaydi. Yana uch til, lekin eng qiziq joyi — natijalar jadvali: 13 ta haqiqiy CEFR sertifikat bahosi, eng yuqorisi C1, bir nechtasi B2. Har birini sertifikat.uzbmb.uz dan tekshirsa bo'ladi.

Nimani qo'shganimdan ko'ra nimani qo'shmaganim muhimroq: sertifikat raqamlari yo'q, o'quvchilar surati yo'q, va rasmlar orasidan chiqqan bitta rasmiy ko'rinishdagi portret butunlay tashqarida qoldi — chunki u kim ekanini hech kim tasdiqlamagan edi. Noma'lum odamni "asoschi" deb imzolash — yuzi bor yolg'on bo'lardi.
To'liq SEO: FAQPage sxemali FAQ bo'limi, haqiqiy koordinatali EducationalOrganization + WebSite JSON-LD, hreflang, alohida GoatCounter sayti, tasdiqlangan Search Console, yuborilgan sitemap. Jonli: zedavlod.uz.
Veb-studiya. Maqsad aniq: bu bozordagi yetakchidan arzonroq va chiroyliroq muqobil bo'lish. Avval then.uz nomi bilan boshlangan, keyin chzq.uz — "Chiziq" ga o'zgartirildi, chunki odamlar o'z tilida ovoz chiqarib ayta oladigan brend chiroyli inglizcha so'z o'yinidan kuchliroq. (Shu xatboshini eslab qoling. Olti hafta o'tib yana takrorlanadi.)

O'sha saytdagi yagona haqiqiy qurol — portfolio. Mamlakatdagi har bir studiya mijoz sharhlarini ko'rsatadi; sharhni esa har kim yozib qo'ya oladi. Shuning uchun bu yerda har bir loyiha modal oynada ochiladi va ichida haqiqiy saytning jonli iframe i turadi: flarestamina.com, zedavlod.uz, ctnlc.uz, to'y taklifnomasi builderi, full-mock platformasi va o'z portfoliom. Hammasi GitHub Pages'da, ya'ni X-Frame-Options to'smaydi. Xabar bir qator: sharh emas — hozir ochib ko'rsangiz bo'ladigan saytlar.
Narxlar ochiq yozilgan, bu bizda kerakligidan kamroq uchraydi: lending 1,5 mln · biznes sayt 3 mln · katalog/do'kon 6 mln · Telegram bot 1,2 mln · mini app 6 mln so'm. 24 soatda bepul prototip, to'lov keyin. Hosting 0 so'm — statik sayt GitHub Pages'da hech narsa turmaydi, boshqacha ko'rsatish shunchaki ustama bo'lardi.
Bu yerda alohida skrinshot keraksiz, chunki ko'rinadigan natija — xotirjamroq sahifa. Flarestamina hub'ining beshta to'liq dizayn iteratsiyasi, ustiga saytning 110 sahifasini birma-bir aylanib chiqib, har bir buzuq joyni yozib chiqqan audit. O'sha audit butun avgust ishini belgilab berdi.
O'z ustaxonam, nihoyat sayti bilan. Oyna panjarasi, balkon panjarasi, perila, kozirek — va, muhimi, darvoza yo'q. Biz darvoza yasamaymiz, shuning uchun bu so'z saytda umuman uchramaydi, eshik panjarasi ko'ringan har bir rasm ham chiqarib tashlandi. Qila olmaydigan xizmatni qo'shishdan ko'ra rasmni tashlagan yaxshi.

Bu yerdagi asosiy muhandislik ish — tezlik edi. Hero rasm 521 KB chiqdi, Toshkent mobil internetida bu ko'zga ko'rinadigan kutish. Qayta kodlab, o'lchamini kichraytirib 173 KB ga tushirildi — vazn uchdan biriga, farq ko'rinmaydi. 5-avgustda inglizcha versiya, 23-avgustda ustaxonadan yangi rasmlar qo'shildi. Rasm qo'shish ikki qadam: categories.csv ga bir qator, keyin build-gallery.mjs.
O'sha ustaxona, o'sha rasmlar — butunlay boshqacha sayt sifatida ikkinchi marta qurildi. Bu dangasalik emas, sinov edi: mahsulot bir xil bo'lsa, faqat dizaynning o'zi uni qanchalik boshqacha ko'rsatadi?

Javob: juda ko'p. Bu variant 123 ta rasmni UZ/RU/EN uch tilda uch o'lchamli galereya devoriga tizadi va yuqoridagidan butunlay boshqa biznesdek o'qiladi. Bir payvandchi, bir xil panjara.
Eng jimjimasiz qurgan narsam va, ehtimol, eng ko'p ishlatiladigani. Panjara ishlari uchun kvadrat metr hisoblagich. Uchta raqam kiritasiz — eni, bo'yi va panjaraning devordan qancha chiqib turishi — u old yuza va to'rtta yon yuzani qo'shib hisoblaydi.

Butun dizayn muammosi — kiritish tartibi edi. 120 130 30 har safar eni 120, bo'yi 130, vistup 30 degani bo'lishi kerak, ham bir qo'lida ruletka ushlab turgan odam uchun. Buni ikki xil o'qib bo'lmaydigan qilish arifmetikadan ko'proq vaqt oldi.
Flarestamina — mening IELTS mashq saytim: 113 ta test sahifasi, har biri alohida repoda yashaydi. U bitta nom ostida uchta boshqa-boshqa mahsulotga aylanib qolgan edi: hub qora-to'q sariq, news bo'limining o'z palitrasi, akkaunt sahifasi esa uchinchi saytdek ko'rinardi.
Bir dam olish kunida hammasi oq-qora "qog'oz" dizaynga ko'chdi, sahifama-sahifa: bosh sahifa (JavaScript yig'adigan emas, statik HTML qilib qayta yozildi), tool sahifalari, news bo'limi, akkaunt va kontent sahifalari, 404. Brend fayllari qaytadan chizildi, favicon va OG rasm manzillariga versiya qo'yildi — aks holda brauzer bir oy davomida keshdagi eskisini ko'rsatib turardi.
O'sha to'lqindagi jimjimasiz yutuqlar: shriftlar o'z serverimizga ko'chirilgach 46 sahifa Google'ga murojaat qilishni to'xtatdi — keyin build skriptlarining har qayta qurishda Google Fonts havolasini "foydali" tarzda qaytadan qo'shishini to'xtatishga to'g'ri keldi. Qayta qurish ba'zi sahifalardan structured data'ni jimgina yo'qotgan ekan: tikladim va audit skriptiga aynan shu qaytalanishni tutishni o'rgatdim. Maxfiylik siyosati saytning hozirgi holatiga moslandi, analitikaga esa qurilma darajasida rad etish tugmasi qo'shildi.
Mashq hub'i — hamma narsa boshlanadigan joy, va u ilgari shunchaki ro'yxat edi. Endi u bitta savol beradi — qaysi ko'nikma? — va beshta karta ko'rsatadi: Listening (73 ta variant), Reading (25 ta), Writing, Speaking va to'liq mock. Ularning tepasida shu yerdan boshlang deb belgilangan bitta karta: Cambridge 21 — butun kitob, to'rtta test, hamma ko'nikma, bepul. Saytni birinchi marta ochgan odam uchun endi aniq birinchi bosish bor.

Audit topgan bitta tuzoq: hub o'z ro'yxatini JavaScript bilan yig'adi, ya'ni qidiruv roboti unga kelganda bo'sh sahifa ko'rardi va orqasidagi butun katalogni ko'rmasdi. Yechim — /tests/: saytdagi har bir mashq testining oddiy, statik, o'qish mumkin bo'lgan indeksi. U asosan Google odam allaqachon ko'rib turgan narsani o'qiy olsin deb bor.
News bo'limi o'zbek IELTS topshiruvchilari rostdan qidiradigan, lekin bir joyda kam topadigan narsani qamraydi: imtihondagi o'zgarishlar, narxlar va grant muddatlari. Hozir unda 26 ta post bor — 12 tasi imtihon haqida, 9 tasi muddatlar, 2 tasi narx, 2 tasi qo'llanma — qidiruv maydoni, o'z sonini ko'tarib yuradigan kategoriya chiplari va tepada uchta jonli karta: eng yaqin muddat va unga qolgan kun, ball konvertatsiyasi, Telegram kanal.

Beshta post o'zbek tilida, va ular o'quvchini til tugmasini qidirishga majburlamay, to'g'ridan-to'g'ri o'zbekcha ochiladi — ayniqsa narx haqidagi post raqamlarni yoddan takrorlamay, rasmiy ro'yxatdan o'tish sahifasidan o'qib yozilgan. Har bir postga o'z muqova rasmi berildi, bo'limning o'z lentasi ham bor.
Yana /writearticle/ — o'qituvchilar uchun maqola yuborish oqimi — orqali yozilgan oltita uzunroq maqola bor. Bular saytdagi birinchi begona nom turgan sahifalar, va gap aynan shunda: faqat bitta odamning ovozi bo'lgan saytning shifti past.
Testlar yonida endi Tools menyusi bor va undagi har bir narsa bitta savolga tez javob beradigan bitta maqsadli sahifa:

Ular qo'lda yozilmaydi, generatsiya qilinadi: har bir tool = bitta JSON-LD fayl + bitta mantiq fayli, build skript ularni yig'adi. Shuning uchun oltinchisini qo'shish "sahifani nusxalab, structured data'ni yangilashni unutish" degani emas.
Tashrif kamayib borayotgandi va men buni SEO muammosi deb o'ylagandim. Unday emas ekan. Sabab — uchta login devori.
O'sha 113 ta test osilib turgan hub sahifasi FSAuth.require() ni chaqirardi. Ya'ni Google'dan kelgan har bir odam hech narsa ko'rmasdan to'g'ri akkaunt sahifasiga uchib ketardi. Writing Lab'da ikkita to'siq bor edi — login va kodga yozib qo'yilgan parol. Speaking bo'limida uchinchisi. Uchalasi ham yo'q; kirish endi ixtiyoriy va faqat natijani saqlash uchun kerak.

Keyin haqiqiy SEO — 113 ta alohida repoda, GitHub API orqali:
LearningResource va BreadcrumbList.Mock Listening — Test 63 Listening → IELTS Listening Practice Test 63 with Answers./ielts-listening-test/ (73 test), /ielts-reading-test/ (25 test) va o'zbekcha qidiruv uchun /uz/.lastmod bo'yicha yolg'on gapirishni bas qilgan sitemap.Audit jimgina pul va aniqlikni yeb turgan narsalarni ham topdi: dublikat GoatCounter kodi har bir ko'rishni ikki marta sanayotgan edi, 65 sahifada oldingi dizayndan qolgan sarlavha turardi, 522 MB audio hech qanday kesh siyosatisiz uzatilardi, va o'n to'qqizta Reading sahifasining matni bir xil edi — bu qidiruv tizimiga bitta sahifa o'n to'qqiz marta takrorlangandek ko'rinadi. Har biriga haqiqiy, alohida mazmun berildi.
Yana flarestamina.com/stats/ ni qurdim: yettala saytning tashrifi bitta jadvalda, loginsiz, tokensiz. Yettita dashboardni tekshirish kerakligi — aynan hech birini tekshirmasligimning sababi edi.
Eng yangisi, va unga alohida maqola tegishli — chunki bu men qurgan birinchi narsa, u sayt emas, mahsulot: to'ydagi mehmonlar stoldagi QR kodni skanerlaydi, telefonidagi suratlarni yuklaydi, kelin-kuyov esa hammasini bitta ZIP qilib yuklab oladi.

To'liq yozuv shu yerda: Tadam: ilovasiz va ma'lumotlar bazasiz to'y albomi.
Yuqoridagi har bir loyihadan bitta shart o'tgan: hech narsa to'qilmaydi. To'qilgan sharh soni yo'q, "500+ mamnun mijoz" yo'q, structured data ichida o'ylab topilgan reyting yo'q, tekshirolmaydigan yuzga yopishtirilgan o'quvchi ismi yo'q, "O'zbekistonda birinchi va yagona" yo'q — bunisi ko'nglimga kelgan edi va yozmadim, chunki isbotlay olmayman, isbotlab bo'lmaydigan da'vo esa shunchaki chiroyliroq eshitiladigan yolg'on.
Buning narxi bor. O'n uchta halol CEFR bahosi turgan jadval soxta "98% muvaffaqiyat" yozilganidan kichikroq ko'rinadi. Lekin o'sha o'n uchtasini davlat sertifikat bazasidan tekshirsa bo'ladi — 98% ni ham tekshirsa bo'lardi, meni uyaltirmoqchi bo'lgan har kim.
23-avgustda o'lchandi. Ta'sirli ko'rinsin deb yaxlitlamay, borini yozaman:
Halol o'qilishi: SEO ishi — hali natija bermagan garov, ishlayotgan saytlar esa kimningdir do'stiga yuborishga sababi bo'lgan saytlar. Yana olti haftani meta teglarga sarflashdan oldin buni bilib qo'ygan yaxshi.
Tadam'ga sinov albomlari emas, haqiqiy to'ylar kerak. IELTS Hub'ning yangi dizayni qurilgan va qaror kutyapti. Chiziq'ga birinchi pullik mijoz kerak. Va keyingi olti haftada yangi sayt kamroq, borlarini rostdan ishlatadigan odam ko'proq bo'lishini istardim.