Skip to main content
Back to blog

SEO qo'llanmasi 7-qadam: Xavfsizlik — 2026 yilda Google kutgan asoslar

·12 min read·by LANGR SEO

SEO qo'llanmasi 7-qadam: Xavfsizlik

Bu 13-qadamli SEO qo'llanmasi ning 7-qadamidir. Xavfsizlik faqat foydalanuvchilarni himoya qilish emas — bu sizning izlash reytinglaringizga bevosita ta'sir qiladi. Google 2014 yildan boshlab HTTPS ni reyting signali sifatida ishlatmoqda va kutishlar faqat oshdi.


Aksariyat saytlarga egalari xavfsizlikni ikki tomonlama deb o'ylashadi: "Bizda SSL bor, shuning uchun biz xavfsizmiz." Aslida, Google ko'plab xavfsizlik signallarini baholaydi. To'g'ri xavfsizlik boshliqlari, haqiqiy sertifikatlar va aralash kontenti bo'lmagan saytlarda oddiy SSL sertifikatiga ega saytlarga nisbatan ustunlik mavjud — boshqa hamma narsalar teng bo'lsa.

Yaxshi xabar: ko'p xavfsizlik tuzatishlari bir marta konfiguratsiya qilish jarayoni. Ularni bir marta o'rnatib qo'yasiz, va ular sizning reytinglaringizni doimiy ravishda himoya qiladi.

SSL konfiguratsiyasi

SSL (texnik jihatdan TLS) server va tashrif buyuruvchilar o'rtasidagi aloqani shifrlaydi. 2014 yildan boshlab, Google HTTPS ni reyting signali sifatida aniq tasdiqladi. 2026 yilda HTTPS ga ega bo'lmaslik faqat reyting masalasi emas — Chrome HTTP saytlarini manzil qatorida "Not Secure" sifatida belgilaydi, bu esa foydalanuvchilar ishonchini buzadi.

To'g'ri SSL uchun talablar:

| Talab | Nima uchun | Qanday tekshirish | |-------|------------|-------------------| | Haqiqiy sertifikat | Muddati o'tgan = brauzer xabari = foydalanuvchilar tashvishi | Muddati o'tgan sanani tekshiring | | To'liq zanjir | Noto'g'ri zanjirlar ba'zi qurilmalarda muvaffaqiyatsizlikka uchraydi | SSL Labs testi | | TLS 1.2+ | Eski versiyalarda ma'lum zaifliklar bor | SSL Labs testi | | SHA-1 yo'q | Ishdan chiqdi, brauzerlar uni rad etadi | Sertifikat tafsilotlari | | SAN qamrovi | www va non-www ikkalasi qamrab olinishi kerak | Sertifikat tafsilotlari | | Avtomatik yangilanish | Muddati o'tganida falokatlarni oldini oladi | Let's Encrypt / provayder konfiguratsiyasi |

SSL ballari:

100% = Haqiqiy sertifikat + To'liq zanjir + TLS 1.3 + Kuchli shifrlash + Avtomatik yangilanish
  0% = Muddati o'tgan yoki yo'q sertifikat

Ommabop SSL xatolari:

  1. Sertifikat ogohlantirmasdan amal qilish muddati o'tadi — Muddati tugashidan kamida 30 kun oldin monitoring o'rnatish (6-qadam)
  2. To'liq bo'lmagan sertifikat zanjiri — Server o'rtacha sertifikatlarni yuborishi kerak, faqat bargini emas
  3. Aralash kontent — HTTPS sahifasi HTTP manbalarni yuklaydi (rasmlar, skriptlar, stil fayllari)
  4. Yo'naltirish tsikllari — HTTP → HTTPS → HTTP aylanishlari noto'g'ri konfiguratsiyalangan CDN/proxy sabab bo'ladi
  5. Non-www va www o'rtasida mos kelmaslik — Sertifikat bitta qamrab oladi, lekin ikkinchisi emas

Tez g'alaba: Domeningizni SSL Labs (ssllabs.com/ssltest) orqali o'tkazing. "A" reytingidan past bo'lgan har qanday narsada harakat qilish mumkin bo'lgan muammolar mavjud. Aksariyat hosting provayderlari bularni bir tugma bilan tuzatadi.

Xavfsizlik boshliqlari

Xavfsizlik boshliqlari HTTP javob boshliqlari bo'lib, brauzerlarga saytni yuklashda qanday harakat qilish kerakligini ko'rsatadi. Ular hujumlarning butun toifalarini oldini oladi — va Google botlari ularni tekshiradi.

Zarur xavfsizlik boshliqlari:

Kontent-Xavfsizlik-Siyasati (CSP)

CSP eng kuchli xavfsizlik boshligidir. Bu brauzerlarga aynan qaysi resurslar (skriptlar, uslublar, rasmlar, shriftlar) sahifalaringizda yuklanishiga ruxsat berilganligini aytadi.

Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' https://api.example.com; frame-ancestors 'none';

CSP nima oldini oladi:

  • Cross-site skript (XSS) hujumlari
  • Ma'lumotlar kiritish hujumlari
  • Clickjacking (через frame-ancestors)
  • Ruxsatsiz skriptlarni bajarish (cryptominers, reklamalarni joylashtiruvchilar)

CSP ni joriy etish strategiyasi:

  1. Content-Security-Policy-Report-Only dan boshlang (to'qnashuvlarni bloklamasdan protokolni yozib oladi)
  2. 1-2 hafta davomida hisobotlarni kuzatib boring
  3. Legitim manbalarni oq ro'yxatga oling
  4. Ta'sir etish rejimiga o'ting
  5. Davom etuvchi to'qnashuvlarni yozib olish uchun report-uri yoki report-to ni qo'shing

X-Frame-Options

Sizning saytingizni boshqa domenlarda iframelarda joylashuvdan saqlaydi (clickjacking himoyasi).

X-Frame-Options: DENY

Agar siz bir xil ma'lumotlar bazasida qolishiga ruxsat berishingiz kerak bo'lsa:

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options

Brauzerlarga MIME-turi to'g'ridan-to'g'ri qamrab olishga to'sqinlik qiladi (fayllarni e'lon qilinganidan boshqa turda talqin qilish).

X-Content-Type-Options: nosniff

Ushbu bir qator .jpg fayli ichida yashirin JavaScript mavjud bo'lgan hujumlarni oldini oladi.

Referrer-Policy

Foydalanuvchilar sizning saytlaringizdan havolalarga bosganda yo'llanganda qanday ma'lumotlar yuborilishini boshqaradi.

Referrer-Policy: strict-origin-when-cross-origin

Bu bir xil manzil so'rovlari uchun to'liq URL-ni, lekin cross-origin so'rovlari uchun faqat manzilni yuboradi. Analitika ehtiyojlarini maxfiylik bilan muvozanatlaydi.

Permissions-Policy

Saytingizda qaysi brauzer funksiyalari (kamera, mikrofon, geolokatsiya va boshqalar)dan foydalanish mumkinligini boshqaradi.

Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()

Siz ishlatmaydigan funksiyalarni o'chirish uchinchi tomon skriptlarining ulardan foydalanuvchi bo'lishidan saqlaydi.

Boshliqni amalga oshirish misoli (Next.js):

// next.config.js
module.exports = {
  async headers() {
    return [{
      source: '/(.*)',
      headers: [
        { key: 'X-Content-Type-Options', value: 'nosniff' },
        { key: 'X-Frame-Options', value: 'SAMEORIGIN' },
        { key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
        { key: 'Permissions-Policy', value: 'camera=(), microphone=(), geolocation=()' },
        { key: 'Strict-Transport-Security', value: 'max-age=31536000; includeSubDomains; preload' },
      ]
    }]
  }
}

Boshliqni amalga oshirish (Apache .htaccess):

Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Boshliqni amalga oshirish (Nginx):

add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Tez g'alaba: Yuqoridagi 5 ta boshliqni server konfiguratsiyangizga qo'shing. Bu 5 daqiqa vaqt talab qiladi va har qanday skaner vositasida xavfsizlik pozitsiyangizni darhol yaxshilaydi.

HSTS Preload

HTTP Qattiq Transport Xavfsizligi (HSTS) brauzerlarga doimo HTTPS dan foydalanishni buyuradi — hatto birinchi so'rovdan oldin ham. HSTS bo'lmasa, sizning saytingizga birinchi bor tashrif buyorganda hali ham HTTP (intersepsiyaga qarshi zaif) bo'lishi mumkin, HTTPS ga yo'naltirilgandan oldin.

HSTS boshligi:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Uchta direktiva:

| Direktiv | Ma'nosi | |----------|---------| | max-age=31536000 | Buni 1 yil davomida esda saqlang (soniyada) | | includeSubDomains | Barcha subdomenlarga ham qo'llaniladi | | preload | Brauzerning preload ro'yxatlarida kiritishni so'raydi |

HSTS preload ro'yxati:

Eng yuqori HSTS himoyasi. Brauzerlar doimo HTTPS dan foydalanishi kerak bo'lgan domenlar ro'yxatini o'z ichiga oladi. Domeningizni hstspreload.org saytiga topshirish degani:

  • Birinchi marta tashrif buyuradiganlar darhol HTTPS oladilar (HTTP → HTTPS yo'naltirishsiz)
  • Hujumchilar uchun aloqalarni pastga uzatishning iloji yo'q
  • Doimiy (bir marta yuborilganidan so'ng olib tashlash qiyin)

HSTS preload uchun talablar:

  1. Haqiqiy HTTPS sertifikati
  2. Barcha HTTPlarni HTTPS ga yo'naltirish (subdomenlar ham)
  3. max-age >= 31536000 ga ega HSTS boshligi
  4. HSTS boshligi includeSubDomains ni o'z ichiga olishi kerak
  5. HSTS boshligi preload ni o'z ichiga olishi kerak
  6. Barcha subdomenlar HTTPS ni qo'llab-quvvatlashi lozim

Ogohlik: Preload uchun faqat barcha subdomenlar HTTPS ni qo'llab-quvvatlasa, yuboring. includeSubDomains direktivasi har qanday HTTP faqat subdomenning qo'shimchasiga olib keladi.

Tez g'alaba: Agar sizda allaqachon barcha subdomenlarda HTTPS bo'lsa, to'liq HSTS boshligini qo'shing va hstspreload.org saytiga jo'nating. Jarayon bir necha hafta davom etadi, ammo himoya doimiy.

Zaifliklarni skanerlash

Avtomatlashtirilgan zaifliklarni skanerlash sizning dasturiy ta'minotingizda mavjud bo'lgan ma'lum xavfsizlik muammolarini kashf etadi.

Zaifliklarni skanerlash qaysilarni tekshiradi:

  • Eski dasturlar: WordPress, plaginlar, ma'lum CVE lari bilan JavaScript kutubxonalari
  • Kiyim-bosh uzatilgan fayllar: .env, .git, wp-config.php, ma'lumotlar bazasi dumpi
  • Ma'lumotlar oqishi: Server versiyasi boshliqlari, test rejimi, stek izlari
  • Default ids: Ruxsatisiz admin sahifalari, default parollar
  • Ochiq portlar/xizmatlar: Internetga uzatilgan keraksiz xizmatlar
  • Kiritish nuqtalari: CSRF himoyasi bo'lmagan shakllar, tasdiqlanmagan kiritmalar

Platformalar bo'yicha mashhur zaifliklar:

| Platforma | Eng katta zaiflik | Tuzatish | |-----------|-------------------|----------| | WordPress | Eski plaginlar | Avtomatik yangilanish + WAF | | Shopify | Uchinchi tomon app ruxsatlari | Har chorakda app ro'yxatini audit qiling | | Next.js | Ochiq API marshrutlari | Auth middleware + tezlikni chegaralash | | Statik saytlar | CDN noto'g'ri konfiguratsiyasi | Kesh qoidalarini ko'rib chiqing | | Individual | SQL injection | Parameterized queries |

Skanerlash tezligi:

  • Har kuni: Avtomatlashtirilgan yuzaki skaner (SSL, boshliqlar, uzatilgan fayllar)
  • Har hafta: Qaramlik uchun zaifliklarni tekshirish (npm audit, WordPress plagini skaneri)
  • Har oy: Authentifikatsiyalangan testlar bilan chuqur skanerlash
  • Har bir joylashuvdan so'ng: Regressiya tekshiruvi

Tez g'alaba: npm audit ni ishga tushiring (Node.js) yoki CMS plagin ro'yxatingizni eski komponentlar uchun tekshiring. Tanqidiy/yuqori xavflik darajadagi muammolarni darhol tuzating.

Aralash kontent

Aralash kontent HTTPS sahifasi resurslarni (rasmlar, skriptlar, stil fayllari, iframelar) HTTP orqali yuklaganda yuzaga keladi. Bu shifrlashni qisman buzadi va brauzer ogohlantirishlariga olib keladi.

Aralash kontent turlari:

| Tur | Jiddiylik | Misol | Brauzer xulq-atvori | |--------|-----------|-------|---------------------| | Faol | Yuqori | HTTP skripti, iframe, CSS | Standart ravishda bloklanadi | | Passiv | O'rta | HTTP rasm, video, audio | Ogohlantirish bilan yuklanadi |

Faol aralash kontent zamonaviy brauzerlar tomonidan bloklanadi — bu sizning skriptlaringiz va uslublaringiz yuklanmasligini anglatadi. Passiv aralash kontent yuklanadi, ammo xavfsizlik ogohlantirishlarini ko'rsatadi.

Aralash kontentni topish:

  1. Chrome DevTools ni oching → Konsol
  2. "Aralash kontent" ogohlantirishlarini qidiring
  3. Yana, skaner bilan tekshirib ko'ring (Screaming Frog, LANGR)

Aralash kontentning umumiy manbalari:

  • Kontentda qattiq kodlangan http:// URL lar (blog postlari, mahsulot tavsiflari)
  • Uchinchi tomon widgetlari HTTP manbalarni yuklaydi
  • O'rnatilgan kontent (YouTube eski joylashtirishlari, ijtimoiy media widgetlari)
  • CSS background-image da HTTP URL lar
  • HTTP orqali yuklangan shriftlar

Aralash kontentni tuzatish:

<!-- Yomon -->
<img src="http://example.com/image.jpg" />

<!-- Yaxshi -->
<img src="https://example.com/image.jpg" />

<!-- Eng yaxshi (protokolga bog'liq, sahifa protokoli bo'yicha moslashadi) -->
<img src="//example.com/image.jpg" />

Ma'lumotlar bazasi tuzatish (WordPress):

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://yourdomain.com', 'https://yourdomain.com');

Tez g'alaba: O'z uy sahifangizni Chrome'da oching, F12 ni bosing, Konsol tabini aralash kontent ogohlantirishlari uchun tekshiring. Ko'rinadigan har qanday narsani tuzating — bu Google uchun bevosita ko'rinadi.

Uchinchi tomon skriptlari xavflari

Siz yuklagan har bir tashqi skript potentsial xavf (va yaxlitlik) bo'lishi mumkin. Uchinchi tomon skriptlari:

  • Suiiste'mol qilingan bo'lishi mumkin (ta'minot zanjiri hujumlari)
  • Foydalanuvchilarni ruxsatsiz kuzatishga imkon beradi (GDPR qoidalari buzilishi)
  • Saytingizni sekinlashtirishi mumkin (render-blokirovka, tarmoq kechikishi)
  • Funktsionalni buzishi mumkin (versiyalarni yangilash, uzilishlar)
  • Keraksiz kontentni kiritishi mumkin (noto'g'ri reklama skriptlari)

Uchinchi tomon skriptlaringizni audit qiling:

| Skript | Zarurmi? | Xavf darajasi | Muqobili | |--------|----------|---------------|----------| | Google Analytics | Ko'pincha ha | Kam | Server tomonidan izlash | | Suhbat widgetlari | Ehtimol | O'rta | O'z-o'zidan joylashtirilgan yechimlar | | Ijtimoiy ulash tugmalari | Kamdan-kam | O'rta | Statik ulash havolalari | | A/B testlash | Ba'zan | Yuqori | Server tomonidan testlash | | Qayta belgilash piksellari | Biznes qarori | Yuqori | Birinchi tomon ma'lumotlari | | Shrift CDNs | Quvvat beruvchi | Kam | Shriftlarni o'z-o'zidan yuklash |

Muhim uchinchi tomon skriptlarining xavfni kamaytirish:

  1. Subresurs integratsiyasi (SRI): Hash tasdiqlash o'zgartirilgan skriptlar yuklanishiga to'sqinlik qiladi
<script src="https://cdn.example.com/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
        crossorigin="anonymous"></script>
  1. CSP cheklovlari: Faqat ma'lum domenlardan skriptlarni ruxsat berish
  2. Sandboxlangan iframelar: Uchinchi tomon widgetlarini ajratish
  3. Muntazam auditlar: Har chorakda barcha tashqi resurslarni ko'rib chiqish
  4. Monitoring: Sahifalaringizda yangi tashqi domenlar paydo bo'lganda xabardor qilish

Tez g'alaba: HTML-dagi har bir