Sayt bo'limlari
Muharrir tanlovi:
- Internet tezligini tekshirish: usullarning umumiy ko'rinishi. Provayderingizdan haqiqiy Internet tezligini qanday aniqlash mumkin
- Windows ro'yxatga olish kitobi muharririni ochishning uchta usuli Qidiruv yordamida ro'yxatga olish kitobini ochish
- Qattiq diskni qanday qismlarga bo'lish kerak
- Biz qattiq diskni bo'limlarga ajratamiz
- Kompyuter yoqilganda signal beradi
- Windows-da fayl kengaytmalarini to'g'ri o'zgartirish Arxiv kengaytmasini qanday o'zgartirish mumkin
- YouTube YouTube-da reklamalarni reklamasiz bloklash
- TeamViewer - kompyuterni masofadan boshqarish Boshqa kompyuter bilan bog'lanish uchun dasturni yuklab oling
- Windows-da kompyuteringizning xususiyatlarini qanday aniqlash mumkin: tizim usullari va maxsus dasturlar
- Biz turli xil qurilmalarda brauzerlarni yangilaymiz: kompyuter, planshet, smartfon Yangilangan brauzerni qayerda va qanday qilib o'rnating
Reklama
Semantik yadro - uni qanday qilib to'g'ri tuzish kerak? Keling, yadro yozamiz! Operatsion tizimning eng oddiy ishchi yadrosini yaratamiz Sahifaning semantik yadrosi. |
Keling, x86 tizimida GRUB bootloader yordamida yuklanishi mumkin bo'lgan oddiy yadro yozamiz. Ushbu yadro ekranda xabarni ko'rsatadi va kutadi. X86 tizimi qanday yuklanadi?Yadro yozishni boshlashdan oldin, tizim qanday yuklanishini va boshqaruvni yadroga o'tkazishini tushunib olaylik. Ko'pgina protsessor registrlari ishga tushirilganda allaqachon ma'lum qiymatlarni o'z ichiga oladi. Ko'rsatmalar manziliga ishora qiluvchi registr (Instruction Pointer, EIP) protsessor tomonidan bajarilgan buyruq joylashgan xotira manzilini saqlaydi. Standart EIP hisoblanadi 0xFFFFFFFF0. Shunday qilib, apparat darajasidagi x86 protsessorlari 0xFFFFFF0 manzilida ishlay boshlaydi. Bu aslida 32 bitli manzil maydonining oxirgi 16 baytidir. Bu manzil reset vektori deb ataladi. Endi chipset xotira xaritasi 0xFFFFFFF0 RAM emas, balki BIOSning ma'lum bir qismiga tegishli ekanligini ta'minlaydi. Ayni paytda, BIOS ko'proq uchun o'zini RAMga ko'chiradi tez kirish. 0xFFFFFF0 manzili faqat BIOS nusxasi saqlanadigan xotiradagi manzilga o'tish bo'yicha ko'rsatmani o'z ichiga oladi. Shunday qilib, BIOS kodi bajarila boshlaydi. BIOS birinchi navbatda oldindan belgilangan tartibda yuklash mumkin bo'lgan qurilmani qidiradi. Qurilmaning yuklanishi mumkinligini aniqlaydigan sehrli raqam topildi (birinchi sektorning 511 va 512 baytlari teng bo'lishi kerak). 0xAA55). BIOS yuklash moslamasini topganda, u jismoniy manzildan boshlab qurilmaning birinchi sektori tarkibini operativ xotiraga ko'chiradi. 0x7c00; keyin manzilga o'tadi va yuklab olingan kodni bajaradi. Ushbu kod deyiladi yuklovchi. Bootloader yadroni jismoniy manzilga yuklaydi 0x100000. Bu manzil x86 tizimlaridagi barcha yirik yadrolarda boshlang'ich manzil sifatida ishlatiladi. Barcha x86 protsessorlari oddiy 16 bitli rejimda ishlaydi haqiqiy rejim. GRUB bootloader rejimini 32-bitga o'tkazadi himoyalangan rejim, CR0 registrining past bitini o'rnatish 1 . Shunday qilib, yadro 32 bitli himoyalangan rejimda yuklanadi. E'tibor bering, Linux yadrosi bo'lsa, GRUB Linux yuklash protokollarini ko'radi va yadroni yuklaydi. haqiqiy rejim. Yadro avtomatik ravishda himoyalangan rejimga o'tadi. Bizga nima kerak?
Assemblerda kirish nuqtasini o'rnatishO'zingizni faqat C bilan cheklashni qanchalik xohlasangiz ham, assemblerda biror narsa yozishingiz kerak bo'ladi. Biz unga yadromiz uchun boshlang'ich nuqta bo'lib xizmat qiladigan kichik faylni yozamiz. Bu faqat C da yozilgan tashqi funksiyani chaqirish va dastur oqimini to'xtatish bo'ladi. Ushbu kod boshlang'ich nuqtasi ekanligiga qanday ishonch hosil qilishimiz mumkin? Yakuniy bajariladigan faylni yaratish uchun ob'ekt fayllarini bog'laydigan bog'lovchi skriptdan foydalanamiz. Ushbu skriptda biz 0x100000 manzilida ma'lumotlarni yuklamoqchi ekanligimizni aniq ko'rsatamiz. Mana assembler kodi: ;;kernel.asm bitlari 32 ;nasm direktivasi - 32 bitli bo'lim .text global start extern kmain ;kmain c fayl startida aniqlanadi: cli ;block interrupts mov esp, stack_space ;set stack pointer call kmain hlt ; CPU qismini to'xtating .bss resb 8192 ;stack_space uchun 8KB: Birinchi ko'rsatma, bit 32, x86 yig'ish ko'rsatmasi emas. Bu 32-bitli rejimda ishlaydigan protsessor uchun kod ishlab chiqarishni belgilaydigan NASM assembleriga ko'rsatma. Bizning holatlarimizda bu zarur emas, lekin odatda foydalidir. Kodga ega bo'lim ikkinchi qatordan boshlanadi. global - bu belgilarni yaratadigan yana bir NASM direktivasi manba kodi global. Shunday qilib, bog'lovchi boshlang'ich belgisi qaerda ekanligini biladi - bizning kirish nuqtamiz. kmain kernel.c faylida aniqlanadigan funksiyadir. extern funksiya boshqa joyda e'lon qilinganligini bildiradi. Keyin start funksiyasi keladi, u kmain funksiyasini chaqiradi va hlt buyrug'i bilan protsessorni to'xtatadi. Shuning uchun biz cli ko'rsatmasi yordamida uzilishlarni oldindan o'chirib qo'yamiz. Ideal holda, biz bir oz xotirani ajratishimiz va unga stek ko'rsatkichi (xususan) bilan ishora qilishimiz kerak. Biroq, GRUB buni biz uchun allaqachon qilganga o'xshaydi. Biroq, siz hali ham BSS bo'limida biroz bo'sh joy ajratasiz va stek ko'rsatgichini uning boshiga o'tkazasiz. Belgilangan bayt sonini saqlaydigan resb ko'rsatmasidan foydalanamiz. Kmainga qo'ng'iroq qilishdan oldin darhol stek ko'rsatkichi (esp) mov ko'rsatmasi bilan to'g'ri joyga o'rnatiladi. C dagi yadrokernel.asm da kmain() funksiyasiga qo'ng'iroq qildik. Shunday qilib, bizning "C" kodimiz kmain() bilan ishlashni boshlashi kerak: /* * kernel.c */ void kmain(void) ( const char *str = "mening birinchi yadrom"; char *vidptr = (char*)0xb8000; //video xotira shu yerda boshlanadi. unsigned int i = 0; unsigned int j = 0; /* bu tsikllar ekranni tozalaydi * 80 ta ustunning har birida 25 ta satr mavjud; har bir element 2 bayt oladi */ while(j)< 80 * 25 * 2) { /* blank character */ vidptr[j] = " "; /* attribute-byte - light grey on black screen */ vidptr = 0x07; j = j + 2; } j = 0; /* this loop writes the string to video memory */ while(str[j] != "\0") { /* the character"s ascii */ vidptr[i] = str[j]; /* attribute-byte: give character black bg and light grey fg */ vidptr = 0x07; ++j; i = i + 2; } return; } Bizning yadro qiladigan narsa ekranni tozalash va "mening birinchi yadrom" qatorini ko'rsatishdir. Avval manzilga ishora qiluvchi vidptr ko'rsatkichini yaratamiz 0xb8000. Himoyalangan rejimda "video xotira" ushbu manzildan boshlanadi. Ekranda matnni ko'rsatish uchun biz 0xb8000 dan boshlab 80 ta ASCII belgisidan iborat 25 qatorni zaxiralaymiz. Har bir belgi odatdagi 8 bit bilan emas, balki 16 bit bilan ko'rsatiladi. Birinchi baytda belgining o'zi saqlanadi, ikkinchisi - atribut-bayt . U belgining formatlanishini, masalan, rangini tasvirlaydi. Qora fonda yashil s belgisini ko'rsatish uchun birinchi baytga bu belgini, ikkinchisiga esa 0x02 qiymatini yozamiz. 0 qora fon, 2 yashil matn rangini bildiradi. Mana ranglar jadvali: 0 - Qora, 1 - Moviy, 2 - Yashil, 3 - Moviy, 4 - Qizil, 5 - Magenta, 6 - Jigarrang, 7 - Ochiq kulrang, 8 - To'q kulrang, 9 - Ochiq Moviy, 10/a - Ochiq yashil, 11/b - ochiq ko'k, 12/c - och qizil, 13/d - och qizil, 14/e - ochiq jigarrang, 15/f - oq. Bizning yadromizda qora fonda ochiq kulrang matndan foydalanamiz, shuning uchun atribut baytimiz 0x07 qiymatiga ega bo'ladi. Birinchi tsiklda dastur butun 80x25 zonasi bo'ylab bo'sh belgini chop etadi. Bu ekranni tozalaydi. Keyingi siklda 0x07 atribut baytiga teng bo'lgan "birinchi yadrom" null bilan tugallangan qatordagi belgilar "video xotira" ga yoziladi. Bu satrni ekranga chop etadi. Birlashtiruvchi qismkernel.asm ni NASM yordamida obyekt fayliga yig'ishimiz kerak; keyin kernel.c ni boshqa obyekt fayliga kompilyatsiya qilish uchun GCC dan foydalaning. Keyin ular bajariladigan yuklash yadrosiga biriktirilishi kerak. Buning uchun ld ga argument sifatida uzatiladigan majburiy skriptdan foydalanamiz. /* * link.ld */ OUTPUT_FORMAT(elf32-i386) KIRISh (boshlash) bo'limlari ( . = 0x100000; .matn: ( *(.matn) ) .data: ( *(.data) ) .bss: ( *( .bss))) Avval biz so'raymiz chiqish formati 32-bitli bajariladigan va bog'lanadigan format (ELF) sifatida. ELF Unix x86 tizimlari uchun standart ikkilik fayl formatidir. KIRISH kirish nuqtasi bo'lgan belgi nomini ko'rsatuvchi bitta argumentni oladi. BO'LIMLAR- bu eng muhim qism. U bizning bajariladigan faylimiz belgilanishini belgilaydi. Turli bo'limlarni qanday ulash kerakligini va ularni qaerga joylashtirishni aniqlaymiz. SECTIONS dan keyin qavslar ichida nuqta (.) joylashuv hisoblagichini ko'rsatadi, bu sukut bo'yicha 0x0. Buni o'zgartirish mumkin, biz nima qilyapmiz. Keling, quyidagi qatorni ko'rib chiqaylik: .text: ( *(.text) ). Yulduzcha (*) hisoblanadi maxsus xarakter, har qanday fayl nomiga mos keladi. *(.matn) ifodasi barcha kirish fayllaridagi barcha .text bo'limlarini bildiradi. Shunday qilib, bog'lovchi ob'ekt fayllarining barcha kod bo'limlarini pozitsiya hisoblagichidagi (0x100000) manzildagi bajariladigan faylning bir bo'limiga birlashtiradi. Shundan so'ng, hisoblagich qiymati 0x100000 + hosil bo'lgan qismning o'lchamiga teng bo'ladi. Xuddi shu narsa boshqa bo'limlar bilan sodir bo'ladi. Grub va MultibootEndi barcha fayllar yadro yaratishga tayyor. Ammo yana bir qadam qoldi. deb nomlangan yuklash vositasi yordamida x86 yadrolarini yuklash uchun standart mavjud Multiboot spetsifikatsiyasi. GRUB bizning yadromizni faqat ushbu spetsifikatsiyalarga javob bersa, ishga tushiradi. Ulardan keyin yadro birinchi 8 kilobaytda sarlavhani o'z ichiga olishi kerak. Bundan tashqari, ushbu sarlavha 4 baytdan iborat 3 ta maydonni o'z ichiga olishi kerak:
Bizning kernel.asm quyidagicha ko'rinadi: ;;kernel.asm ;nasm direktivasi - 32 bit 32 qism .text ;multiboot spec align 4 dd 0x1BADB002 ;magic dd 0x00 ; flags dd - (0x1BADB002 + 0x00) ;checkssum. m+f+c nol global start extern kmain bo‘lishi kerak ;kmain c faylida aniqlanadi start: cli ;block interrupts mov esp, stack_space ;set stack pointer call kmain hlt ;CPU bo‘limini to‘xtating .bss resb 8192 ; stek uchun 8KB stack_space: Yadroni qurishEndi biz kernel.asm va kernel.c dan obyekt fayllarini yaratamiz va ularni skriptimiz yordamida bog'laymiz. Nasm -f elf32 kernel.asm -o kasm.o Bu satr ELF-32 formatida kasm.o obyekt faylini yaratish uchun assemblerni ishga tushiradi. Gcc -m32 -c kernel.c -o kc.o "-c" opsiyasi kompilyatsiyadan keyin hech qanday yashirin bog'lanish sodir bo'lmasligini ta'minlaydi. Ld -m elf_i386 -T link.ld -o yadro kasm.o kc.o Bu bizning skriptimiz bilan bog'lovchini ishga tushiradi va bajariladigan faylni yaratadi yadro. Grubni sozlash va yadroni ishga tushirishGRUB naqsh yadrosini qondirish uchun yadro nomini talab qiladi - Endi uni katalogga qo'ying / boot. Buning uchun sizga superfoydalanuvchi huquqlari kerak bo'ladi. GRUB konfiguratsiya faylida grub.cfg, quyidagilarni qo'shing: Sarlavha myKernel root (hd0,0) kernel /boot/kernel-701 ro Agar mavjud bo'lsa, yashirin menyu direktivasini olib tashlashni unutmang. Kompyuteringizni qayta ishga tushiring va siz yadrolar ro'yxatini, shu jumladan o'zingiznikini ham ko'rasiz. Uni tanlang va siz quyidagilarni ko'rasiz: Bu sizning asosingiz! Keling, kirish/chiqish tizimini qo'shamiz. P.S.
Semantik yadro qo'rqinchli ism bo'lib, SEOlar juda oddiy narsani bildirish uchun o'ylab topdilar. Biz faqat saytimizni targ'ib qiladigan asosiy so'rovlarni tanlashimiz kerak. Va ushbu maqolada men sizga semantik yadroni qanday qilib to'g'ri tuzishni ko'rsataman, shunda sizning saytingiz tezda TOP-ga etib boradi va oylar davomida to'xtab qolmaydi. Bu erda "sirlar" ham bor. SYni kompilyatsiya qilishga o'tishdan oldin, keling, bu nima ekanligini va oxir-oqibat nimaga kelishimiz kerakligini aniqlaymiz. Oddiy so'zlarda semantik yadro nimaG'alati, lekin semantik yadro odatiy hisoblanadi excel fayli, unda siz (yoki kopirayteringiz) sayt uchun maqolalar yozadigan asosiy so'rovlar ro'yxati keltirilgan. Misol uchun, mening semantik yadroim shunday ko'rinadi: Men allaqachon maqolalar yozgan asosiy so'rovlarni yashil rang bilan belgiladim. Sariq - yaqin kelajakda maqolalar yozishni rejalashtirganlar. Va rangsiz hujayralar bu so'rovlar biroz keyinroq kelishini anglatadi. Har bir asosiy so'rov uchun men chastotani, raqobatbardoshlikni aniqladim va "jozibali" sarlavha bilan chiqdim. Siz taxminan bir xil faylni olishingiz kerak. Endi mening CN 150 ta kalit so'zdan iborat. Demak, kamida 5 oy oldin “material” bilan ta’minlanganman (kuniga bitta maqola yozsam ham). Quyida biz to'satdan mutaxassislardan semantik yadro to'plamini buyurtma qilishga qaror qilsangiz, nimaga tayyorgarlik ko'rishingiz kerakligi haqida gaplashamiz. Bu erda men qisqacha aytaman - ular sizga bir xil ro'yxatni beradi, lekin faqat minglab "kalitlar" uchun. Biroq, SYda miqdor emas, balki sifat muhim ahamiyatga ega. Va biz bunga e'tibor qaratamiz. Nima uchun bizga umuman semantik yadro kerak?Lekin haqiqatan ham bu azob bizga nima uchun kerak? Axir, siz shunchaki sifatli maqolalar yozishingiz va auditoriyani jalb qilishingiz mumkin, shunday emasmi? Ha, siz yozishingiz mumkin, lekin siz odamlarni jalb qila olmaysiz. Bloggerlarning 90% asosiy xatosi shunchaki yuqori sifatli maqolalar yozishdir. Men hazillashmayman, ularda haqiqatan ham qiziqarli va foydali materiallar bor. Ammo qidiruv tizimlari bu haqda bilishmaydi. Ular ekstrasenslar emas, shunchaki robotlar. Shunga ko'ra, ular sizning maqolangizni TOP-da joylashtirmaydi. Sarlavhada yana bir nozik nuqta bor. Masalan, sizda "Facebookda biznesni qanday to'g'ri yuritish kerak" mavzusida juda yuqori sifatli maqola bor. U erda siz Facebook haqida hamma narsani batafsil va professional tarzda tasvirlab berasiz. Jumladan, u erda jamoalarni qanday targ'ib qilish kerak. Sizning maqolangiz ushbu mavzu bo'yicha Internetda eng sifatli, foydali va qiziqarli. Yoningizda hech kim yotmasdi. Ammo bu sizga hali ham yordam bermaydi. Nima uchun yuqori sifatli maqolalar TOPdan chiqib ketadiTasavvur qiling-a, sizning saytingizga robot emas, balki Yandex-dan jonli inspektor (baholovchi) tashrif buyurgan. U sizda eng zo'r maqola borligini tushundi. Qo'llar sizni "Facebookda hamjamiyatni targ'ib qilish" so'rovi bo'yicha qidiruv natijalarida birinchi o'ringa qo'yadi. Keyin nima bo'lishini bilasizmi? Baribir tez orada u yerdan uchib ketasiz. Chunki hech kim sizning maqolangizni birinchi o'rinda bo'lsa ham bosmaydi. Odamlar "Facebookda hamjamiyatni targ'ib qilish" so'roviga kirishadi va sizning sarlavhangiz "Facebookda biznesni qanday to'g'ri yuritish kerak". Original, yangi, kulgili, lekin ... so'rov bo'yicha emas. Odamlar sizning ijodingizni emas, aynan o'zlari qidirayotgan narsani ko'rishni xohlashadi. Shunga ko'ra, sizning maqolangiz TOP qidiruv natijalarida o'z o'rnini bo'shatadi. Va jonli baholovchi, ishingizning ashaddiy muxlisi, sizni hech bo'lmaganda TOP 10 taligida qoldirishni xohlaganicha hokimiyatdan iltimos qilishi mumkin. Lekin bu yordam bermaydi. Barcha birinchi o'rinlarni kechagi maktab o'quvchilari bir-biridan ko'chirib olgan kungaboqar urug'ining qobig'i kabi bo'sh maqolalar egallaydi. Ammo bu maqolalar to'g'ri "tegishli" sarlavhaga ega bo'ladi - "Facebookda jamiyatni noldan targ'ib qilish" ( bosqichma-bosqich, 5 bosqichda, A dan Z gacha, bepul h.k.) Bu haqoratlimi? Hali ham bo'lardi. Xo'sh, adolatsizlikka qarshi kurash. Keling, sizning maqolalaringiz munosib birinchi o'rinlarni egallashi uchun vakolatli semantik yadro yarataylik. SYNOPSIS yozishni boshlashning yana bir sababiOdamlar negadir ko'p o'ylamaydigan yana bir narsa bor. Siz tez-tez maqolalar yozishingiz kerak - kamida har hafta, va afzalroq haftada 2-3 marta - daromad olish uchun ko'proq trafik va tezroq. Buni hamma biladi, lekin deyarli hech kim buni qilmaydi. Va barchasi, chunki ular "ijodiy turg'unlik", "ular faqat o'zlarini majburlay olmaydilar", "ular shunchaki dangasa". Ammo, aslida, butun muammo ma'lum bir semantik yadroning yo'qligidadir. Qidiruv maydoniga o'zimning asosiy kalitlarimdan birini "smm" ni kiritdim va Yandex darhol menga "smm" ga qiziqqan odamlarni yana nima qiziqtirishi mumkinligi haqida o'nlab maslahatlar berdi. Men qilishim kerak, bu kalitlarni daftarga nusxalash. Keyin men ularning har birini xuddi shu tarzda tekshiraman va ular bo'yicha ham maslahatlar to'playman. Kalit so'zlarni yig'ishning birinchi bosqichidan so'ng siz 10-30 ta keng asosiy kalitlarni o'z ichiga olgan matnli hujjatga ega bo'lishingiz kerak, biz ular bilan keyinroq ishlaymiz. 2-qadam - SlovoEB-da asosiy kalitlarni tahlil qilishAlbatta, agar siz "webinar" yoki "smm" so'rovi uchun maqola yozsangiz, mo''jiza sodir bo'lmaydi. Bunday keng so'rov uchun siz hech qachon TOP ga erisha olmaysiz. Ushbu mavzu bo'yicha asosiy kalitni ko'plab kichik so'rovlarga ajratishimiz kerak. Va biz buni maxsus dastur yordamida qilamiz. Men KeyCollector-dan foydalanaman, lekin u pullik. Siz bepul analogdan foydalanishingiz mumkin - SlovoEB dasturi. Siz uni rasmiy saytdan yuklab olishingiz mumkin. Ushbu dastur bilan ishlashda eng qiyin narsa uni to'g'ri sozlashdir. Men sizga Sloboeb-ni qanday qilib to'g'ri sozlash va undan foydalanishni ko'rsataman. Ammo o'sha maqolada men Yandex Direct uchun kalitlarni tanlashga e'tibor qarataman. Va bu erda SEO uchun semantik yadro yaratish uchun ushbu dasturdan foydalanish xususiyatlarini bosqichma-bosqich ko'rib chiqaylik. Birinchidan, biz yangi loyiha yaratamiz va uni tahlil qilmoqchi bo'lgan keng kalit bilan nomlaymiz. Keyinchalik chalkashmaslik uchun men odatda loyihaga asosiy kalitim bilan bir xil nom beraman. Va ha, men sizni yana bir xatodan ogohlantiraman. Bir vaqtning o'zida barcha asosiy kalitlarni tahlil qilishga urinmang. Keyin oltin donalardan "bo'sh" kalit so'rovlarni filtrlash siz uchun juda qiyin bo'ladi. Keling, bir vaqtning o'zida bitta kalitni tahlil qilaylik. Loyihani yaratgandan so'ng, biz asosiy operatsiyani bajaramiz. Ya'ni, biz kalitni Yandex Wordstat orqali tahlil qilamiz. Buni amalga oshirish uchun dastur interfeysidagi "Worstat" tugmasini bosing, asosiy kalitingizni kiriting va "To'plamni boshlash" tugmasini bosing. Misol uchun, keling, mening "kontekstli reklama" blogim uchun asosiy kalitni tahlil qilaylik. Shundan so'ng, jarayon boshlanadi va bir muncha vaqt o'tgach, dastur bizga natija beradi - "kontekstli reklama" ni o'z ichiga olgan 2000 tagacha asosiy so'rovlar. Bundan tashqari, har bir so'rovning yonida "iflos" chastota bo'ladi - bu kalit (+ uning so'z shakllari va dumlari) Yandex orqali oyiga necha marta qidirilgan. Lekin men bu raqamlardan hech qanday xulosa chiqarishni maslahat bermayman. 3-qadam - kalitlar uchun aniq chastotani yig'ishNopok chastota bizga hech narsani ko'rsatmaydi. Agar siz unga e'tibor qaratsangiz, 1000 ta so'rov uchun kalitingiz oyiga bir marta bosishni keltirmasa, hayron bo'lmang. Biz sof chastotani aniqlashimiz kerak. Buning uchun biz avval barcha topilgan kalitlarni tasdiq belgilari bilan tanlaymiz, so'ngra "Yandex Direct" tugmasini bosing va jarayonni qaytadan boshlaymiz. Endi Slovoeb har bir kalit uchun oyiga aniq so'rov chastotasini qidiradi. Endi bizda ob'ektiv rasm bor - o'tgan oy davomida Internet foydalanuvchilari tomonidan necha marta qanday so'rov kiritilgan. Endi men ular bilan ishlashni osonlashtirish uchun barcha asosiy so'rovlarni chastota bo'yicha guruhlashni taklif qilaman. Buning uchun "Chastota" ustunidagi "filtr" belgisini bosing. ", va belgilang - "10 dan kam yoki teng" qiymatiga ega kalitlarni filtrlang. Endi dastur sizga faqat chastotasi "10" qiymatidan kam yoki unga teng bo'lgan so'rovlarni ko'rsatadi. Siz ushbu so'rovlarni o'chirishingiz yoki kelajakda foydalanish uchun ularni boshqa asosiy so'rovlar guruhiga nusxalashingiz mumkin. 10 dan kam - juda oz. Ushbu so'rovlar uchun maqolalar yozish vaqtni behuda sarflashdir. Endi biz ko'proq yoki kamroq yaxshi trafik keltiradigan asosiy so'rovlarni tanlashimiz kerak. Va buning uchun biz yana bir parametrni - so'rovning raqobatbardoshlik darajasini aniqlashimiz kerak. 4-qadam - so'rovlarning raqobatbardoshligini tekshirishBu dunyodagi barcha "kalitlar" 3 turga bo'linadi: yuqori chastotali (HF), o'rta chastotali (MF), past chastotali (LF). Ular, shuningdek, yuqori raqobatbardosh (HC), o'rtacha raqobatbardosh (SC) va past raqobatbardosh (LC) bo'lishi mumkin. Qoida tariqasida, HF so'rovlari ham VC. Ya'ni, agar so'rov Internetda tez-tez qidirilsa, uni targ'ib qilishni xohlaydigan saytlar juda ko'p. Ammo bu har doim ham shunday emas, baxtli istisnolar mavjud. Semantik yadroni tuzish san'ati yuqori chastotali va past darajadagi raqobatga ega bo'lgan so'rovlarni topishga qaratilgan. Raqobat darajasini qo'lda aniqlash juda qiyin. Siz TOP 10 dagi asosiy sahifalar soni, matnlarning uzunligi va sifati kabi ko'rsatkichlarga e'tibor qaratishingiz mumkin. ishonch darajasi va so'rov bo'yicha TOP qidiruv natijalarida saytlarning tits. Bularning barchasi sizga ushbu maxsus so'rov bo'yicha reytinglar uchun raqobat qanchalik qiyinligi haqida fikr beradi. Lekin foydalanishni tavsiya qilaman Mutagen xizmati. Bu men yuqorida aytib o'tgan barcha parametrlarni, shuningdek, siz ham, men ham eshitmagan o'nlab parametrlarni hisobga oladi. Tahlildan so'ng, xizmat aniq qiymatni beradi - bu so'rov qanday raqobat darajasiga ega. Bu erda men "google adwords-da kontekstli reklama o'rnatish" so'rovini tekshirdim. Mutagen bizga ushbu kalitning raqobatbardoshligi "25 dan ortiq" ekanligini ko'rsatdi - bu u ko'rsatadigan maksimal qiymat. Va bu so'rov oyiga atigi 11 marta ko'rishga ega. Demak, bu bizga mutlaqo mos kelmaydi. Biz Slovoeb-da topilgan barcha kalitlarni nusxalashimiz va Mutagen-da ommaviy tekshirishni amalga oshirishimiz mumkin. Shundan so'ng, biz qilishimiz kerak bo'lgan narsa ro'yxatni ko'rib chiqish va juda ko'p so'rovlar va raqobat darajasi past bo'lgan so'rovlarni qabul qilishdir. Mutagen - bu pullik xizmat. Lekin siz kuniga 10 ta tekshiruvni bepul qilishingiz mumkin. Bundan tashqari, sinov narxi juda past. Men u bilan ishlagan vaqtimda hali 300 rubl ham sarflamaganman. Aytgancha, raqobat darajasi haqida. Agar sizda yosh sayt bo'lsa, unda raqobat darajasi 3-5 bo'lgan so'rovlarni tanlash yaxshidir. Va agar siz bir yildan ko'proq vaqt davomida reklama qilayotgan bo'lsangiz, unda siz 10-15 tani olishingiz mumkin. Aytgancha, so'rovlarning chastotasi haqida. Endi biz oxirgi qadamni qo'yishimiz kerak, bu sizga hatto past chastotali so'rovlar uchun ham ko'p trafikni jalb qilish imkonini beradi. №5 qadam - Tanlangan kalitlar uchun "dumlar" ni yig'ishKo'p marta isbotlangan va sinovdan o'tganidek, sizning saytingiz trafikning asosiy qismini asosiy kalit so'zlardan emas, balki "dumlar" deb ataladigan narsadan oladi. Bunda odam qidiruv satriga g'alati kalit so'rovlarni kiritadi, chastotasi oyiga 1-2 marta, lekin bunday so'rovlar juda ko'p. "Quyruq" ni ko'rish uchun Yandex-ga o'ting va qidiruv paneliga o'zingiz tanlagan kalit so'rovni kiriting. Bu erda siz taxminan nima ko'rasiz. Endi siz ushbu qo'shimcha so'zlarni alohida hujjatga yozib qo'yishingiz va ularni maqolangizda ishlatishingiz kerak. Bundan tashqari, ularni har doim asosiy kalitning yoniga qo'yishning hojati yo'q. Aks holda, qidiruv tizimlari "ortiqcha optimallashtirish" ni ko'radi va sizning maqolalaringiz qidiruv natijalariga tushadi. Faqat ularni maqolangizning turli joylarida ishlating, shunda siz ulardan ham qo'shimcha trafik olasiz. Shuningdek, asosiy kalit so'rovingiz uchun iloji boricha ko'proq so'z shakllari va sinonimlardan foydalanishga harakat qilishingizni tavsiya qilaman. Masalan, bizda so'rov bor - "Kontekstli reklamani o'rnatish". Buni qanday qayta shakllantirish mumkin:
Odamlar ma'lumotni qanday qidirishini hech qachon bilmaysiz. Ushbu qo'shimcha so'zlarning barchasini semantik yadroga qo'shing va matnlarni yozishda foydalaning. Shunday qilib, biz 100-150 ta asosiy so'rovlar ro'yxatini yig'amiz. Agar siz semantik yadroni birinchi marta yaratayotgan bo'lsangiz, bu sizga bir necha hafta vaqt olishi mumkin. Yoki uning ko'zlarini sindirish mumkinmi? Ehtimol, FL kompilyatsiyasini yaxshiroq va tezroq bajaradigan mutaxassislarga topshirish imkoniyati bormi? Ha, bunday mutaxassislar bor, lekin har doim ham ularning xizmatlaridan foydalanish shart emas. SY ga mutaxassislardan buyurtma berishga arziydimi?Umuman olganda, semantik yadroni tuzish bo'yicha mutaxassislar sizga bizning sxemamizdan faqat 1 - 3 bosqichlarni beradi. Ba'zan, katta qo'shimcha haq evaziga ular 4-5-bosqichlarni bajaradilar - (dumlarni yig'ish va so'rovlarning raqobatbardoshligini tekshirish). Shundan so'ng, ular sizga ko'proq ishlashingiz kerak bo'lgan bir necha ming asosiy so'rovlarni beradi. Va bu erda savol, siz maqolalarni o'zingiz yozmoqchimisiz yoki buning uchun kopirayterlarni yollaysizmi. Agar siz miqdorga emas, balki sifatga e'tibor qaratmoqchi bo'lsangiz, uni o'zingiz yozishingiz kerak. Ammo keyin kalitlar ro'yxatini olishning o'zi etarli bo'lmaydi. Sifatli maqola yozish uchun yaxshi tushunadigan mavzularni tanlashingiz kerak bo'ladi. Va bu erda savol tug'iladi - nima uchun bizga FL bo'yicha mutaxassislar kerak? Qabul qiling, asosiy kalitni tahlil qilish va aniq chastotalarni yig'ish (1-3-bosqichlar) unchalik qiyin emas. Bu sizga tom ma'noda yarim soat vaqt oladi. Eng qiyin narsa, past raqobatga ega bo'lgan HF so'rovlarini tanlashdir. Va endi, ma'lum bo'lishicha, sizga yaxshi maqola yozishingiz mumkin bo'lgan HF-NC kerak. Aynan mana shu narsa semantik yadro ustida ishlash uchun vaqtingizning 99 foizini oladi. Va hech qanday mutaxassis buni siz uchun qilmaydi. Xo'sh, bunday xizmatlarga buyurtma berish uchun pul sarflashga arziydimi? FL mutaxassislarining xizmatlari qachon foydali?Agar siz dastlab kopirayterlarni jalb qilishni rejalashtirmoqchi bo'lsangiz, bu boshqa masala. Keyin so'rov mavzusini tushunishingiz shart emas. Kopirayterlaringiz ham buni tushunmaydi. Ular shunchaki ushbu mavzu bo'yicha bir nechta maqolalarni olishadi va ulardan "o'z" matnini tuzadilar. Bunday maqolalar bo'sh, baxtsiz, deyarli foydasiz bo'ladi. Ammo ularning ko'pi bo'ladi. O'z kuchingiz bilan haftada ko'pi bilan 2-3 ta sifatli maqola yozishingiz mumkin. Kopirayterlar armiyasi esa sizga kuniga 2-3 ta bema'ni matnlarni taqdim etadi. Shu bilan birga, ular so'rovlar uchun optimallashtiriladi, ya'ni ular biroz trafikni jalb qiladi. Bunday holda, ha, xotirjamlik bilan FL mutaxassislarini yollang. Ular bir vaqtning o'zida kopirayterlar uchun texnik shartlarni ham tuzsinlar. Lekin tushunasiz, buning uchun ham biroz pul kerak bo'ladi. XulosaMa'lumotni mustahkamlash uchun maqoladagi asosiy fikrlarni yana bir bor ko'rib chiqamiz.
Umid qilamanki, bu ko'rsatma siz uchun foydali bo'ldi. Yo'qotmaslik uchun uni sevimlilaringizga saqlang va do'stlaringiz bilan baham ko'ring. Mening kitobimni yuklab olishni unutmang. U erda men sizga Internetdagi noldan birinchi milliongacha bo'lgan eng tezkor yo'lni ko'rsataman (10 yildan ortiq shaxsiy tajribaning xulosasi =) Ko'rishguncha! Hurmat bilan Dmitriy Novoselov Sotish generatoriO'qish vaqti: 14 daqiqa Biz sizga materialni yuboramiz: Ushbu maqoladan siz quyidagilarni bilib olasiz:
Semantik yadro har qanday Internet-resursning asosi, uni muvaffaqiyatli targ'ib qilish va maqsadli auditoriyani jalb qilishning kalitidir. Ushbu maqoladan veb-saytning semantik yadrosini qanday to'g'ri yaratish va qanday xatolardan qochish kerakligini bilib olasiz. Veb-saytning semantik yadrosi nima?Eng oddiy va shunga qaramay samarali usul saytingizga tashrif buyuruvchilarni jalb qiling - Yandex yoki Google qidiruv tizimidagi havolaga o'tish orqali ular o'zlari unga qiziqish bildirishlariga ishonch hosil qiling. Buning uchun siz maqsadli auditoriyangizni nima qiziqtirayotganini, foydalanuvchilar kerakli ma'lumotlarni qidirishda qanday va qanday so'zlardan foydalanishini aniqlashingiz kerak. Bunda sizga semantik yadro yordam beradi. Semantik yadro - bu sizning saytingiz mavzusi va tuzilishini tavsiflovchi alohida so'zlar yoki iboralar to'plami. Semantika asli filologiyaning soʻz maʼnosi bilan shugʻullanuvchi boʻlimidir. Hozirgi vaqtda u ko'proq ma'noni umumiy o'rganish sifatida tushuniladi. Shundan kelib chiqib, “semantik yadro” va “semantik yadro” tushunchalari sinonimdir, degan xulosaga kelishimiz mumkin. Saytning semantik yadrosini yaratishdan maqsad uni foydalanuvchilar uchun jozibador tarkib bilan to'ldirishdir. Buni amalga oshirish uchun siz saytingizda joylashtirilgan ma'lumotlarni qidirish uchun qanday kalit so'zlardan foydalanishini bilib olishingiz kerak. Arizangizni yuboring Saytning semantik yadrosini tanlash qidiruv so'rovlarini yoki so'rovlar guruhlarini sahifalar bo'ylab maqsadli auditoriyani eng yaxshi qoniqtiradigan tarzda tarqatishni o'z ichiga oladi. Bunga ikki yo'l bilan erishish mumkin. Birinchisi, foydalanuvchi qidiruv iboralarini tahlil qilish va ular asosida sayt tuzilishini yaratish. Ikkinchi yo'l - birinchi navbatda kelajakdagi sayt uchun skeletni o'ylab topish, keyin tahlildan so'ng uning atrofida kalit so'zlarni tarqatish. Har bir usul mavjud bo'lish huquqiga ega, ammo ikkinchisi mantiqiyroq: avval siz sayt strukturasini yaratasiz, so'ngra uni qidiruv so'rovlari bilan to'ldirasiz, bu orqali potentsial mijozlar qidiruv tizimlari orqali kerakli tarkibni topishlari mumkin. Shunday qilib, siz proaktivlik sifatini ko'rsatasiz - saytga tashrif buyuruvchilarga qanday ma'lumotlarni etkazishni mustaqil ravishda aniqlaysiz. Aks holda, kalit so'zlar asosida sayt tuzilishini yaratish orqali siz faqat atrofdagi haqiqatga moslashasiz. SEO mutaxassisi va marketolog tomonidan veb-saytning semantik yadrosini yaratish yondashuvi o'rtasida tub farq bor. Klassik optimallashtiruvchi sizga aytadi: veb-sayt yaratish uchun siz qidiruv so'rovlaridan qidiruv natijalarining TOP-ga chiqish uchun ishlatilishi mumkin bo'lgan iboralar va so'zlarni tanlashingiz kerak. Keyin, ularga asoslanib, kelajakdagi saytning tuzilishini shakllantiring va sahifalar o'rtasida kalit so'zlarni taqsimlang. Tanlangan kalit so'zlar uchun sahifa tarkibi yaratilgan. Marketolog yoki tadbirkor veb-sayt yaratish masalasiga boshqacha yondashadi. Birinchidan, u sayt nima uchun kerakligini, foydalanuvchilarga qanday ma'lumotlarni taqdim etishi haqida o'ylaydi. Keyin u saytning taxminiy tuzilishi va sahifalar ro'yxatini o'ylab topadi. Keyingi bosqichda u potentsial mijozlar ma'lumot qidirish uchun qanday qidiruv so'rovlaridan foydalanishini tushunish uchun saytning semantik yadrosini yaratadi. SEO mutaxassisi pozitsiyasidan semantik yadro bilan ishlashning qanday kamchiliklari bor? Avvalo, bunday yondashuv bilan saytdagi ma'lumotlarning sifati sezilarli darajada yomonlashadi. Kompaniya mijozlarga nima deyishni o'zi hal qilishi kerak va eng mashhur qidiruv so'rovlariga javoban tarkibni taqdim etmasligi kerak. Bunday ko'r-ko'rona optimallashtirish past chastotali ko'rsatkichlar bilan ba'zi istiqbolli so'rovlarni yo'q qilishga olib kelishi mumkin. Semantik yadroni yaratish natijasi sayt sahifalari bo'ylab tarqatiladigan kalit so'zlar ro'yxatidir. Ushbu ro'yxat sahifaning URL manzillarini, kalit so'zlarni va ularning so'rovlarining chastotasini ko'rsatadi. Saytning semantik yadrosiga misolVeb-saytning semantik yadrosini qanday yaratish mumkin: bosqichma-bosqich ko'rsatmalarQadam 1. So'rovlarning dastlabki ro'yxatini tuzingBirinchidan, siz saytingiz mavzusiga oid eng mashhur qidiruv so'rovlarini tanlashingiz kerak. Buni qanday qilishning ikkita varianti mavjud: 1. Aqliy hujum usuli- qisqa vaqt ichida siz yolg'iz yoki hamkasblaringiz bilan, sizning fikringizcha, foydalanuvchilar saytingizda joylashtirilgan ma'lumotlarni qidiradigan barcha so'z va iboralarni yozganingizda. Barcha mumkin bo'lgan variantlarni yozing, jumladan:
2. Raqobatchilaringizning veb-saytlarini tahlil qiling. Brauzeringizni mintaqangiz uchun inkognito rejimida oching. Mavzuingiz bo'yicha qidiruv natijalari sizga ko'rsatiladigan raqobatchilarning veb-saytlariga qarang. Barcha potentsial kalit so'zlarni toping. com va bukvarix.com xizmatlaridan foydalanib, raqobatchi veb-saytining semantik yadrosini aniqlashingiz mumkin. Kontekstli reklamalarni tahlil qiling. O'zingiz yoki maxsus xizmatlar yordamida (masalan, spywords.ru yoki advodka.com) boshqa birovning saytining semantik yadrosini o'rganing va raqobatchilar qanday kalit so'zlardan foydalanishini bilib oling. Barcha uchta yondashuvdan foydalanib, siz kalit so'zlarning juda katta ro'yxatini olasiz. Lekin bu hali ham samarali semantik yadro yaratish uchun etarli bo'lmaydi. Qadam 2. Olingan ro'yxatni kengaytiringUshbu bosqichda sizga Yandex.Wordstat va Google AdWords xizmatlari yordam beradi. Agar siz ushbu xizmatlardan birining qidirish satriga birinchi bosqichda yaratilgan kalitlar ro'yxatidan so'zlarni navbat bilan kiritsangiz, natijada siz aniqlangan va assotsiativ qidiruv so'rovlari ro'yxatini olasiz. Malakali so'rovlar sizning so'zingizdan tashqari boshqa so'zlarni yoki iboralarni ham o'z ichiga olishi mumkin. Misol uchun, agar siz “it” kalit so‘zini kiritsangiz, xizmat sizga ushbu so‘z bilan 11 115 538 ta so‘rov beradi, ular orasida “itlar suratlari”, “itlarni davolash”, “it zotlari” kabi so‘nggi oydagi so‘rovlar mavjud. Bog'langan so'rovlar foydalanuvchilar sizning so'rovingiz bilan birga qidirgan so'zlar yoki iboralardir. Masalan, “it” kalit so‘zi bilan bir vaqtda foydalanuvchilar “quruq ovqat”, “Royal Canin”, “Tibet mastifi” va boshqalarni kiritdilar. Ushbu qidiruv so‘rovlari siz uchun ham foydali bo‘lishi mumkin. Bundan tashqari, saytning semantik yadrosini yaratish uchun maxsus dasturlar mavjud, masalan: KeyCollector, SlovoEB va onlayn xizmatlar - Topvisor, serpstat.com va boshqalar. Ular nafaqat kalit so'zlarni tanlash, balki ularni tahlil qilish va guruhlash imkonini beradi. qidiruv so'rovlari. Kalitlar ro'yxatini iloji boricha kengaytirish uchun xizmatning qidiruv takliflari nimani ko'rsatayotganiga qarang. U erda siz bir xil harflar yoki so'zlar bilan boshlanadigan eng mashhur qidiruv so'rovlarini topasiz. Qadam 3. Keraksiz so'rovlarni olib tashlangQidiruv so'rovlarini turli yo'llar bilan tasniflash mumkin. So'rovlar chastotasiga qarab:
Ushbu tasnif juda shartli. So'rovni u yoki bu toifaga kiritish muayyan sayt mavzusiga bog'liq bo'ladi. So'nggi yillarda past chastotali so'rovlarda o'sish tendentsiyasi kuzatildi. Shuning uchun, veb-saytni targ'ib qilish uchun semantik yadro o'rta va past chastotali so'rovlarni o'z ichiga olishi kerak. Ular orasida raqobat kamroq, shuning uchun saytingizni qidiruv natijalarining birinchi sahifasiga ko'tarish yuqori chastotali so'rovlar bilan ishlashdan ko'ra ancha oson bo'ladi. Bundan tashqari, saytlar past chastotali kalit so'zlardan foydalanganda ko'plab qidiruv tizimlari buni mamnuniyat bilan qabul qiladi. Qidiruv so'rovlarining yana bir tasnifi qidiruv maqsadlariga asoslanadi:
Endi kalit so'zlar ro'yxatidan barcha keraksizlarni olib tashlash vaqti keldi:
Qadam 4. Raqobatbardosh so'rovlarni aniqlangVeb-sayt sahifalarida kalit so'zlarni samarali tarqatish uchun ularni ahamiyati bo'yicha filtrlashingiz kerak. Buning uchun kalit so'z samaradorligi indeksidan foydalaning - KEI (Kalit so'z samaradorligi indeksi). Hisoblash formulasi: KEI = P2/C, bu erda P - so'nggi oydagi kalit so'zning taassurotlari chastotasi; C - ma'lum bir qidiruv so'rovi uchun optimallashtirilgan saytlar soni. Formula shuni ko'rsatadiki, kalit so'z qanchalik mashhur bo'lsa, KEI qanchalik baland bo'lsa, saytingizga shunchalik ko'p maqsadli trafik jalb qilinadi. Qidiruv so'rovi uchun yuqori raqobat undagi saytni targ'ib qilishni qiyinlashtiradi, bu KEI qiymatida aks etadi. Shunday qilib, KEI qanchalik yuqori bo'lsa, qidiruv so'rovi shunchalik mashhur bo'ladi va aksincha: kalit so'z samaradorligi indeksi qanchalik past bo'lsa, u uchun raqobat shunchalik yuqori bo'ladi. Ushbu formulaning soddalashtirilgan o'zgarishi mavjud: KEI = P 2 / U, bu erda C o'rniga U ko'rsatkichi ishlatiladi - berilgan kalit so'z uchun optimallashtirilgan sahifalar soni. Keling, KEI kalit so'zining samaradorligi indeksidan qanday foydalanishni misol qilib ko'rib chiqaylik. Yandex Wordstat xizmatidan foydalangan holda so'rovlar chastotasini aniqlaymiz: Keyingi bosqichda bizni qiziqtirgan qidiruv soʻrovi boʻyicha soʻnggi bir oy davomida qidiruv natijalarida qancha sahifa borligini koʻrib chiqamiz. O'zgaruvchilarning topilgan qiymatlarini formulaga almashtiramiz va KEI kalit so'z samaradorligi indeksini hisoblaymiz: KEI = (206,146*206,146)/70,000,000 = 607 KEI qiymatlarini qanday baholash mumkin:
Shuni yodda tutingki, KEI kalit so'z samaradorligi indeksi qiymatlarining gradatsiyasi sayt mavzusi bilan belgilanadi. Shu sababli, berilgan qiymatlar shkalasini barcha Internet-resurslarga qo'llash mumkin emas, chunki ba'zilar uchun KEI > 400 qiymati etarli bo'lmasligi mumkin va yuqori ixtisoslashgan saytlar uchun bu tasnif umuman qo'llanilmaydi. Qadam 5. Saytdagi kalit so'zlarni guruhlashVeb-saytning semantik yadrosini klasterlash - qidiruv so'rovlarini mantiqiy sabablarga ko'ra va qidiruv tizimining natijalariga ko'ra guruhlash jarayoni. Guruhlashtirishni boshlashdan oldin, uni olib boradigan mutaxassis kompaniya va mahsulotning barcha nozik tomonlarini tushunishiga va ularning o'ziga xos xususiyatlarini bilishiga ishonch hosil qilish kerak. Bu ish qimmatga tushadi, ayniqsa ko'p sahifali Internet-resursni to'ldirishda. Ammo buni qo'lda qilish umuman shart emas. Siz Topvisor, Seranking.ru va boshqalar kabi maxsus xizmatlardan foydalangan holda saytning semantik yadrosini avtomatik ravishda klasterlashingiz mumkin. Ammo olingan natijalarni ikki marta tekshirish yaxshiroqdir, chunki dasturlar uchun kalitlarni guruhlarga bo'lish mantig'i siznikiga to'g'ri kelmasligi mumkin. Oxir-oqibat, siz saytning yakuniy tuzilishini olasiz. Endi siz qaysi sahifalarni yaratish kerakligini va qaysi birini yo'q qilishni aniq tushunasiz. Qanday hollarda raqobatchining veb-saytining semantik yadrosini tahlil qilish kerak?
Siz yangi loyiha ustida ishlayapsiz va saytning semantik yadrosini noldan yaratyapsiz. Buning uchun siz raqobatchilar o'z saytlarini targ'ib qilish uchun foydalanadigan kalit so'zlarni tahlil qilishga qaror qildingiz. Ko'pchilik sizga mos keladi, shuning uchun siz ularni semantik yadroni to'ldirish uchun ishlatasiz. Raqobatchilar faoliyat yuritadigan joyni ko'rib chiqishga arziydi. Agar siz kichik bozor ulushini egallashni rejalashtirmoqchi bo'lsangiz va sizning raqobatchilaringiz federal darajada ishlasa, unda siz ularning semantik yadrosini to'liq nusxa ko'chira olmaysiz.
Sizda reklama qilinishi kerak bo'lgan veb-saytingiz bor. Semantik yadro uzoq vaqt oldin shakllangan, ammo u samarali ishlamaydi. Saytni optimallashtirish, qayta qurish va trafikni oshirish uchun yangilash kerak. Qayerdan boshlash kerak? Birinchi qadam ixtisoslashgan xizmatlardan foydalangan holda raqobatdosh saytlarning semantik yadrosini tahlil qilishdir. Raqobatchilar saytlaridagi kalit so'zlarni eng samarali tarzda qanday ishlatish mumkin? Mana bir necha oddiy qoidalar. Birinchidan, saytingiz va boshqa Internet manbalari kalitlari o'rtasidagi moslik foizini ko'rib chiqing. Agar sizning saytingiz hali rivojlanish bosqichida bo'lsa, unda har qanday raqobatdosh saytni tanlang, uni tahlil qiling va semantik yadrongizni yaratish uchun kalit so'zlardan foydalaning. Kelajakda siz mos yozuvlar kalitlaringiz raqobatchilar saytlari kalitlari bilan qanchalik mos kelishini shunchaki solishtirasiz. Eng oson yo'li - barcha raqobatdosh saytlar ro'yxatini yuklab olish va ularni kesishish foizi bo'yicha filtrlash uchun xizmatdan foydalanish. Keyin birinchi bir nechta saytlarning semantik yadrolarini Excel yoki Key Collector-ga yuklab olishingiz va saytingizning semantik yadrosiga yangi kalit so'zlarni qo'shishingiz kerak. Ikkinchidan, kalitlarni donor saytidan nusxalashdan oldin, uni vizual tekshirishni unutmang.
Bir misol keltiraylik: siz ma'lum bir veb-saytni sotib olmoqchisiz, lekin yakuniy qaror qabul qilishdan oldin uning imkoniyatlarini baholashingiz kerak. Buning eng oson yo'li semantik yadroni o'rganishdir, shuning uchun siz saytning joriy qamrovini raqobatchilarning saytlari bilan solishtirishingiz mumkin. Standart sifatida, eng kuchli raqobatchini oling va uning ko'rinish ko'rsatkichlarini sotib olishni rejalashtirgan Internet-resurs natijalari bilan solishtiring. Agar mos yozuvlar saytidan orqada qolish sezilarli bo'lsa, bu yaxshi belgidir: bu sizning saytingiz semantik yadrosini kengaytirish va yangi trafikni jalb qilish potentsialiga ega ekanligini anglatadi. Maxsus xizmatlar orqali raqobatchilarning semantik yadrosini tahlil qilishning ijobiy va salbiy tomonlariBoshqa odamlarning saytlarida kalit so'zlarni aniqlash bo'yicha ko'plab xizmatlarning ishlash printsipi quyidagicha:
Ushbu yondashuvning kamchiliklari:
Shunday qilib, xizmat saytning asosini tashkil etuvchi haqiqiy semantik yadroni emas, balki uning kichik ko'rinadigan qismini tashkil qiladi. Yuqoridagilarga asoslanib, quyidagi xulosalar chiqarish mumkin:
Raqobatchilaringizning semantik yadrosini bilib olishingiz mumkin bo'lgan TOP 3 ta pullik xizmatlarMegaindex Premium AnalyticsUshbu xizmat raqobatdosh saytlarning semantik yadrosini tahlil qilish uchun boy arsenalga ega. Moduldan foydalanish "Saytning ko'rinishi" siz asosiy iboralar ro'yxatini topishingiz va yuklab olishingiz, saytingizning semantik yadrosini kengaytirish uchun ishlatilishi mumkin bo'lgan o'xshash mavzularga ega saytlarni aniqlashingiz mumkin. Megaindex Premium Analytics-ning kamchiliklaridan biri bu dasturning o'zida kalitlar ro'yxatini filtrlashning mumkin emasligi, avval ularni Excelga yuklab olishingiz kerak. Xizmatning qisqacha tavsifi: Keys.soKeys.so xizmatidan foydalangan holda semantik yadroni tahlil qilish uchun siz raqobatchi saytning URL manzilini kiritishingiz, mos keladigan kalit iboralar soniga qarab mos saytlarni tanlashingiz, ularni tahlil qilishingiz va ular uchun qidiruv so'rovlari ro'yxatini yuklab olishingiz kerak. ko'tarilgan. Xizmat buni oson va sodda qiladi. Yaxshi bonus - bu dasturning zamonaviy interfeysi. Kamchiliklari: qidiruv iboralari ma'lumotlar bazasining kichik o'lchami, ko'rinishni yangilash chastotasining etarli emasligi. Xizmatning qisqacha tavsifi: Spywords.ruUshbu xizmat nafaqat ko'rinishni tahlil qiladi, balki Yandex.Direct'dagi reklamalar bo'yicha statistik ma'lumotlarni ham taqdim etadi. Avvaliga spywords.ru interfeysini tushunish qiyin, u funksionallik bilan haddan tashqari yuklangan, ammo umuman olganda u o'z vazifasini yaxshi bajaradi. Xizmatdan foydalanib, siz raqobatdosh saytlarni tahlil qilishingiz, asosiy iboralar bo'yicha kesishmalarni aniqlashingiz va raqobatchilarning kalitlari ro'yxatini yuklab olishingiz mumkin. Asosiy kamchilik - bu xizmat bazasining etarli emasligi (taxminan 23 million qidiruv iboralari). Xizmatning qisqacha tavsifi: Rahmat maxsus dasturlar veb-saytlar va ularning semantik yadrolari endi siz uchun sir emas. Sizni qiziqtirgan har qanday raqobatbardosh Internet resurslarini osongina tahlil qilishingiz mumkin. Qabul qilingan ma'lumotlardan foydalanish bo'yicha ba'zi maslahatlar:
Internetda noldan veb-saytning semantik yadrosini yaratishga yordam beradigan 7 ta xizmatGoogle kalit so'zni rejalashtiruvchiAgar siz veb-saytning semantik yadrosini qanday yaratish haqida o'ylayotgan bo'lsangiz, ushbu xizmatga e'tibor bering. U nafaqat Runet-da, balki AdWords ishlaydigan boshqa segmentlarda ham qo'llanilishi mumkin. Google AdWords-ni oching. IN yuqori panel Bobda "Asboblar" parametr ustiga bosing Kalit so'zni rejalashtiruvchi. Bo'limni tanlashingiz kerak bo'lgan yangi menyu paydo bo'ladi "Yangi kalit so'zlarni ibora, sayt yoki toifa bo'yicha qidiring." Bu erda siz quyidagi sozlamalarni sozlashingiz mumkin:
Keyin tugmani bosing "Variantlar olish" Keyin Google AdWords sizga kalit so'z yoki ibora uchun mumkin bo'lgan sinonimlarni beradi. Qabul qilingan ma'lumotlarni Google hujjatlariga yoki CSV-ga yuklash mumkin. Google AdWords xizmatidan foydalanishning afzalliklari:
Xizmatning asosiy kamchiligi: agar sizda bepul hisob qaydnomangiz bo'lsa, Google AdWords qidiruv so'rovlarining chastotasi bo'yicha noto'g'ri ma'lumotlarni taqdim etadi. Xato shunchalik muhimki, saytni targ'ib qilishda ushbu ko'rsatkichlarga tayanib bo'lmaydi. Yechim pulli hisobga kirishni sotib olish yoki boshqa xizmatdan foydalanishdir. SerpstatUshbu xizmat sizga kalit so'zlar va veb-sayt domenlari bo'yicha foydalanuvchi qidiruv so'rovlarini har tomonlama to'plash imkonini beradi. Serplast doimiy ravishda mintaqaviy ma'lumotlar bazalari sonini kengaytirmoqda. Xizmat sizning veb-saytingizning asosiy raqobatchilarini aniqlash, ular targ'ib qilinadigan qidiruv iboralarini aniqlash va keyinchalik Internet-resursingizning semantik yadrosida foydalanish uchun ularning ro'yxatini yaratish imkonini beradi. Serplast xizmatining afzalliklari:
Serplast xizmatining kamchiliklari:
Kalit yig'uvchiUshbu xizmat nafaqat saytning semantik yadrosini qanday yig'ish masalasini tushunishga, balki uni kengaytirish, tozalash va klasterlash muammosini hal qilishga yordam beradi. Key Collector qidiruv so'rovlarini to'plashi, tanlangan hududlarda ularning chastotasi darajasi haqida ma'lumotlarni taqdim etishi va semantik ishlov berishni amalga oshirishi mumkin. Dastur boshlang'ich ro'yxatlar yordamida kalit iboralarni qidiradi. U turli formatdagi ma'lumotlar bazalari bilan ishlash uchun ishlatilishi mumkin. Key Collector Serpstat, Yandex Wordstat va boshqa xizmatlardan yuklab olingan ma'lumotlardan kalit so'zlarning chastotasini ko'rsatishi mumkin. SemrushSemrush dasturida veb-saytning semantik yadrosini yaratish sizga mutlaqo bepul xarajat qiladi. Ammo siz tanlangan mintaqa uchun ularning chastotasi haqidagi ma'lumotlar bilan 10 dan ortiq asosiy so'rovlarni olasiz. Bundan tashqari, xizmatdan foydalanib, boshqa mintaqalardagi foydalanuvchilar kalit so'z uchun qanday boshqa qidiruv so'rovlarini kiritishlarini bilib olishingiz mumkin. Semrush xizmatining afzalliklari:
Semrush xizmatining kamchiliklari:
KeywordtoolUshbu xizmat xorijiy internet resurslaridan saytning semantik o'zagi uchun kalit iboralarni keng ko'lamda to'plash imkonini beradi. Keywordtool shuningdek, asosiy kalitni o'z ichiga olgan qidiruv bo'yicha maslahatlar va iboralarni tanlash imkonini beradi. Agar siz dasturning bepul versiyasidan foydalansangiz, unda bir seansda siz 1000 dan ortiq qidiruv iboralarini ularning chastotasi darajasi to'g'risida ma'lumotsiz olishingiz mumkin. Keywordtool xizmatining afzalliklari:
Keywordtool xizmatining kamchiliklari:
UbersuggestUbersuggest xizmatidagi saytning semantik yadrosi dunyoning deyarli istalgan mamlakati foydalanuvchilarining istalgan tildagi qidiruv so‘rovlari asosida yaratilishi mumkin. Agar siz bepul versiyadan foydalansangiz, har bir so'rov uchun 750 tagacha qidiruv iboralarini olasiz. Xizmatning afzalligi - prefiksni hisobga olgan holda kalit so'zlar ro'yxatini alifbo tartibida tartiblash imkoniyatidir. Barcha qidiruv so'rovlari avtomatik ravishda guruhlanadi, bu saytning semantik yadrosini shakllantirishda ular bilan ishlashni osonlashtiradi. Ubersuggest-ning kamchiliklari sifatida biz dasturning bepul versiyasida qidiruv so'rovlarining chastotasi va kalit so'z sinonimlari bo'yicha qidirishning mumkin emasligi haqidagi noto'g'ri ma'lumotlarni ajratib ko'rsatishimiz mumkin. Ahrefs kalit so'zlar ExplorerUshbu xizmat sizning semantik yadroingiz uchun kalit so'zlarni chastota darajasini hisobga olgan holda tanlangan mintaqada keng, ibora va aniq mosliklarda to'plashi mumkin. Salbiy kalit so'zlarni tanlash va asosiy kalit so'zlaringiz uchun Google-da TOP qidiruv natijalarini ko'rish imkoniyati mavjud. Ahrefs Keywords Explorer-ning asosiy kamchiliklari shundaki, dasturning faqat pullik versiyasi mavjud va ma'lumotlarning aniqligi ma'lumotlar bazalarining dolzarbligi darajasiga bog'liq. Veb-saytning semantik yadrosini yaratish bo'yicha tez-tez so'raladigan savollar
Bu savolga aniq javob yo'q. Bularning barchasi saytning o'ziga xos xususiyatlariga, uning tuzilishiga va raqobatchilarning harakatlariga bog'liq. Kalitlarning optimal soni individual ravishda aniqlanadi.
Internetda siz tematik kalit ma'lumotlar bazalari bilan ko'plab turli manbalarni topishingiz mumkin. Masalan, Pastukhov Base, UP Base, Mutagen, KeyBooster va boshqalar. Bu bunday manbalardan foydalanishga arzimaydi, degani emas. Bunday ma'lumotlar bazalarida veb-saytni ilgari surish uchun foydali bo'lgan qidiruv so'rovlarining muhim arxivlari mavjud. Lekin raqobat va kalitlarning dolzarbligi kabi ko'rsatkichlar haqida unutmang. Shuni ham yodda tutingki, sizning raqobatchilaringiz ham tayyor ma'lumotlar bazalaridan foydalanishi mumkin. Bunday manbalarning yana bir kamchiligi - siz uchun mazmunli bo'lgan asosiy iboralarni yo'qotish ehtimoli.
Semantik yadro yaratish uchun tanlangan asosiy iboralar tegishli xaritani yaratish uchun ishlatiladi. U saytni targ'ib qilish uchun zarur bo'lgan sarlavha, tavsif teglari va h1-h6 sarlavhalarini o'z ichiga oladi. Kalitlar, shuningdek, veb-sayt sahifalari uchun SEO matnlarini yozish uchun asos sifatida ishlatiladi.
Bu quyidagi hollarda tavsiya etiladi:
Veb-sayt uchun semantik yadroni yig'ishda 5 ta keng tarqalgan xato
Yoki saytning semantik yadrosini tuzishga buyurtma berish yaxshiroqmi?Siz biz aytib o'tgan bepul xizmatlardan foydalanib, o'zingiz semantik yadro yaratishga harakat qilishingiz mumkin. Masalan, Google Keyword Planner sizga yaxshi natijalar berishi mumkin. Ammo agar siz katta, yuqori sifatli semantik yadro yaratishga qiziqsangiz, bu xarajat qismini byudjetingizda rejalashtiring. O'rtacha, veb-saytning semantik yadrosini ishlab chiqish 30 dan 70 ming rublgacha turadi. Esingizda bo'lsa, yakuniy narx biznes mavzusiga va qidiruv so'rovlarining optimal soniga bog'liq. Cho'chqani cho'chqaga sotib olmaslik uchunYuqori sifatli semantik yadro arzon bo'lmaydi. Ijrochi bu ishni tushunganiga va hamma narsani yuqori darajada bajarishiga ishonch hosil qilish uchun undan bitta so'rov uchun test semantikasini to'plashni so'rang. Bu odatda bepul amalga oshiriladi. Olingan natijalarni tekshirish uchun Mutagen orqali kalitlar ro'yxatini ishga tushiring va ularning qanchasi yuqori chastotali va past raqobatbardosh ekanligini tahlil qiling. Ko'pincha ijrochilar ro'yxatlarni ko'p sonli kalit iboralar bilan ta'minlaydilar, ularning aksariyati keyingi foydalanish uchun mutlaqo yaroqsiz. Massiv ( => 21 [~ID] => 21 => 28.09.2019 13:01:03 [~TIMESTAMP_X] => 28.09.2019 13:01:03 => 1 [~MODIFIED_BY] => 1 => 09.21. 2019 10:35:17 [~DATE_CREATE] => 21/09/2019 10:35:17 => 1 [~CREATED_BY] => 1 => 6 [~IBLOCK_ID] => 6 => [~IBLOCK_SECTION_ID] => => Y [~FAOL] => Y => Y [~GLOBAL_FAOLI] => Y => 500 [~SORT] => 500 => Dmitriy Svistunov [~NAME] maqolalari => Dmitriy Svistunov maqolalari => 11076 [ ~PICTURE] = > 11076 => 7 [~CHAP_CHORI] => 7 => 8 [~RIGHT_MARGIN] => 8 => 1 [~CHUKURLIK_LEVEL] => 1 => Dmitriy Svistunov [~TASFRI] => Dmitriy Svistunov => text [~DESCRIPTION_TYPE ] => text => Dmitriy Svistunov maqolalari Dmitriy Svistunov [~SEARCHABLE_CONTENT] => Dmitriy Svistunov maqolalari Dmitriy Svistunov => statyi-dmitriya-svistunova [~CODE] => statyi-dmitriya-s => statyi-dmitriya-s XML_ID] => => [~TMP_ID] => => [~DETAIL_PICTURE] => => [~SOCNET_GROUP_ID] => => /blog/index.php?ID=6 [~LIST_PAGE_URL] => /blog/index .php?ID=6 => /blog/list.php?SECTION_ID=21 [~SECTION_PAGE_URL] => /blog/list.php?SECTION_ID=21 => blog [~IBLOCK_TYPE_ID] => blog => blog [~IBLOCK_CODE ] => blog => [~IBLOCK_EXTERNAL_ID] => => [~EXTERNAL_ID] =>) Hammaga salom! Bugungi maqola semantik yadroni (SC) qanday qilib to'g'ri yig'ishga bag'ishlangan. Agar siz Google va Yandex-da SEO targ'iboti bilan shug'ullansangiz, tabiiy trafikni ko'paytirishni, veb-saytlar trafigini va savdoni oshirishni xohlasangiz - bu material siz uchun. Haqiqatning tubiga o'tish uchun biz "A dan Z gacha" mavzuni o'rganamiz: Xulosa qilib, keling, SL tuzishning umumiy qoidalarini ko'rib chiqaylik. Shunday ekan, boshlaylik! Semantik yadro: bu nima va so'rovlar qanday?Saytning semantik yadrosi (shuningdek, "semantik yadro" deb ham ataladi) resursning tuzilishi va mavzusiga to'liq mos keladigan so'zlar va iboralar to'plamidir. Oddiy qilib aytganda, bu foydalanuvchilar Internetda sayt topishlari mumkin bo'lgan so'rovlardir. Bu qidiruv tizimlari va tomoshabinlarga resursda taqdim etilgan ma'lumotlarning to'liq rasmini beradigan to'g'ri semantik yadrodir. Misol uchun, agar kompaniya tayyor otkritkalarni sotsa, u holda semantik yadro quyidagi so'rovlarni o'z ichiga olishi kerak: "postcarta sotib olish", "postcarta narxi", "maxsus otkritka" va boshqalar. Ammo emas: "qanday qilib otkritka yasash kerak", "o'z qo'lingiz bilan otkritka qilish", "uy qurilish otkritkalari". Bilish qiziq: LSI kopirayterligi. Texnika SEO o'rnini bosadimi? So'rovlarni chastota bo'yicha tasniflash:
Shuni ta'kidlash kerakki, HFni SY va LF dan ajratib turadigan aniq chegaralar yo'q, chunki ular mavzuga qarab farqlanadi. Masalan, "origami" so'rovi uchun RF ko'rsatkichi oyiga 600 ming taassurotni, "kosmetika" uchun esa 3,5 millionni tashkil qiladi. Agar biz kalitning anatomiyasiga murojaat qiladigan bo'lsak, unda yuqori chastota faqat tanadan iborat, o'rta va past chastotalar aniqlovchi va "dum" bilan to'ldiriladi. Semantik yadroni shakllantirishda siz barcha turdagi chastotalarni ishlatishingiz kerak, lekin har xil nisbatda: minimal HF, maksimal LF va o'rtacha MF miqdori. Aniqroq bo'lishi uchun daraxtga o'xshatishni keltiramiz. Magistral hamma narsa tayanadigan eng muhim so'rovdir. Magistralga yaqinroq joylashgan qalin novdalar o'rta chastotali kalitlar bo'lib, ular ham mashhur, ammo HF kabi mashhur emas. Yupqa shoxchalar past chastotali so'zlar bo'lib, ular kerakli mahsulot/xizmatni qidirish uchun ham ishlatiladi, lekin kamdan-kam hollarda. Raqobatbardoshlik bo'yicha kalitlarni ajratish:
Ushbu mezon ushbu so'rov reklama uchun qancha veb-resursdan foydalanishini ko'rsatadi. Bu erda hamma narsa oddiy: kalitning raqobatbardoshligi qanchalik baland bo'lsa, u bilan birinchi o'ntalikka kirish va qolish shunchalik qiyin bo'ladi. Past raqobatbardoshlari ham e'tiborga loyiq emas, chunki ular tarmoqda unchalik mashhur emas. Ideal variant - bu IC so'rovlari bo'yicha oldinga siljish, uning yordamida siz barqaror biznes sohasida birinchi o'rinni egallashingiz mumkin. Foydalanuvchilarning ehtiyojlariga ko'ra so'rovlarni tasniflash:
Qolgan kalit so'zlar, agar foydalanuvchining niyatini tushunish qiyin bo'lsa, "Boshqa" guruhiga bo'linadi (masalan, faqat "postcarta" so'zi ko'p savollar tug'diradi: "Sotib olish? Yarating? Chizish?"). Nima uchun veb-saytga semantik yadro kerak?Semantik yadroni yig'ish - bu ko'p vaqt, kuch va sabr-toqatni talab qiladigan mashaqqatli ish. Ikki daqiqada ishlaydigan to'g'ri sintaksisni yaratish mumkin bo'lmaydi. Bu erda mutlaqo o'rinli savol tug'iladi: hatto sayt uchun semantik yadroni tanlash uchun kuch sarflashga arziydimi? Agar siz Internet-loyihangiz mashhur bo'lishini istasangiz, doimiy ravishda mijozlar bazasini ko'paytiring va shunga mos ravishda kompaniya daromadini oshiring, javob aniq: "HA". Chunki semantik yadroni yig'ish yordam beradi:
Semantik yadrodan yana qanday foydalanishingiz mumkin? To'g'ri kontent rejasini yaratish uchun. To'g'ri to'plangan kalitlar sizning maqsadli auditoriyangizni qiziqtiradigan matnlar va postlar uchun mavzularni taklif qiladi. Xulosa. SYsiz qiziqarli, ommabop va foydali Internet loyihasini yaratish deyarli MUMKIN EMAS. Mavzu bo'yicha material: Sayt uchun semantik yadroni yig'ishga tayyorgarlikSaytning semantik yadrosini yaratishdan oldin siz quyidagi amallarni bajarishingiz kerak: I. Kompaniya faoliyatini o'rganish (“aqliy hujum”)Bu erda tashkilot taklif qiladigan barcha xizmatlar va tovarlarni yozish muhimdir. Misol uchun, onlayn mebel do'koni uchun semantik yadro to'plash uchun siz quyidagi so'rovlardan foydalanishingiz mumkin: divan, kreslo, to'shak, koridor, kabinet + tiklash, ta'mirlash. Bu erda asosiy narsa hech narsani o'tkazib yubormaslik va keraksiz narsalarni qo'shmaslikdir. Faqat tegishli ma'lumotlar, ya'ni. Agar kompaniya puf sotmasa yoki mebelni ta'mirlamasa, bu so'rovlar kerak emas. Aqliy hujumdan tashqari siz Google Analytics va Yandex.Metrika xizmatlaridan (1-rasm) yoki Google Search Console va Yandex Webmaster-dagi shaxsiy hisoblardan foydalanishingiz mumkin (2-rasm). Ular sizga qaysi so'rovlar maqsadli auditoriyangiz orasida eng mashhurligini aytib berishadi. Bunday yordam faqat allaqachon ishlayotgan saytlarda mavjud. Yordam uchun matnlar:
II. Raqobatchi saytning semantik yadrosini tahlil qilish uchun:
Semantik yadroni kengaytirishning yana bir samarali usuli sinonimlardan foydalanishdir. Foydalanuvchilar bir xil mahsulot yoki xizmatni turli yo'llar bilan qidirishlari mumkin, shuning uchun TLga barcha muqobil kalitlarni kiritish muhimdir. Google va Yandex-dagi maslahatlar sinonimlarni topishga yordam beradi. Maslahat. Agar sayt ma'lumotli bo'lsa, avval siz ushbu resurs uchun asosiy bo'lgan va reklama rejalashtirilgan so'rovlarni tanlashingiz kerak. Va keyin - mavsumiy. Masalan, kiyimdagi moda tendentsiyalari haqidagi veb-loyiha uchun asosiy so'rovlar: moda, ayollar, erkaklar, bolalar. Va, aytganda, "mavsumiy" - kuz, qish, bahor va boshqalar. Semantik yadroni qanday yig'ish kerak: batafsil ko'rsatmalarSaytingiz uchun so'rovlar ro'yxatiga qaror qilib, siz semantik yadroni yig'ishni boshlashingiz mumkin. Buni amalga oshirish mumkin: I. BEPUL foydalanish: Wordstat YandexYandex Wordstat - bu juda mashhur onlayn xizmat bo'lib, uning yordamida siz:
Katta kamchilik: kalitlarni qo'lda "tushirish" kerak. Ammo kengaytmani o'rnatsangiz Yandex Wordstat yordamchisi, semantik yadro bilan ishlash sezilarli darajada tezlashadi (Opera brauzeri uchun tegishli). Foydalanish oson: kerakli tugma yonidagi "+" tugmasini bosing yoki "hammasini qo'shish" tugmasini bosing. So'rovlar avtomatik ravishda kengaytmalar ro'yxatiga o'tkaziladi. CNni yig'ib bo'lgach, uni jadval muharririga o'tkazishingiz va uni qayta ishlashingiz kerak. Dasturning muhim afzalliklari: dublikatlarni tekshirish, saralash (alifbo, chastota, qo'shish), kalitlarni qo'lda qo'shish imkoniyati. Xizmatdan foydalanish bo'yicha bosqichma-bosqich ko'rsatmalar maqolada keltirilgan: Yandex. Wordstat: asosiy so'rovlarni qanday yig'ish mumkin? Google reklamalariGoogle-dan kalit so'zni rejalashtiruvchi, bu sizga semantik yadroni onlayn ravishda bepul tanlash imkonini beradi. Xizmat Google qidiruv tizimi foydalanuvchilarining so‘rovlari asosida kalit so‘zlarni topadi. Ishlash uchun sizda Google hisobi bo'lishi kerak. Xizmat taklif qiladi:
Semantik yadroni to'plash uchun siz joyni va tilni tanlab, so'rovni kiritishingiz kerak. Dastur oyiga o'rtacha so'rovlar sonini va raqobat darajasini ko'rsatadi. Shuningdek, sahifaning yuqori qismida reklama taassurotlari va reklamani ko'rsatish taklifi haqida ma'lumot mavjud. Agar kerak bo'lsa, siz raqobat, o'rtacha pozitsiya va boshqa mezonlar bo'yicha filtr o'rnatishingiz mumkin. Hisobot so'rash ham mumkin ( bosqichma-bosqich ko'rsatmalar Dastur buni qanday qilishni ko'rsatadi). Trafik prognozini o'rganish uchun "So'rovlar va prognozlar sonini ko'rish" oynasiga so'rov yoki kalitlar to'plamini kiritish kifoya. Ma'lumotlar ma'lum bir byudjet va stavka bo'yicha strategik rejaning samaradorligini aniqlashga yordam beradi. Xizmatning "kamchiliklari" quyidagilarni o'z ichiga oladi: aniq chastota yo'q (faqat oy uchun o'rtacha); shifrlangan Yandex kalitlarini ko'rsatmaydi va ba'zilarini Google'dan yashiradi. Lekin bu raqobatni aniqlaydi va Excel formatida kalit so'zlarni eksport qilish imkonini beradi. SlovoEBBu Key Collector-ning bepul versiyasi bo'lib, u juda ko'p foydali xususiyatlarga ega:
Xizmatdan foydalanish uchun Direct-ga hisob ma'lumotlarini kiritish kifoya (login va parol). Agar siz ko'proq bilmoqchi bo'lsangiz, maqolani o'qing: Slovoeb (Slovoeb). Foydalanish uchun asoslar va ko'rsatmalar BukvariklarMa'lumotlar bazasi 2 milliarddan ortiq so'rovlarni o'z ichiga olgan semantik yadroni to'plash uchun ishlatish uchun qulay va bepul dastur. U operatsion ishlashi, shuningdek foydali xususiyatlari bilan ajralib turadi:
O'rnatish dasturining yagona muhim kamchiligi uning katta "og'irligi" (ziplangan formatda ≈ 28 GB, ochilmagan formatda ≈ 100 GB). Ammo alternativa bor - SYS-ni onlayn tanlash. II. Dasturlardan foydalangan holda TO'LIB: Maksim Pastuxovning asosiYandex WordStat va Direct ma'lumotlariga ega 1,6 milliarddan ortiq kalit so'zlardan iborat ma'lumotlar bazasini o'z ichiga olgan rus xizmati, shuningdek, 600 milliondan ortiq so'zni o'z ichiga olgan ingliz xizmati. U onlayn ishlaydi va nafaqat semantik yadro yaratishda, balki Yandex.Direct-da reklama kampaniyasini boshlashda ham yordam beradi. Uning eng muhim va muhim kamchiligini ishonch bilan uning yuqori narxi deb atash mumkin. Kalit yig'uvchiEhtimol, semantik yadroni yig'ish uchun eng mashhur va qulay vosita. Kalit yig'uvchi:
Kay Collector semantik yadroni qanday qilib bepul to'plashini demo versiyasida baholashingiz mumkin. Rush AnalyticsSemantik yadroni to'plash va klasterlash mumkin bo'lgan xizmat. Bundan tashqari, Rush Analytics:
Ajoyib vosita, lekin pulli: demo versiyasi yo'q va cheklangan bepul tekshiruvlar. MutagenDastur Yandex qidiruv tizimidagi dastlabki 30 ta saytdan asosiy so'rovlarni to'playdi. Oyiga chastotani, har bir qidiruv so'rovining raqobatbardoshligini ko'rsatadi va 5 gacha ko'rsatkichli so'zlardan foydalanishni tavsiya qiladi (chunki bunday kalit so'zlarni samarali targ'ib qilish uchun yuqori sifatli kontent etarli). Foydali maqola: veb-sayt uchun 8 turdagi matnlar - to'g'ri yozing Semantik yadroni yig'ish uchun pullik dastur, ammo bepul chegara mavjud - kuniga 10 ta chek (byudjetni birinchi marta to'ldirgandan so'ng, kamida 1 rubldan keyin mavjud). Faqat ro'yxatdan o'tgan foydalanuvchilar uchun ochiq. Kalit so'z vositasiSemantik yadro yaratish uchun ishonchli xizmat:
Dastur ro'yxatdan o'tishni talab qilmaydi. Taqdim etilgan vositalardan tashqari, batafsil video sharhlar va misollar bilan saytning semantik yadrosini to'plash uchun boshqa ko'plab xizmatlar mavjud. Men bularga qaror qildim, chunki ular eng samarali, sodda va qulay deb o'ylayman. Xulosa. Iloji bo'lsa, pullik dasturlardan foydalanish uchun litsenziyalarni sotib olish tavsiya etiladi, chunki ular bepul hamkasblariga qaraganda ancha kengroq funktsiyalarga ega. Ammo oddiy CN yig'ish uchun "ochiq" xizmatlar ham juda mos keladi. Semantik yadroning klasterlanishiTayyor semantik yadro, qoida tariqasida, ko'plab kalit so'zlarni o'z ichiga oladi (masalan, "yumshoq mebel" so'rovi uchun xizmatlar bir necha ming so'zni qaytaradi). Bunday katta miqdordagi kalit so'zlar bilan keyin nima qilish kerak? Yig'ilgan kalitlar kerak: I. “Axlat”, dublikat va “qo‘g‘irchoqlar”ni tozalangNol chastotali yoki xatolarga ega bo'lgan so'rovlar oddiygina o'chiriladi. Keraksiz "dumlar" bilan kalitlarni yo'q qilish uchun men foydalanishni tavsiya qilaman Excel funktsiyasi"Saralash va filtrlash". Nimani axlat deb hisoblash mumkin? Masalan, tijorat sayti uchun "yuklab olish", "bepul" kabi so'zlar ortiqcha bo'ladi.Dublikatlarni Excelda "dublikatlarni o'chirish" opsiyasi yordamida avtomatik ravishda olib tashlash ham mumkin (quyidagi misollarga qarang). Biz nol chastotali kalitlarni olib tashlaymiz: Keraksiz "dumlarni" olib tashlash: Dublikatlardan xalos bo'lish: II. Yuqori raqobatbardosh so'rovlarni olib tashlangAgar siz "yo'lingiz" yuqoriga ko'p yillar davom etishini xohlamasangiz, VK kalitlarini istisno qiling. Bunday kalit so'zlar bilan qidiruv natijalarida birinchi o'rinlarni egallashning o'zi kifoya qilmaydi, ammo muhimroq va qiyinroq narsa - bu erda qolishga harakat qilishdir. Google-dan kalit so'zni rejalashtiruvchi orqali VK-kalitlarni qanday aniqlashga misol (siz faqat NK va SK-ni filtr orqali qoldirishingiz mumkin): III. Semantik yadroni ajratishni bajaringBuni ikki usulda qilishingiz mumkin: 1. TO'LLANGAN:
Ushbu xizmatlardan tashqari, men ham tavsiya qilishim mumkin Rush Analytics, biz allaqachon yuqorida uchrashgan va Shunchaki sehrli. Rush Analytics: Faqat sehr: 2. BEPUL:
1-qadam 2-qadam 3-qadam 4-qadam Guruhlanmagan semantik yadroga misol:
Semantik yadroni qanday klasterlash va qanday usullardan foydalanish sizga bog'liq. Sizga kerak bo'lgan usulni faqat qo'lda qilish mumkinligiga ishonaman. Bu uzoq, ammo samarali. Semantik yadroni bo'limlarga to'plash va taqsimlashdan so'ng siz sahifalar uchun matn yozishni boshlashingiz mumkin. Tegishli maqolani misollar bilan o'qing: Matnga kalit so'zlarni qanday to'g'ri kiritish kerak? FL yaratish uchun umumiy qoidalarXulosa qilib aytganda, to'g'ri semantik yadroni yig'ishga yordam beradigan maslahatlarni qo'shish muhimdir:
Va eng muhimi: saytdagi hamma narsa (kalitlardan tuzilmagacha) "odamlar uchun" bajarilishi kerak! Xulosa. Yaxshi yig'ilgan semantik yadro saytni tezda targ'ib qilish va qidiruv natijalarida yuqori o'rinlarda turish uchun haqiqiy imkoniyat beradi. Agar siz to'g'ri semantik tilni yig'ishingiz mumkinligiga shubha qilsangiz, sayt uchun semantik yadroni professionallardan buyurtma qilish yaxshiroqdir. Bu energiya, vaqtni tejaydi va ko'proq foyda keltiradi. Bundan tashqari, bilish qiziqarli bo'ladi: maqolani indekslashni qanday joylashtirish va tezlashtirish kerak? Muvaffaqiyatning 5 ta siri Ana xolos. Umid qilamanki, material sizga ishingizda foydali bo'ladi. Agar siz o'z tajribangizni baham ko'rsangiz va sharhlaringizni qoldirsangiz, minnatdor bo'laman. E'tiboringiz uchun rahmat! Yangi onlayn uchrashuvlargacha! Yadroni ishlab chiqish haqli ravishda oson ish emas, ammo har kim oddiy yadro yozishi mumkin. Yadroni buzish sehrini his qilish uchun siz ba'zi konventsiyalarga amal qilishingiz va assembler tilini o'rganishingiz kerak. Ushbu maqolada buni qanday qilishni sizga ko'rsatamiz. Salom Dunyo! Keling, x86-ga mos keladigan tizimlarda GRUB orqali yuklanadigan yadro yozaylik. Bizning birinchi yadromiz ekranda xabarni ko'rsatadi va u erda to'xtaydi. X86 mashinalari qanday yuklanadiYadroni qanday yozish haqida o'ylashdan oldin, keling, kompyuter qanday ishga tushirilishini va boshqaruvni yadroga o'tkazishini ko'rib chiqaylik. Ko'pgina x86 protsessor registrlari yuklashdan keyin ma'lum qiymatlarga ega. Yo'riqnomalar ko'rsatkichlari registri (EIP) protsessor tomonidan bajariladigan buyruqning manzilini o'z ichiga oladi. Uning qattiq kodlangan qiymati 0xFFFFFF0. Ya'ni, x86 protsessori har doim 0xFFFFFF0 fizik manzilidan ishlashni boshlaydi. Bu 32 bitli manzil maydonining oxirgi 16 bayti. Bu manzil reset vektori deb ataladi. Chipsetdagi xotira kartasi 0xFFFFFFF0 manzili BIOS-ning ma'lum bir qismiga tegishli ekanligini bildiradi. Ram. Biroq, BIOS tezroq kirish uchun o'zini RAMga ko'chiradi - bu jarayon soya nusxasini yaratish uchun "soya" deb ataladi. Shunday qilib, 0xFFFFFF0 manzili faqat BIOS o'zi nusxa ko'chirgan xotiraga o'tish uchun ko'rsatmani o'z ichiga oladi. Shunday qilib, BIOS ishlay boshlaydi. Birinchidan, u sozlamalarda ko'rsatilgan tartibda yuklanishi mumkin bo'lgan qurilmalarni qidiradi. U ommaviy axborot vositalarida yuklanadigan disklarni oddiylardan ajratib turadigan "sehrli raqam" mavjudligini tekshiradi: agar birinchi sektordagi 511 va 512 baytlar 0xAA55 bo'lsa, u holda disk yuklanadi. BIOS yuklash moslamasini topgandan so'ng, u birinchi sektorning tarkibini 0x7C00 manzilidan boshlab operativ xotiraga ko'chiradi va keyin ijroni shu manzilga o'tkazadi va hozirgina yuklagan kodni bajarishni boshlaydi. Ushbu kod bootloader deb ataladi. Bootloader yadroni 0x100000 jismoniy manziliga yuklaydi. Bu eng mashhur x86 yadrolari foydalanadigan narsa. Barcha x86-mos protsessorlar "haqiqiy rejim" deb nomlangan ibtidoiy 16-bitli rejimda boshlanadi. GRUB yuklovchisi CR0 registrining pastki bitini bittaga o'rnatish orqali protsessorni 32 bitli himoyalangan rejimga o'tkazadi. Shuning uchun yadro 32 bitli himoyalangan rejimda yuklana boshlaydi. E'tibor bering, GRUB, Linux yadrolari uchun, tegishli yuklash protokolini tanlaydi va yadroni real rejimda ishga tushiradi. Linux yadrolari avtomatik ravishda himoyalangan rejimga o'tadi. Bizga nima kerak
Assembly tiliga kirish nuqtasiAlbatta, biz hamma narsani C tilida yozishni xohlaymiz, lekin assemblerdan butunlay qochib qutula olmaymiz. Biz x86 assemblerda yadromiz uchun boshlang'ich nuqtaga aylanadigan kichik faylni yozamiz. Barcha yig'ish kodi biz C da yozadigan tashqi funktsiyani chaqirish va dasturni bajarishni to'xtatishdir. Qanday qilib montaj kodini yadromiz uchun boshlang'ich nuqtaga aylantira olamiz? Biz ob'ekt fayllarini bog'laydigan va yakuniy yadro bajariladigan faylni yaratadigan bog'lovchi skriptdan foydalanamiz (quyida batafsilroq tushuntiraman). Ushbu skriptda biz ikkilik faylimizni 0x100000 manzilida yuklab olishni xohlayotganimizni to'g'ridan-to'g'ri ko'rsatamiz. Bu, men allaqachon yozganimdek, yuklovchi yadroga kirish nuqtasini ko'rishni kutayotgan manzil. Mana assembler kodi. kernel.asmbit 32 bo'lim .text global start extern kmain start: cli mov esp, stack_space call kmain hlt section .bss resb 8192 stack_space:Birinchi bit 32 ko'rsatmasi x86 assembler emas, balki protsessorning 32 bitli rejimda ishlashi uchun kod yaratishni bildiruvchi NASM direktivasi. Bizning misolimiz uchun bu shart emas, lekin buni aniq ko'rsatish yaxshi amaliyotdir. Ikkinchi satr kod bo'limi deb ham ataladigan matn qismini boshlaydi. Bizning barcha kodimiz shu erda bo'ladi. global yana bir NASM direktivasi bo'lib, u bizning kodimizdagi belgilarni global deb e'lon qiladi. Bu bog'lovchiga bizning kirish nuqtamiz bo'lib xizmat qiladigan boshlang'ich belgisini topishga imkon beradi. kmain - bu bizning kernel.c faylimizda aniqlanadigan funksiya. extern funktsiya boshqa joyda e'lon qilinganligini e'lon qiladi. Keyinchalik kmain chaqiradigan va hlt ko'rsatmasi bilan protsessorni to'xtatadigan start funktsiyasi keladi. Interruptlar hlt dan so'ng protsessorni uyg'otishi mumkin, shuning uchun biz birinchi navbatda cli (clear interrupts) ko'rsatmasi bilan uzilishlarni o'chirib qo'yamiz. Ideal holda, biz stek uchun ma'lum miqdorda xotira ajratishimiz va stek ko'rsatkichini (xususan) unga yo'naltirishimiz kerak. GRUB baribir buni biz uchun qilganga o'xshaydi va bu nuqtada stek ko'rsatkichi allaqachon o'rnatilgan. Biroq, har qanday holatda, keling, BSS bo'limida bir oz xotira ajratamiz va stek ko'rsatkichini uning boshiga qaratamiz. Biz resb ko'rsatmasidan foydalanamiz - u baytlarda ko'rsatilgan xotirani saqlaydi. Keyin zaxiralangan xotira qismining chetini ko'rsatadigan belgi qoldiriladi. kmain chaqirilishidan oldin, stek ko'rsatkichi (esp) mov ko'rsatmasi orqali shu sohaga yo'naltiriladi. C dagi yadrokernel.asm faylida kmain() funksiyasini chaqirdik. Shunday qilib, C kodida ijro shu erdan boshlanadi. kernel.cvoid kmain(void) ( const char *str = "mening birinchi yadrom"; char *vidptr = (char*)0xb8000; unsigned int i = 0; unsigned int j = 0; while(j)< 80 * 25 * 2) { vidptr[j] = " "; vidptr = 0x07; j = j + 2; } j = 0; while(str[j] != "\0") { vidptr[i] = str[j]; vidptr = 0x07; ++j; i = i + 2; } return; }Bizning yadro qiladigan narsa ekranni tozalash va mening birinchi yadrom qatorini chop etishdir. Birinchidan, biz 0xb8000 manziliga ishora qiluvchi vidptr ko'rsatkichini yaratamiz. Himoyalangan rejimda bu video xotiraning boshlanishi. Matnli ekran xotirasi oddiygina manzil maydonining bir qismidir. 0xb8000 manzilidan boshlanadigan ekran kiritish-chiqarish uchun xotira bo'limi ajratilgan, unda 80 ta ASCII belgilardan iborat 25 qator joylashtirilgan. Matn xotirasidagi har bir belgi biz o‘rganib qolgan 8 bit (1 bayt) emas, balki 16 bit (2 bayt) bilan ifodalanadi. Birinchi bayt - bu belgining ASCII kodi, ikkinchi bayt - atribut-bayt. Bu belgi formatining ta'rifi, shu jumladan uning rangi. Yashil s belgisini qora rangda chiqarish uchun videoxotiraning birinchi baytiga s va ikkinchi baytga 0x02 qiymatini qo'yishimiz kerak. Bu erda 0 qora fonni va 2 yashil rangni anglatadi. Biz ochiq kul rangdan foydalanamiz, uning kodi 0x07. Birinchi while siklida dastur 80 belgidan iborat barcha 25 qatorni 0x07 atributiga ega boʻsh belgilar bilan toʻldiradi. Bu ekranni tozalaydi. Ikkinchi while siklida, null bilan yakunlangan qator mening birinchi yadrom video xotiraga yoziladi va har bir belgi 0x07 atribut-bayt oladi. Bu satrni chiqarishi kerak. TartibEndi biz kernel.asm ni NASM yordamida obyekt fayliga kompilyatsiya qilishimiz kerak va keyin kernel.c ni boshqa obyekt fayliga kompilyatsiya qilish uchun GCC dan foydalanishimiz kerak. Bizning vazifamiz ushbu ob'ektlarni yuklash uchun mos keladigan bajariladigan yadroga ulashdir. Buning uchun bog'lovchi (ld) uchun skript yozishimiz kerak bo'ladi, biz uni argument sifatida o'tkazamiz. link.ldOUTPUT_FORMAT(elf32-i386) KIRISh (boshlash) bo'limlari ( . = 0x100000; .text: ( *(.text) ) .data: ( *(.data) ) .bss: ( *(.bss) ) )Bu erda biz birinchi navbatda bajariladigan faylimiz formatini (OUTPUT_FORMAT) x86 arxitekturasi uchun Unix-ga asoslangan tizimlar uchun standart ikkilik format bo'lgan 32-bitli ELF (Bajariladigan va Bog'lanadigan Format) ga o'rnatdik. ENTRY bitta argumentni oladi. U bajariladigan faylning kirish nuqtasi bo'lib xizmat qiladigan belgi nomini belgilaydi. SECTIONS biz uchun eng muhim qismdir. Bu erda biz bajariladigan faylimiz tartibini aniqlaymiz. Turli bo'limlar qanday birlashtirilishini va har bir bo'limning qayerga joylashtirilishini aniqlashimiz mumkin. SECTIONS ifodasidan keyingi jingalak qavslarda nuqta joylashuv hisoblagichini bildiradi. U SECTIONS blokining boshida avtomatik ravishda 0x0 ga ishga tushiriladi, lekin uni yangi qiymat belgilash orqali o'zgartirish mumkin. Avvalroq yadro kodi 0x100000 manzilidan boshlanishi kerakligini yozgan edim. Shuning uchun biz pozitsiya hisoblagichiga 0x100000 qiymatini beramiz. Line.textga qarang: ( *(.text) ). Bu yerdagi yulduzcha har qanday fayl nomiga mos keladigan niqobni bildiradi. Shunga ko'ra, *(.matn) ifodasi barcha kirish fayllaridagi barcha kirish .matn bo'limlarini bildiradi. Natijada, bog'lovchi barcha ob'ekt fayllarining barcha matn bo'limlarini bajariladigan faylning matn bo'limiga birlashtiradi va uni pozitsiya hisoblagichida ko'rsatilgan manzilga joylashtiradi. Bizning bajariladigan dasturimizning kod bo'limi 0x100000 manzilidan boshlanadi. Bog'lovchi matn qismini yaratgandan so'ng, joylashuv hisoblagichi qiymati 0x100000 va matn bo'limining o'lchamiga teng bo'ladi. Xuddi shunday, ma'lumotlar va bss bo'limlari birlashtiriladi va pozitsiya hisoblagichi tomonidan berilgan manzilga joylashtiriladi. GRUB va multibootEndi bizning barcha fayllarimiz yadro yaratishga tayyor. Ammo yadroni GRUB yordamida yuklashimiz uchun yana bir qadam qoldi. Bootloader yordamida turli xil x86 yadrolarini yuklash standarti mavjud. Bu "multiboot spetsifikatsiyasi" deb ataladi. GRUB faqat unga mos keladigan yadrolarni yuklaydi. Ushbu spetsifikatsiyaga ko'ra, yadroda dastlabki 8 kilobaytda sarlavha (Multiboot header) bo'lishi mumkin. Ushbu sarlavha uchta maydonni o'z ichiga olishi kerak:
Bizning kernel.asm faylimiz endi shunday ko'rinadi. kernel.asmbit 32 qism .text ;multiboot spec align 4 dd 0x1BADB002 ;magic dd 0x00 ; flags dd - (0x1BADB002 + 0x00) ;checksum global start extern kmain start: cli mov esp, call kmabssltce.hstack_sltce. sur'ati:dd ko'rsatmasi 4 baytli qo'sh so'zni belgilaydi. Yadroni yig'ishShunday qilib, hamma narsa kernel.asm va kernel.c dan ob'ekt faylini yaratishga va ularni bizning skriptimiz yordamida bog'lashga tayyor. Biz konsolda yozamiz: $ nasm -f elf32 kernel.asm -o kasm.o Ushbu buyruq yordamida assembler kasm.o faylini ELF-32 bit formatida yaratadi. Endi navbat GCCga keldi: $ gcc -m32 -c kernel.c -o kc.o -c parametri kompilyatsiyadan keyin faylni bog'lash shart emasligini bildiradi. Biz buni o'zimiz qilamiz: $ ld -m elf_i386 -T link.ld -o yadro kasm.o kc.o Ushbu buyruq skriptimiz bilan bog'lovchini ishga tushiradi va yadro deb nomlangan bajariladigan faylni yaratadi. OGOHLANTIRISHYadroni buzish eng yaxshi virtual muhitda amalga oshiriladi. Yadroni GRUB o'rniga QEMU da ishga tushirish uchun qemu-system-i386 -kernel kernel buyrug'idan foydalaning. GRUBni sozlash va yadroni ishga tushirishGRUB yadro faylining nomi yadroga mos kelishini talab qiladi.<версия>. Shunday qilib, fayl nomini o'zgartiramiz - men o'zimning yadro-701 ni chaqiraman. Endi yadroni /boot katalogiga joylashtiramiz. Bu superfoydalanuvchi imtiyozlarini talab qiladi. GRUB konfiguratsiya fayliga grub.cfg ga shunga o'xshash biror narsa qo'shishingiz kerak bo'ladi: Sarlavha myKernel root (hd0,0) kernel /boot/kernel-701 ro Agar u kiritilgan bo'lsa, yashirin menyu direktivasini olib tashlashni unutmang. GRUB 2Yangi tarqatishlarda sukut bo'yicha taqdim etilgan GRUB 2 da biz yaratgan yadroni ishga tushirish uchun sizning konfiguratsiyangiz quyidagicha ko'rinishi kerak: "Yadro 701" menyusi (root = "hd0, msdos1" multiboot /boot/kernel-701 ro o'rnating) Ushbu qo'shimcha uchun Ruben Laguanaga rahmat. Kompyuteringizni qayta yoqing va ro'yxatda yadroingizni ko'rishingiz kerak! Va uni tanlaganingizda, xuddi shu qatorni ko'rasiz. Bu sizning asosingiz! Klaviatura va ekran yordami bilan yadro yozishBiz GRUB orqali yuklanadigan, himoyalangan rejimda ishlaydigan va ekranga bitta qatorni chop etadigan minimal yadro ustida ishni yakunladik. Uni kengaytirish va klaviaturadagi belgilarni o'qiy oladigan va ularni ekranda ko'rsatadigan klaviatura drayverini qo'shish vaqti keldi. Biz kirish/chiqarish qurilmalari bilan I/U portlari orqali bog'lanamiz. Aslida, ular faqat kirish/chiqarish avtobusidagi manzillardir. O'qish va yozish operatsiyalari uchun maxsus protsessor ko'rsatmalari mavjud. Portlar bilan ishlash: o'qish va chiqarishread_port: mov edx, in al, dx ret write_port: mov edx, mov al, out dx, al retKirish-chiqarish portlariga x86 to'plamiga kiritilgan kirish va chiqish ko'rsatmalari yordamida kirish mumkin. Read_port da port raqami argument sifatida uzatiladi. Kompilyator funktsiyani chaqirganda, u barcha argumentlarni stekga suradi. Argument stek ko'rsatkichi yordamida edx registriga ko'chiriladi. dx registri edx registrining pastki 16 bitidir. Bu yerdagi ko'rsatma dx da berilgan port raqamini o'qiydi va natijani al ga qo'yadi. Al registr eax registrining pastki 8 bitidir. Kollejda funksiyalar tomonidan qaytarilgan qiymatlar eax registridan o'tkazilishini eslashingiz mumkin. Shunday qilib read_port bizga kirish/chiqarish portlaridan o'qish imkonini beradi. write_port funksiyasi ham xuddi shunday ishlaydi. Biz ikkita argumentni olamiz: port raqami va yoziladigan ma'lumotlar. Chiqish yo'riqnomasi ma'lumotlarni portga yozadi. Xalaqit beradiEndi, drayverni yozishga qaytishdan oldin, protsessor qurilmalardan biri operatsiyani amalga oshirganligini qanday bilishini tushunishimiz kerak. Eng oddiy yechim - bu qurilmalarni so'roq qilish - ularning holatini doimiy ravishda aylana bo'ylab tekshirish. Bu aniq sabablarga ko'ra samarasiz va amaliy emas. Shunday qilib, bu erda uzilishlar o'ynaydi. Uzilish - bu hodisa sodir bo'lganligini bildiruvchi qurilma yoki dastur tomonidan protsessorga yuboriladigan signal. Uzilishlardan foydalanish orqali biz qurilmalarni so'roq qilish zaruratidan qochib qutulamiz va faqat bizni qiziqtirgan voqealarga javob beramiz. Programmable Interrupt Controller (PIC) deb nomlangan chip x86 arxitekturasidagi uzilishlar uchun javobgardir. U apparat uzilishlari va marshrutlarini boshqaradi va ularni tegishli tizim uzilishlariga aylantiradi. Foydalanuvchi qurilma bilan biror narsa qilganda, PIC chipiga Interrupt Request (IRQ) deb ataladigan impuls yuboriladi. PIC qabul qilingan uzilishni tizim uzilishiga aylantiradi va protsessorga nima qilayotganini to'xtatish vaqti kelganligi haqida xabar yuboradi. Keyinchalik uzilishlarni qayta ishlash yadroning vazifasidir. PIC bo'lmasa, biz tizimda mavjud bo'lgan barcha qurilmalarni so'rashimiz kerak bo'lardi, ulardan birortasi bilan bog'liq voqea sodir bo'ladimi yoki yo'qmi. Keling, bu klaviatura bilan qanday ishlashini ko'rib chiqaylik. Klaviatura 0x60 va 0x64 portlariga osilgan. 0x60 port ma'lumotlarni yuboradi (tugma bosilganda), 0x64 port esa holatni yuboradi. Biroq, biz ushbu portlarni qachon o'qishni bilishimiz kerak. Bu erda uzilishlar foydali bo'ladi. Tugma bosilganda, klaviatura IRQ1 uzilish chizig'i orqali PIC signalini yuboradi. PIC ishga tushirish vaqtida saqlangan ofset qiymatini saqlaydi. U uzilish vektorini hosil qilish uchun ushbu to'ldirishga kirish qatori raqamini qo'shadi. Keyin protsessor uzilishni ishlov beruvchiga uning raqamiga mos keladigan manzilni berish uchun Interrupt Deskriptor Table (IDT) deb nomlangan ma'lumotlar strukturasini qidiradi. Keyin ushbu manzildagi kod bajariladi va uzilishni boshqaradi. IDTni o'rnatingstruct IDT_entry( unsigned short int offset_lowerbits; unsigned short int selektor; unsigned char nol; unsigned char type_attr; unsigned short int offset_higherbits; ); struct IDT_entry IDT; void idt_init(void) ( imzosiz uzun klaviatura_manzil; imzosiz uzun id_manzil; imzosiz uzun idt_ptr; klaviatura_manzil = (imzosiz uzun) klaviatura_ishlab chiqaruvchisi; IDT.offset_lowerbits = klaviatura_manzili & 0xffff; IDT.selector = 0x_SEFNET; /KK_SEFNET T.nol = 0 ; IDT.type_attr = 0x8e; / * Idt.offet_port (0x20, 0x11); Yozish_port (0x21, 0x20); yozish_port (0xA1, 0x28); write_port (0x21 , 0x00); write_port (0xA1 , 0x00); write_port (0x21 , 0x01); write_port (0xA1 , 0x01); write_port (0x21 , 0xff); write_port (0xA1 , , identifikator = longaddress) )IDT ; idt_ptr = (sizeof (struct IDT_entry) * IDT_SIZE) + ((idt_address & 0xffff)<< 16); idt_ptr = idt_address >> 16; yuk_idt(idt_ptr); )IDT - IDT_entry tuzilmalari massivi. Klaviatura uzilishini ishlov beruvchiga bog‘lashni keyinroq muhokama qilamiz, ammo endi PIC qanday ishlashini ko‘rib chiqamiz. Zamonaviy x86 tizimlari ikkita PIC chipiga ega, ularning har biri sakkizta kirish liniyasiga ega. Biz ularni PIC1 va PIC2 deb ataymiz. PIC1 IRQ0 dan IRQ7 ga, PIC2 esa IRQ8 dan IRQ15 gacha qabul qiladi. PIC1 buyruqlar uchun 0x20 va ma'lumotlar uchun 0x21 portidan, PIC2 buyruqlar uchun 0xA0 va ma'lumotlar uchun 0xA1 portidan foydalanadi. Ikkala PIC ham Initialization buyruq so'zlari (ICW) deb nomlangan sakkiz bitli so'zlar bilan ishga tushiriladi. Himoyalangan rejimda ikkala PIC birinchi navbatda ICW1 (0x11) ishga tushirish buyrug'ini berishi kerak. Bu PICga ma'lumotlar portiga yana uchta ishga tushirish so'zini kutish kerakligini aytadi. Ushbu buyruqlar PICni yuboradi:
Ikkinchi ishga tushirish buyrug'i (ICW2) har bir PIC kirishiga yuboriladi. U uzilish raqamini olish uchun satr raqamini qo'shadigan qiymat bo'lgan ofsetni tayinlaydi. PIC-lar o'zlarining pinlarini bir-birining kirishlariga kaskad qilish imkonini beradi. Bu ICW3 yordamida amalga oshiriladi va har bir bit mos keladigan IRQ uchun kaskad holatini ifodalaydi. Endi biz kaskadli qayta yo'naltirishni ishlatmaymiz va uni nolga o'rnatamiz. ICW4 to'plamlari Qo'shimcha variantlar muhit. PIClar 80x86 rejimida ishlayotganimizni bilishlari uchun biz faqat past bitni aniqlashimiz kerak. Ta-dam! PIC-lar endi ishga tushirildi. Har bir PICda Interrupt Mask Register (IMR) deb nomlangan ichki sakkiz bitli registr mavjud. U PICga o'tadigan IRQ satrlarining bitmapini saqlaydi. Bit o'rnatilgan bo'lsa, PIC so'rovni e'tiborsiz qoldiradi. Bu shuni anglatadiki, biz tegishli qiymatni 0 yoki 1 ga o'rnatish orqali ma'lum bir IRQ liniyasini yoqishimiz yoki o'chirishimiz mumkin. Ma'lumotlar portidan o'qish IMR registridagi qiymatni qaytaradi, yozish esa registrni o'zgartiradi. Bizning kodimizda, PICni ishga tushirgandan so'ng, biz barcha bitlarni bittaga o'rnatamiz, bu esa barcha IRQ qatorlarini o'chiradi. Keyinchalik klaviatura uzilishlariga mos keladigan qatorlarni faollashtiramiz. Lekin avval uni o'chirib qo'yaylik! Agar IRQ liniyalari ishlayotgan bo'lsa, bizning PIC'larimiz IRQda signallarni qabul qilishi va ularni ofset qo'shib, uzilish raqamiga aylantirishi mumkin. Biz IDT ni shunday to'ldirishimiz kerakki, klaviaturadan keladigan uzilish raqami biz yozadigan ishlov berish funktsiyasi manziliga mos keladi. IDTda klaviatura ishlov beruvchisini qanday uzilish raqamiga bog'lashimiz kerak? Klaviatura IRQ1 dan foydalanadi. Bu kirish liniyasi 1 va PIC1 tomonidan qayta ishlanadi. Biz PIC1ni 0x20 ofset bilan ishga tushirdik (ICW2ga qarang). Interrupt raqamini olish uchun siz 1 va 0x20 qo'shishingiz kerak, siz 0x21 olasiz. Bu 0x21 ni uzish uchun klaviatura ishlov beruvchisining manzili IDT-ga bog'langanligini anglatadi. Vazifa 0x21 uzilish uchun IDTni to'ldirishdan iborat. Biz ushbu uzilishni assembly fayliga yozadigan keyboard_handler funksiyasiga joylashtiramiz. IDTdagi har bir yozuv 64 bitdan iborat. Interruptga mos keladigan yozuvda biz ishlov beruvchi funksiyasining butun manzilini saqlamaymiz. Buning o'rniga biz uni ikkita 16 bitli bo'laklarga ajratamiz. Past tartibli bitlar IDT yozuvining dastlabki 16 bitida, yuqori tartibli 16 bit esa yozuvning oxirgi 16 bitida saqlanadi. Bularning barchasi 286 protsessor bilan muvofiqligi uchun amalga oshiriladi. Ko'rib turganingizdek, Intel bunday raqamlarni muntazam ravishda va ko'p joylarda ishlab chiqaradi! IDT yozuvida biz faqat turni ro'yxatdan o'tkazishimiz kerak, bu esa bularning barchasi uzilishni ushlash uchun amalga oshirilayotganligini ko'rsatadi. Shuningdek, yadro kodi segmentining ofsetini o'rnatishimiz kerak. GRUB biz uchun GDTni belgilaydi. Har bir GDT yozuvi 8 bayt uzunlikda, bu erda yadro kodining deskriptori ikkinchi segmentdir, shuning uchun uning ofseti 0x08 bo'ladi (tafsilotlar ushbu maqola doirasidan tashqarida). Uzilish eshigi 0x8e sifatida ifodalanadi. O'rtadagi qolgan 8 bit nol bilan to'ldirilgan. Shunday qilib, biz klaviatura uzilishiga mos keladigan IDT yozuvini to'ldiramiz. IDT xaritasini tuzish tugagach, protsessorga IDT qayerda ekanligini aytishimiz kerak. Buning uchun lidt deb nomlangan yig'ish ko'rsatmasi mavjud; u bitta operandni oladi. Bu IDT ni tavsiflovchi strukturaning deskriptoriga ko'rsatgich. Deskriptor bilan hech qanday qiyinchilik yo'q. U baytlardagi IDT hajmini va uning manzilini o'z ichiga oladi. Men uni yanada ixcham qilish uchun massivdan foydalandim. Xuddi shu tarzda, struktura yordamida identifikatorni to'ldirishingiz mumkin. Idr_ptr o'zgaruvchisida biz load_idt() funksiyasidagi lidt ko'rsatmalariga o'tadigan ko'rsatgichga egamiz. Load_idt: mov edx, lidt sti ret Bundan tashqari, load_idt() funktsiyasi sti ko'rsatmasidan foydalanganda uzilishni qaytaradi. IDT to'ldirilgan va yuklangan bo'lsa, biz yuqorida aytib o'tgan uzilish niqobi yordamida IRQ klaviaturasiga kira olamiz. Void kb_init(void) ( write_port(0x21 , 0xFD); ) 0xFD - 11111101 - faqat IRQ1 (klaviatura) ni yoqing. Funktsiya - klaviatura uzilishlarini ishlov beruvchiShunday qilib, biz 0x21 uzilish uchun IDT yozuvini yaratish orqali klaviatura uzilishlarini keyboard_handler funksiyasiga muvaffaqiyatli bog‘ladik. Har safar tugmani bosganingizda bu funksiya chaqiriladi. Keyboard_handler: keyboard_handler_main-ga qo'ng'iroq qiling Bu funksiya C da yozilgan boshqa funksiyani chaqiradi va iret klassi ko'rsatmalari yordamida boshqaruvni qaytaradi. Biz butun ishlovchimizni shu yerda yozishimiz mumkin, lekin C tilida kodlash ancha oson, shuning uchun u yerga o'taylik. Boshqarish uzilishni boshqarish funksiyasidan uzilgan dasturga qaytganda ret o'rniga iret/iretd ko'rsatmalaridan foydalanish kerak. Ushbu ko'rsatma klassi bayroq registrini ko'taradi, u uzilish chaqirilganda stekga suriladi. Void keyboard_handler_main(void) ( unsigned char status; char keycode; /* Write EOI */ write_port(0x20, 0x20); status = read_port(KEYBOARD_STATUS_PORT); /* Agar bufer bo‘sh bo‘lmasa, pastki holat biti o‘rnatiladi */ agar (holat va 0x01) ( kalit kodi = o'qish_porti(KEYBOARD_DATA_PORT); if(kalit kodi< 0) return; vidptr = keyboard_map; vidptr = 0x07; } } Bu erda biz birinchi navbatda PIC buyruq portiga yozish orqali EOI (End Of Interrupt) signalini beramiz. Shundan keyingina PIC keyingi uzilish so'rovlariga ruxsat beradi. Biz ikkita portni o'qishimiz kerak: ma'lumotlar porti 0x60 va buyruq porti (aka holat porti) 0x64. Avvalo, biz statusni olish uchun 0x64 portini o'qiymiz. Agar holatning pastki biti nolga teng bo'lsa, bufer bo'sh va o'qish uchun hech qanday ma'lumot yo'q. Boshqa hollarda biz 0x60 ma'lumotlar portini o'qiy olamiz. U bizga bosilgan tugma kodini beradi. Har bir kod bitta tugmaga mos keladi. Kodlarni mos keladigan belgilar bilan taqqoslash uchun keyboard_map.h da aniqlangan oddiy belgilar qatoridan foydalanamiz. Shundan so'ng belgi ekranda yadroning birinchi versiyasida qo'llagan texnikamiz yordamida ko'rsatiladi. Kodni sodda saqlash uchun men faqat a dan z gacha kichik harflar va 0 dan 9 gacha bo'lgan raqamlarni qayta ishlayman. Siz maxsus belgilarni osongina qo'shishingiz mumkin, Alt, Shift va Caps Lock. Buyruq portining chiqishidan tugma bosilgan yoki bo'shatilganligini bilib olishingiz va tegishli amalni bajarishingiz mumkin. Xuddi shu tarzda, har qanday klaviatura yorliqlarini o'chirish kabi maxsus funktsiyalarga ulashingiz mumkin. Endi siz yadroni qurishingiz va uni haqiqiy mashinada yoki emulyatorda (QEMU) xuddi birinchi qismdagi kabi ishga tushirishingiz mumkin. |
Mashhur:
Yangi
- Windows ro'yxatga olish kitobi muharririni ochishning uchta usuli Qidiruv yordamida ro'yxatga olish kitobini ochish
- Qattiq diskni qanday qismlarga bo'lish kerak
- Biz qattiq diskni bo'limlarga ajratamiz
- Kompyuter yoqilganda signal beradi
- Windows-da fayl kengaytmalarini to'g'ri o'zgartirish Arxiv kengaytmasini qanday o'zgartirish mumkin
- YouTube YouTube-da reklamalarni reklamasiz bloklash
- TeamViewer - kompyuterni masofadan boshqarish Boshqa kompyuter bilan bog'lanish uchun dasturni yuklab oling
- Windows-da kompyuteringizning xususiyatlarini qanday aniqlash mumkin: tizim usullari va maxsus dasturlar
- Biz turli xil qurilmalarda brauzerlarni yangilaymiz: kompyuter, planshet, smartfon Yangilangan brauzerni qayerda va qanday qilib o'rnating
- Protsessor, video karta, quvvat manbai va kompyuter sovutgichini qanday moylash kerak