Sahifa manzili o'zgargan bo'lsa — 301 (doimiy yo'naltirish). Vaqtincha boshqa manzilga olib borilsa — 302 yoki 307. Kontent butunlay yo'q va qaytmaydi — 410. Kontent yo'q, lekin sababi noaniq yoki keyinchalik paydo bo'lishi mumkin — 404. Eng qimmatga tushadigan xato esa mana bu: o'chirilgan sahifani bosh sahifaga 301 qilish. Google buni "soft 404" deb belgilaydi va yo'naltirish ishlamaydi.
Javob kodi nima uchun SEO masalasi
HTTP javob kodi — brauzer va qidiruv roboti sahifani so'raganda serverning birinchi javobi. Foydalanuvchi uni ko'rmaydi, robot esa aynan shunga qarab qaror qabul qiladi: bu manzilni indeksda saqlaymi, o'chiramimi, yangi manzilga ko'chiramimi.
Amaliyotda ko'p uchraydigan muammo shu — sayt egasi ekranda "Sahifa topilmadi" degan chiroyli dizayn ko'radi va hammasi joyida deb o'ylaydi, lekin server o'sha sahifaga 200 OK qaytarayotgan bo'ladi. Robot uchun bu "sahifa bor va ishlaydi" degani. Natijada indeksda mazmunan bo'sh yuzlab manzil to'planadi, crawl budjet ularga sarflanadi.
Kodni ko'zdan emas, buyruq bilan tekshirish kerak:
curl -s -o /dev/null -w "%{http_code} -> %{redirect_url}\n" https://sayt.uz/eski-sahifa/
Yo'naltirishlar zanjirini ko'rish uchun:
curl -sIL https://sayt.uz/eski-sahifa/ | grep -Ei "^HTTP|^location"
301 va 308 — doimiy ko'chish
301 kodini sahifa bir manzildan boshqasiga butunlay va qaytmaydigan qilib ko'chganda qo'yasiz: domen almashdi, URL tuzilmasi o'zgardi, ikkita o'xshash sahifa bittaga birlashtirildi. Qidiruv tizimi vaqt o'tib eski manzilni indeksdan chiqaradi va yangisini uning o'rniga qo'yadi.
308 ham doimiy yo'naltirish, farqi bitta: u so'rov metodini majburan saqlaydi. POST so'rov 301 bilan yo'naltirilsa, ba'zi klientlar uni GET ga aylantirib yuborishi mumkin; 308 da bunday bo'lmaydi. Oddiy kontent sahifalari uchun ikkalasi amalda bir xil ishlaydi, API va forma yuboriladigan manzillar uchun 308 xavfsizroq.
Muhim shart: 301 faqat mazmunan mos sahifaga qo'yilsin. Mahsulot sahifasini o'sha mahsulotning yangi manziliga yo'naltirish — to'g'ri. O'sha sahifani katalog boshiga yoki bosh sahifaga yo'naltirish — Google hujjatida soft 404 sifatida qayd etiladi va vazn o'tmaydi.
302 va 307 — vaqtincha holat
302 va 307 eski manzil indeksda qolishi kerak bo'lgan hollar uchun: mahsulot vaqtincha tugagan, sahifa texnik ishlar davomida boshqa joyga olib borilgan, A/B test ketyapti, foydalanuvchi geografiyasiga qarab vaqtincha boshqa versiya ko'rsatilyapti.
307 — 302 ning qat'iyroq varianti: u ham so'rov metodini o'zgartirmaydi. Farqni jadvalda ko'rish osonroq:
| Kod | Ma'nosi | Indeks bilan nima bo'ladi | Metod saqlanadimi |
|---|---|---|---|
| 301 | Doimiy ko'chish | Yangi manzil eskisini almashtiradi | Kafolat yo'q |
| 308 | Doimiy ko'chish | Yangi manzil eskisini almashtiradi | Ha |
| 302 | Vaqtincha | Eski manzil indeksda qoladi | Kafolat yo'q |
| 307 | Vaqtincha | Eski manzil indeksda qoladi | Ha |
Tipik xato — doimiy ko'chishni 302 bilan qilish. Sayt yangi domenga o'tgan, lekin yo'naltirish vaqtincha deb belgilangan bo'lsa, qidiruv tizimi eski manzilni ushlab turaveradi va yangi domen o'zining tarixini yig'a olmaydi.
404 va 410 — kontent yo'q
404 "topilmadi" degani, sababi tushuntirilmaydi: manzil xato yozilgan bo'lishi ham, sahifa o'chirilgan bo'lishi ham mumkin. Robot bunday manzilni birdaniga tashlab ketmaydi — u vaqti-vaqti bilan qaytib tekshiradi.
410 esa aniq xabar: "bu yerda kontent bor edi, o'chirildi, qaytmaydi". Google hujjatiga ko'ra 404 va 410 indeksatsiya uchun deyarli bir xil ishlanadi, lekin 410 signali aniqroq bo'lgani uchun tozalash tezroq kechadi.
Qaysi birini tanlash amaliy qoidasi:
- E'lon muddati tugadi, mahsulot butunlay olib tashlandi, sahifa qayta tiklanmaydi — 410.
- Sahifa o'chirilgan, lekin o'rnida mazmunan mos boshqa sahifa bor — 301 o'sha sahifaga.
- Manzil hech qachon mavjud bo'lmagan yoki xato yozilgan — 404.
- Kontent vaqtincha yo'q, keyinroq o'sha manzilda qaytadi — 404 (yo'naltirish emas).
Bir nechta tilda ishlaydigan saytlarda qo'shimcha qoida bor: sahifa o'zbekcha yo'q, lekin ruscha versiyasi bor bo'lsa, foydalanuvchini bo'sh 404 ga tashlash o'rniga mavjud tilga yo'naltirish mantiqan to'g'riroq. Bu holat ichki linklash tuzilmasi bilan birga o'ylanadi.
Soft 404 — eng ko'p qaytadigan muammo
Soft 404 — server 200 qaytarayotgan, lekin sahifada mazmunli kontent yo'q holat. Search Console uni alohida hisobotda ko'rsatadi. Uchta tipik manbasi bor: bo'sh qidiruv natijasi sahifasi, filtri hech nima topmagan katalog sahifasi va "sahifa topilmadi" matnini 200 kodi bilan chiqaradigan shablon.
Uchinchisi ko'pincha frontend freymvorkda paydo bo'ladi: marshrut topilmaganda komponent 404 dizaynini chizadi, ammo server allaqachon 200 yuborib bo'lgan. Bunda serverdan kod qaytarish sozlanishi kerak, faqat vizual xabar yetarli emas.
Bo'sh filtr sahifalari alohida mavzu — ular tez ko'payadi va indeksni to'ldirib yuboradi. Bu haqda filtr sahifalari va index bloat maqolasida batafsil yozilgan.
Yo'naltirish zanjiri va halqasi
Zanjir — A 301 B ga, B 301 C ga. Har qo'shimcha qadam foydalanuvchi uchun kechikish, robot uchun esa qo'shimcha so'rov. Migratsiyadan keyin zanjir o'z-o'zidan uzayadi: eski qoidalar qolib, ustiga yangilari qo'shilaveradi. To'g'ri yechim — qoidalarni yig'ib, boshlang'ich manzildan to'g'ridan-to'g'ri oxirgi manzilga yo'naltirish.
Halqa — A B ga, B yana A ga yo'naltiradi. Brauzer ERR_TOO_MANY_REDIRECTS beradi, sahifa umuman ochilmaydi. Eng ko'p uchraydigan sababi — HTTPS va slash qoidalarining bir-biriga qarama-qarshi yozilishi (masalan, bittasi slashsiz manzilga, ikkinchisi slashli manzilga majburlaydi).
Zanjirni tekshirish uchun yuqoridagi curl -sIL buyrug'i yetarli: chiqishda ikkitadan ko'p HTTP/ qatori ko'rinsa, qisqartirish kerak.
Migratsiya va muntazam tekshiruv
Domen yoki platforma almashtirilayotganda eski manzillar ro'yxati oldindan tayyorlanadi va har biriga yangi manzil biriktiriladi. Bu ish ko'chishdan keyin emas, oldin qilinadi — aks holda eski manzillar bir necha hafta xatolik qaytaradi va shu davrda pozitsiyalar yo'qoladi.
Ishga tushgandan keyin nazorat qilinadigan uch nuqta: Search Console'dagi "Sahifalar" hisoboti (404 va soft 404 soni o'sib ketmadimi), server loglari (robot qaysi eski manzillarni hali so'rayapti) va sayt ichidagi havolalar (eski manzilga ko'rsatayotgan menyu yoki matn havolalari tuzatildimi). Hisobotlarni o'qish tartibi Search Console hisobotlari maqolasida ko'rsatilgan.
Katta migratsiyalarda bu ishni ro'yxat bo'yicha olib borish kerak — tasodifiy tekshiruv yetmaydi. Umumiy texnik holatni baholash uchun SEO audit ro'yxati ham yordam beradi; migratsiyani tashqi yordam bilan o'tkazmoqchi bo'lsangiz, xizmatlar sahifasida yo'nalishlar keltirilgan.
Ko'p so'raladigan savollar
301 yo'naltirishni keyin olib tashlasam bo'ladimi?
Kamida bir yil saqlash tavsiya qilinadi. Google eski manzilni indeksdan chiqarib, yangisini o'rniga qo'ygach ham, tashqi saytlardagi havolalar va foydalanuvchilarning xatcho'plari eski manzilga ko'rsatib turaveradi. Yo'naltirish o'chirilsa, o'sha trafik 404 ga tushadi.
Sahifani o'chirish o'rniga noindex qo'ysam bo'lmaydimi?
Kontent kerak, lekin qidiruvda ko'rinmasligi kerak bo'lsa — ha, noindex to'g'ri yechim. Kontent umuman kerak bo'lmasa, uni saqlab turishning ma'nosi yo'q: 410 bilan o'chirish indeksni ham, crawl budjetni ham tozalaydi.
Barcha 404 larni tuzatish shartmi?
Yo'q. 404 — saytning normal holati, har bir noto'g'ri yozilgan manzil shunday javob berishi kerak. Diqqat qilinadigan qismi — sayt ichidagi havolalardan kelayotgan va tashqi saytlar ko'rsatayotgan 404 lar. Qolganlari xato emas.
Yo'naltirishni o'zim sozlay olamanmi?
Oddiy holatlar uchun ha: Apache'da .htaccess, Nginx'da server bloki, ko'p CMS da esa tayyor modul bor. Murakkablashadigan joyi — qoidalar soni yuzdan oshganda va ular bir-biriga zid kela boshlaganda. Shunda qoidalarni jadval sifatida saqlab, generatsiya qilish qulayroq.
Javob kodlari — sayt bilan qidiruv tizimi o'rtasidagi eng qisqa til. Har bir o'chirilgan sahifa va har bir ko'chirilgan manzil uchun bitta savolga javob bering: bu kontent qaytadimi, boshqa joyga ko'chdimi yoki butunlay yo'qmi. Javob aniq bo'lsa, kod o'zidan kelib chiqadi.