Zamin.uz — 2014-yilda ishga tushirgan yangiliklar portalim. 2015-yilda O'zbekiston Milliy internet tanlovida faxrli 2-o'rinni egalladi. Bugungi kunda muallif materiallarim 155 milliondan ortiq marta o'qilgan.
Bu maqolada loyihaning texnik tomonini — 10 yildan ortiq davomida qanday qarorlar ishlagani va qaysilari xato bo'lganini yozaman.
Vazifa
Yangiliklar sayti oddiy saytdan uch narsa bilan farq qiladi:
- Kontent hajmi doim o'sadi — bugun 200 ming sahifa bo'lsa, ertaga 210 ming
- Yangilik tezligi hal qiluvchi — Google Discover va "Top stories" uchun materiallar daqiqalar ichida indeksatsiyaga tushishi kerak
- Ko'p tillilik — bir material bir necha tilda chiqadi va ular bir-biri bilan to'g'ri bog'lanishi shart
Ko'p tilli arxitektura
Sayt bir nechta tilda ishlaydi. Bu yerda eng ko'p uchraydigan xato — hreflang teglarini HTML va sitemap'da har xil qo'yish. Google bunday holatda ikkalasini ham e'tiborsiz qoldiradi.
Qoida oddiy: HTML <head> dagi hreflang to'plami sitemap'dagi bilan belgima-belgi bir xil bo'lishi kerak. x-default ham bo'lsin.
Har til uchun alohida yangiliklar sitemap'i (news_latest_<til>.xml) yuritiladi — Google News shu formatni kutadi.
Arxiv indeksatsiyasi: eng katta xato shu yerda
Yangiliklar saytini migratsiya qilganda odamlar odatda sitemap'ga "oxirgi 1000 ta maqola" ni qo'yadi. Natijada 10 yillik arxiv Google uchun ko'rinmay qoladi va organik trafik keskin tushadi.
To'g'ri yechim — butun arxiv sitemap-index orqali:
- Har segmentda 40 mingtagacha URL
- Segmentlar sitemap-index faylida yig'iladi
- Yangiliklar uchun alohida qisqa sitemap (oxirgi 48 soat) — Google News uchun
Zamin'da hozir sitemap'da 190 mingdan ortiq URL bor va bularning hammasi indeksatsiyaga ochiq.
Tezlik: kesh strategiyasi
Yangiliklar sayti uchun kesh masalasi ziddiyatli: bir tomondan yuklamani ko'tarish kerak, ikkinchi tomondan yangi material darhol ko'rinishi shart.
Ishlagan yechim:
- HTML uchun qisqa kesh — 3-10 daqiqa, bir soat emas. Google Discover uchun yangilik (freshness) kritik
- Statik assetlar uzoq kesh — 30 kun,
immutable, URL'da versiya bilan - Yangi material chiqqanda faqat tegishli URL'lar keshdan tozalanadi
Oxirgi band muhim: butun zonani tozalash (purge_everything) origin'ga bir vaqtda katta yuklama beradi — bu "cache stampede". Faqat o'zgargan URL'larni tozalang.
Rasmlar
Yangiliklar saytida rasm — trafikning yarmi. Zamin'da barcha rasmlar bitta o'lchov nuqtasi orqali beriladi (/uploads/mini/WxH/... formatida) va WebP'ga o'giriladi.
Muhim detal: framework'ning o'z rasm optimizatorlariga (masalan Next.js /_next/image) tayanmang — CDN yoki Apache qatlamida ular kutilmaganda 403 berishi mumkin. O'z yo'lingiz ishonchliroq.
Telegram bilan integratsiya
Har yangi material avtomatik ravishda Telegram kanalga tushadi. Bu ikki narsa beradi: qo'shimcha trafik va materialning tezroq tarqalishi.
Nimalar xato bo'lgan
Migratsiyada eski sitemap'ni o'chirmaslik. Search Console'da eski sitemap qolib ketsa, Google eski URL'larni qayta so'rab turadi va crawl budjet behuda sarflanadi.
Yo'q sahifalarni bosh sahifaga redirect qilish. Bu "soft 404" hisoblanadi va jazolanadi. To'g'ri yo'l: kontent boshqa tilda bor bo'lsa 307, eski teg bo'lsa qidiruvga fallback, umuman yo'q bo'lsa halol 404 yoki 410.
Kontent yangilanganda dateModified ni yangilamaslik. AI qidiruv davrida bu ayniqsa qimmatga tushadi — 6 oydan ortiq yangilanmagan sahifa iqtibos huquqini yo'qotadi.
Xulosa
Yangiliklar sayti — bu doimiy texnik intizom. Bir marta to'g'ri qurib qo'yib bo'lmaydi: arxiv o'sadi, Google talablari o'zgaradi, kesh siyosati qayta ko'riladi.
Eng katta ta'sir bergan uchta narsa: to'liq arxiv indeksatsiyasi, qisqa HTML keshi va izchil hreflang.