SEO optimizatsiya4 daqiqa o‘qish

Nginx redirekt sozlash: sikl va zanjirsiz, SEO uchun

Nginx redirekt sozlash saytni ko‘chirayotgan yoki https’ga o‘tkazayotgan har bir egasi duch keladigan vazifa. To‘g‘ri yozilgan qoida mijozni ham, qidiruv tizimini ham yangi manzilga olib boradi. Xato qoida esa 404, cheksiz yo‘naltirish yoki reklamaga sarflangan pulning bekor ketishiga olib keladi.

Redirekt nima uchun serverda yoziladi

Nginx’da Apache’dagi kabi .htaccess fayli yo‘q. Qoidalar server konfiguratsiyasida saqlanadi, o‘zgartirgandan keyin esa uni qayta yuklash kerak. Buning uchun VPS yoki hosting’ga kirish huquqi lozim, ammo javob juda tez va bashorat qilinadigan bo‘ladi.

SEO nuqtai nazaridan redirekt uch holatda kerak bo‘ladi: sayt https’ga o‘tganda, asosiy manzil tanlanganda (www bilan yoki www’siz) va dizayn o‘zgargach sahifa manzillari yangilanganda. 301 kodi qidiruv tizimiga yangi manzil doimiy ekanini bildiradi. Instagram, OLX, Telegram kanallari va xabarnomalardagi eski havolalar orqali kelgan odamlar esa 404 xatosiga duch kelmaydi.

Return yoki rewrite: qaysi birini tanlash kerak

Return direktivasi javob kodi va yangi manzilni darhol qaytaradi. Rewrite esa muntazam ifoda bilan ishlaydi va yo‘lning bir qismini shablon bo‘yicha ko‘chirish kerak bo‘lganda qulay. Oddiy qoida shunday: return yetarli bo‘lsa, uni ishlating, konfiguratsiya o‘qilishi oson bo‘ladi.

Eng ko‘p adashtiradigan joy kalit so‘zlarda. Permanent yoki redirect yozilmasa, rewrite ichki qayta yozish bajaradi: brauzerda manzil o‘zgarmaydi va qidiruv tizimi hech qanday redirekt ko‘rmaydi. Permanent 301 beradi, redirect esa vaqtinchalik 302 beradi. Sahifa doimiy ko‘chsa, 301 kerak.

Nginx redirekt sozlash: ko‘zgu va https

Asosiy bo‘lmagan har bir manzil variantini alohida server blokiga chiqaring, u faqat yo‘naltirsin. Asosiy blok esa bitta manzilga, masalan https://example.uz’ga xizmat qiladi.

server { listen 80; listen 443 ssl; server_name www.example.uz; # www’ni ham qamrab oluvchi sertifikat return 301 https://example.uz$request_uri; } server { listen 80; server_name example.uz; return 301 https://example.uz$request_uri; }

$request_uri o‘zgaruvchisi yo‘l va parametrlarni saqlaydi, shuning uchun mijoz bosh sahifaga emas, aynan o‘sha sahifaga tushadi. Har qanday variant yakuniy manzilga bir qadamda yetishi kerak. Sertifikatni ham tekshiring: u www’ni qamramasa, brauzer redirekt ishlashidan oldin ogohlantirish ko‘rsatadi.

Bitta sahifa va butun bo‘limni ko‘chirish

Bitta sahifa uchun teng belgisi bilan aniq moslik yetarli. Aytaylik, onlayn do‘kon ikkita yetkazib berish sahifasini bittaga birlashtirdi:

location = /yetkazib-berish-toshkent/ { return 301 /yetkazib-berish/; } location ^~ /maqolalar/ { rewrite ^/maqolalar/(.*)$ /blog/$1 permanent; }

Ikkinchi qoida butun bo‘limni ko‘chiradi va manzil oxirini saqlaydi. Eski sahifani ma’no jihatidan eng yaqin yangi sahifaga yo‘naltiring, hammasini bosh sahifaga emas: ommaviy yo‘naltirish ko‘pincha yumshoq 404 xatosi sifatida qabul qilinadi.

Yuzlab manzillar uchun map

Katalog manzillari butunlay o‘zgarganda yuzlab location yozish noqulay. Map eski manzillarni yangilariga jadval bo‘yicha moslaydi. Jadvalni alohida faylda saqlash va Excel’dan avtomatik yig‘ish mumkin.

map $uri $yangi_manzil { default ""; include /etc/nginx/redirects.map; } server { if ($yangi_manzil) { return 301 $yangi_manzil$is_args$args; } }

Kalit sifatida $uri olingan, $request_uri emas: shunda reklamadagi utm teglari moslikka xalaqit bermaydi va ularni manzil oxiriga qaytarib qo‘shamiz. Server darajasida bitta return’li if xavfsiz, location ichida murakkab mantiq qurmagan ma’qul.

Sikl va zanjirlar qayerdan paydo bo‘ladi

Brauzer «juda ko‘p yo‘naltirish» deb yozsa, qoida yakuniy manzilda ham ishlayapti degani. Odatda sabab quyidagilardan biri:

  • proksi yoki Cloudflare https’ni o‘zi bajaradi, nginx’ga esa so‘rov http bilan keladi va nginx uni yana https’ga yo‘naltiradi
  • oxiridagi slesh qoidasi sleshni olib tashlaydigan ilova bilan ziddiyatga tushadi
  • bir xil qoida ham tashqi nginx’da, ham Docker konteyner ichida yozilgan
  • umumiy qoida sitemap.xml va robots.txt’ga tegib, ular ochilmay qoladi
  • ikkinchi ko‘chishdan keyin eski redirektlar eskirgan manzillarga olib boradi va zanjir hosil bo‘ladi

Qo‘llash, tekshirish va qachon yordam kerak

Click va Payme to‘lov manzillari hamda Telegram bot webhook’ini umumiy qoidalardan chiqarib, alohida tekshirgan yaxshi: bunday so‘rovlarda redirekt ishlovni osongina buzadi.

Ish tartibi shunday: joriy konfiguratsiya nusxasini saqlang, sintaksisni nginx -t bilan tekshiring, so‘ng reload orqali serverni to‘xtatmasdan qayta yuklang. Keyin curl -I bilan ko‘zgularni, eski va yangi manzillarni sinab, zanjir bir qadamdan iboratligini ko‘ring. Saytni inkognito rejimida ochib, yo‘naltirilmasligi kerak sahifalarni tekshiring. Ishga tushgach Search Console hisobotlarini kuzating.

Redirektlar saytning tuzilmasi, sitemap, kanonik manzillar va reklama havolalari bilan bog‘liq. Ko‘chishga tayyorlanayotgan bo‘lsangiz yoki joriy qoidalarga ishonchingiz komil bo‘lmasa, markdev jamoasi O‘zbekistonda sayt uchun SEO optimizatsiya doirasida audit o‘tkazib, pozitsiyalarni yo‘qotmasdan sozlashga yordam beradi. Vazifangizni yozing, qayerdan boshlashni birga muhokama qilamiz.

Ko‘p beriladigan savollar

Sahifa ko‘chganda 301 yoki 302 tanlash kerakmi?

Doimiy ko‘chish uchun 301 kerak. 302 vaqtinchalik yo‘naltirishni bildiradi va qidiruv tizimi eski manzilni ko‘rsatishda davom etishi mumkin.

Nginx’da return yaxshimi yoki rewrite?

Yangi manzilni ko‘rsatish yetarli bo‘lsa, return ishlating. Rewrite manzilning bir qismi shablon bo‘yicha ko‘chirilganda, masalan bo‘lim nomi o‘zgarganda kerak bo‘ladi.

Nega o‘zgartirgandan keyin brauzer juda ko‘p yo‘naltirish haqida yozadi?

Qoida yakuniy manzilda ham ishlayapti. Ko‘pincha nginx oldidagi proksi so‘rovni http bilan uzatadi yoki oxiridagi slesh bo‘yicha ziddiyat bo‘ladi.

Yangi qoidalarni qo‘llash uchun serverni to‘xtatish kerakmi?

Yo‘q. Avval nginx -t bilan sintaksisni tekshiring, keyin reload qiling. Mavjud ulanishlar uzilmaydi.

Vazifangizni bepul tahlil qilamiz

Kontaktingizni qoldiring — 15 daqiqalik qo‘ng‘iroqda arizalar qayerda yo‘qolayotganini va birinchi navbatda nima qilish kerakligini ko‘rsatamiz.