Аппараттық және бағдарламалық қамтамасыз етуді орнату

Ядро жазайық! Біз операциялық жүйенің ең қарапайым жұмыс ядросын жасаймыз. Семантикалық өзек – қалай дұрыс құрастыру керек? Семантикалық өзегін жасаңыз

Ядроны дамыту өте қиын міндет деп саналады, бірақ кез келген адам ең қарапайым ядроны жаза алады. Ядро бұзудың сиқырына қол жеткізу үшін сізге кейбір конвенцияларды ұстанып, ассемблерді меңгеру жеткілікті. Бұл мақалада біз сізге мұны қалай жасау керектігін көрсетеміз.


Сәлем Әлем!

x86 үйлесімді жүйелерінде GRUB арқылы жүктелетін ядроны жазайық. Біздің бірінші ядромыз экранда хабарламаны көрсетеді және сонда тоқтайды.

x86 машиналары қалай жүктеледі

Ядроны қалай жазу керектігін ойластырмас бұрын, компьютердің жүктелуін және басқаруды ядроға қалай беретінін көрейік. Көптеген x86 процессорларының регистрлері жүктелгеннен кейін арнайы мәндерге ие болады. Регистр – нұсқау көрсеткіші (EIP) процессормен орындалатын команданың адресін қамтиды. Оның қатты кодталған мәні 0xFFFFFF0. Яғни, x86 процессоры орындауды әрқашан 0xFFFFFF00 физикалық мекенжайынан бастайды. Бұл 32 биттік мекенжай кеңістігінің соңғы 16 байты. Бұл адрес қалпына келтіру векторы деп аталады.

Чипсеттегі жад картасы 0xFFFFFF0 мекенжайы жедел жадқа емес, BIOS-тың белгілі бір бөлігіне қатысты екенін көрсетеді. Дегенмен, жылдамырақ қол жеткізу үшін BIOS өзін жедел жадқа көшіреді - бұл процесс «көлеңкелеу» (көлеңкелеу) деп аталады, жасау көлеңкелі көшірме. Сондықтан 0xFFFFFF0 мекенжайы тек BIOS өзі көшірген жадтағы орынға өту нұсқаулығын қамтиды.

Осылайша, BIOS жұмыс істей бастайды. Біріншіден, ол параметрлерде көрсетілген ретпен жүктелетін құрылғыларды іздейді. Ол жүктеу дискілерін кәдімгі дискілерден ерекшелендіретін «сиқырлы нөмірді» тасымалдағышта тексереді: егер бірінші сектордағы 511 және 512 байттар 0xAA55 болса, онда диск жүктелетін болады.

BIOS жүктеу құрылғысын тапқан бойда ол бірінші сектордың мазмұнын 0x7C00 мекенжайынан бастап ЖЖҚ-ға көшіреді, содан кейін орындауды осы мекенжайға тасымалдап, жаңа ғана жүктеген кодты орындауды бастайды. Бұл код жүктеуші деп аталады.

Жүктеуші ядроны 0x100000 физикалық мекенжайында жүктейді. Оны x86 үшін ең танымал ядролар пайдаланады.

Барлық x86-үйлесімді процессорлар «нақты режим» деп аталатын қарапайым 16-биттік режимде іске қосылады. GRUB жүктеушісі CR0 регистрінің төменгі битін біреуге орнату арқылы процессорды 32-биттік қорғалған режимге ауыстырады. Сондықтан ядро ​​32 биттік қорғалған режимде жүктеле бастайды.

Linux ядролары жағдайында GRUB сәйкес жүктеу протоколын таңдап, ядроны жүктейтінін ескеріңіз. нақты режим. Linux ядроларының өзі қорғалған режимге ауысады.

Бізге не керек

  • x86 үйлесімді компьютер (анық)
  • linux,
  • NASM ассемблері,
  • ld (GNU сілтемесі)
  • граб.

Ассемблердегі кіру нүктесі

Әрине, біз бәрін C тілінде жазғымыз келеді, бірақ ассемблерді пайдалануды толығымен болдырмау үшін ол жұмыс істемейді. Біз x86 ассемблерінде ядромыздың бастапқы нүктесі болатын шағын файлды жазамыз. Барлық ассемблер коды сыртқы функцияны шақырады, оны біз C тілінде жазамыз, содан кейін бағдарламаның жұмысын тоқтатамыз.

Ассемблер кодын өз ядромыздың бастапқы нүктесіне қалай айналдыра аламыз? Объектілік файлдарды байланыстыратын және түпкілікті жасайтын сілтеме (сілтеме) үшін сценарийді қолданамыз орындалатын файлядролар (мен төменде толығырақ түсіндіремін). Бұл сценарийде біз екілік файлдың 0x100000 жүктелуін қалайтынымызды тікелей көрсетеміз. Бұл, мен бұрын жазғанымдай, жүктеуші ядроға кіру нүктесін көргісі келетін мекенжай.

Міне ассемблер коды.

kernel.asm
бит 32 бөлімі .text жаһандық бастау extern kmain бастау: cli mov esp, stack_space қоңырауы kmmain hlt бөлімі .bss resb 8192 stack_space:

Алғашқы 32 биттік нұсқау x86 ассемблері емес, 32 биттік режимде жұмыс істейтін процессор үшін кодты жасау керектігін айтатын NASM директивасы. Бұл біздің мысал үшін қажет емес, бірақ оны нақты көрсету жақсы тәжірибе.

Екінші жол мәтін бөлімін бастайды, ол код бөлімі ретінде де белгілі. Біздің барлық код осында болады.

жаһандық - біздің кодтағы таңбаларды жаһандық деп жариялайтын тағы бір NASM директивасы. Бұл сілтеме жасаушыға бастапқы таңбаны табуға мүмкіндік береді, ол біздің кіру нүктеміз болып табылады.

kmmain – бұл kernel.c файлымызда анықталатын функция. extern функцияның басқа жерде жарияланғанын хабарлайды.

Содан кейін kmmain шақыратын және hlt нұсқауымен процессорды тоқтататын бастау функциясы келеді. Үзулер hlt кейін процессорды оятуы мүмкін, сондықтан алдымен cli (таза үзілістер) нұсқауымен үзілістерді өшіреміз.

Ең дұрысы, стекке біраз жад бөліп, оған стек көрсеткішін (esp) бағыттау керек. GRUB мұны бәрібір біз үшін істеп жатқан сияқты және осы сәтте стек көрсеткіші орнатылған. Дегенмен, BSS бөлімінде біраз жадты бөліп, стектің көрсеткішін оның басына бағыттайық. Біз resb нұсқаулығын қолданамыз - ол байтпен берілген жадты сақтайды. Содан кейін сақталған жад бөлігінің жиегін көрсететін белгі қалады. Kmmain-ге шақыру алдында стек көрсеткіші (esp) mov нұсқауымен осы аймаққа бағытталған.

C тіліндегі ядро

kernel.asm файлында kmmain() функциясын шақырдық. Сонымен, C кодында орындау сол жерден басталады.

kernel.c
void kmmain(void) ( const char *str = "менің бірінші ядром"; 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; }

Біздің ядро ​​​​бұл экранды тазарту және менің бірінші ядромның жолын басып шығару.

Ең алдымен, біз 0xb8000 мекенжайын көрсететін vidptr көрсеткішін жасаймыз. Қорғалған режимде бұл бейне жадының басталуы. Мәтіндік экран жады мекенжай кеңістігінің бір бөлігі ғана. 0xb8000 мекенжайынан басталатын енгізу/шығару экраны үшін жад аймағы бөлінген - ол 80 ASCII таңбасының 25 жолына сәйкес келеді.

Мәтін жадындағы әрбір таңба біз үйренген 8 бит (1 байт) емес, 16 битпен (2 байт) берілген. Бірінші байт - ASCII ішіндегі таңба коды, ал екінші байт - атрибут-байт. Бұл таңба пішімін, оның ішінде оның түсін анықтау.

s таңбасын жасыл түспен қара түспен басып шығару үшін бейне жадының бірінші байтына s және екінші байтқа 0x02 мәнін қою керек. Мұндағы 0 қара фон, ал 2 жасыл дегенді білдіреді. Біз ашық сұр түсті қолданамыз, оның коды 0x07.

Бірінші while циклінде бағдарлама 80 таңбадан тұратын барлық 25 жолды 0x07 атрибуты бар бос таңбалармен толтырады. Бұл экранды тазартады.

Екінші while циклінде менің бірінші ядром нөлмен аяқталатын жолдың таңбалары бейне жадына жазылады және әрбір таңба 0x07-ге тең атрибут-байт алады. Бұл жолдың шығуына әкелуі керек.

Орналасу

Енді kernel.asm файлын NASM арқылы нысан файлына құрастыру керек, содан кейін kernel.c файлын басқа нысан файлына компиляциялау үшін GCC пайдалану керек. Біздің міндетіміз - бұл нысандарды жүктеуге жарамды орындалатын ядроға байланыстыру. Ол үшін сілтеме (ld) үшін сценарий жазу керек, оны біз аргумент ретінде береміз.

link.ld
OUTPUT_FORMAT(elf32-i386) ЕНГІЗУ(бастау) БӨЛІМДЕР ( . = 0x100000; .мәтін: ( *(.мәтін) ) .деректер: ( *(.data) ) .bss: ( *(.bss) ) )

Мұнда алдымен орындалатын файлдың пішімін (OUTPUT_FORMAT) x86 Unix кескіндері үшін стандартты екілік пішім 32-биттік ELF (Орындалатын және байланыстырылатын пішім) етіп орнаттық.

ENTRY бір аргумент қабылдайды. Ол орындалатын файлдың кіру нүктесі ретінде қызмет ететін таңбаның атын көрсетеді.

БӨЛІМДЕР біз үшін ең маңызды бөлік. Бұл жерде біз орындалатын файлдың орналасуын анықтаймыз. Біз әртүрлі бөлімдердің қалай біріктірілетінін және олардың әрқайсысы қай жерде орналасатынын анықтай аламыз.

SECTIONS өрнегінен кейінгі бұйра жақшаларда нүкте орын санауышын білдіреді. Ол SECTIONS блогының басында автоматты түрде 0x0 мәніне инициализацияланады, бірақ оны жаңа мән тағайындау арқылы өзгертуге болады.

Бұрын мен ядро ​​​​коды 0x100000-ден басталуы керек деп жазғанмын. Сондықтан позиция есептегішіне 0x100000 мәнін тағайындаймыз.

line.text қараңыз: ( *(.text) ) . Мұндағы жұлдызша кез келген файл атауына сәйкес келетін масканы көрсетеді. Сәйкесінше, *(.text) өрнегі барлық кіріс файлдарындағы барлық енгізу .мәтін бөлімдерін білдіреді.

Нәтижесінде, байланыстырушы барлық нысан файлдарының барлық мәтіндік бөлімдерін орындалатын файлдың мәтіндік бөліміне біріктіреді және оны позиция есептегішінде көрсетілген мекенжайға орналастырады. Біздің орындалатын файлдың код бөлімі 0x100000-ден басталады.

Сілтемеші мәтін бөлімін көрсеткеннен кейін позиция есептегішінің мәні мәтін бөлімінің өлшеміне қоса 0x100000 болады. Сол сияқты, деректер мен bss бөлімдері біріктіріліп, позиция есептегіші берген мекенжайға орналастырылады.

GRUB және көп жүктеу

Енді біздің барлық файлдарымыз ядроны құруға дайын. Бірақ біз ядроны GRUB арқылы жүктейтін болғандықтан, тағы бір қадам қалды.

Жүктеуішпен әртүрлі x86 ядроларын жүктеу стандарты бар. Бұл «көп жүктеу спецификациясы» деп аталады. GRUB оған сәйкес келетін ядроларды ғана жүктейді.

Осы спецификацияға сәйкес ядрода алғашқы 8 килобайтта тақырып (Multiboot тақырыбы) болуы мүмкін. Бұл тақырып үш өрістен тұруы керек:

  • сиқыр- тақырып сәйкестендірілетін 0x1BADB002 «сиқырлы» нөмірін қамтиды;
  • жалаулар- бұл өріс біз үшін маңызды емес, сіз нөлді қалдыра аласыз;
  • бақылау сомасы- бақылау сомасы, сиқырлы және жалаушалар өрістеріне қосылса, нөлді беруі керек.

Біздің kernel.asm файлымыз енді келесідей болады.

kernel.asm
бит 32 бөлім .text ;multiboot spec align 4 dd 0x1BADB002 ;magic dd 0x00 ; flags dd - (0x1BADB002 + 0x00) ;checkssum global start extern kmain start: cli mov esp, call kma_sltce: cli mov esp, stack_insltce.hstack_sltce.

dd нұсқауы 4 байтты қос сөзді көрсетеді.

Өзекті құрастыру

Сонымен, барлығы kernel.asm және kernel.c сайттарынан нысан файлын жасауға және біздің сценарий арқылы оларды байланыстыруға дайын. Біз консольде жазамыз:

$ nasm -f elf32 kernel.asm -o kasm.o

Осы пәрменмен ассемблер kasm.o файлын ELF-32 бит пішімінде жасайды. Енді GCC кезегі:

$ gcc -m32 -c kernel.c -o kc.o

-c опциясы компиляциядан кейін файлды байланыстырудың қажеті жоқ екенін көрсетеді. Біз мұны өзіміз жасаймыз:

$ ld -m elf_i386 -T link.ld -o ядро ​​kasm.o kc.o

Бұл пәрмен сілтемені біздің сценариймен бірге іске қосады және ядро ​​деп аталатын орындалатын файлды жасайды.

ЕСКЕРТУ

Ядро бұзу виртуалды машинада жақсы орындалады. Ядроны GRUB орнына QEMU жүйесінде іске қосу үшін qemu-system-i386 пәрменін пайдаланыңыз - ядро ​​ядросы.

GRUB орнату және ядроны іске қосу

GRUB ядро ​​файлының атауы конвенциялық ядроға сәйкес келуін талап етеді.<версия>. Сондықтан файлдың атын өзгерту - мен өзімнің ядром-701 деп атаймын.

Енді ядроны /boot каталогына орналастырамыз. Бұл суперпайдаланушы артықшылықтарын қажет етеді.

GRUB конфигурация файлына grub.cfg келесідей нәрсені қосу керек:

Тақырып myKernel түбірі (hd0,0) ядро ​​/boot/kernel-701 ro

Егер ол бар болса, жасырын мәзір директивасын жоюды ұмытпаңыз.

GRUB 2

Жаңа дистрибутивтерде әдепкі бойынша келетін GRUB 2-де біз жасаған ядроны іске қосу үшін конфигурацияңыз келесідей болуы керек:

«ядро 701» мәзірі ( root = «hd0, msdos1» көп жүктеуді орнату /boot/kernel-701 ro )

Бұл толықтыру үшін Рубен Лагуанаға рахмет.

Компьютеріңізді қайта жүктеңіз және тізімде ядроңызды көресіз! Және оны таңдау арқылы сіз дәл сол жолды көресіз.



Бұл сіздің өзегіңіз!

Пернетақта мен экран қолдауы бар ядро ​​жазу

Біз GRUB арқылы жүктелетін, қорғалған режимде жұмыс істейтін және экранға бір жолды басып шығаратын минималды ядромен жұмысты аяқтадық. Оны кеңейтіп, пернетақтадағы таңбаларды оқитын және оларды экранда көрсететін пернетақта драйверін қосу уақыты келді.

Біз енгізу/шығару құрылғыларымен енгізу/шығару порттары арқылы байланысамыз. Негізінде олар енгізу/шығару шиніндегі мекенжайлар ғана. Оларда оқу және жазу операциялары үшін процессордың арнайы нұсқаулары бар.

Порттармен жұмыс: оқу және шығару

read_port: mov edx, in al, dx ret write_port: mov edx, mov al, out dx, al ret

Енгізу/шығару порттарына x86 жиынының бөлігі болып табылатын кіріс және шығыс нұсқаулары арқылы қол жеткізіледі.

read_port параметрінде порт нөмірі аргумент ретінде беріледі. Компилятор функцияны шақырғанда, ол барлық аргументтерді стекке итереді. Аргумент стек көрсеткішінің көмегімен edx регистріне көшіріледі. dx регистрі edx регистрінің төменгі 16 биттері болып табылады. Мұндағы нұсқаулық dx-те берілген порт нөмірін оқиды және нәтижені al-ға қояды. al регистр eax регистрінің төменгі 8 разряды болып табылады. Сіз өзіңіздің колледж курсыңыздан функциялардың қайтарылатын мәндері eax регистрінен өтетінін есте ұстаған боларсыз. Сонымен read_port бізге енгізу/шығару порттарынан оқуға мүмкіндік береді.

write_port функциясы ұқсас жолмен жұмыс істейді. Біз екі аргумент аламыз: порт нөмірі және жазылатын деректер. Шығару нұсқауы деректерді портқа жазады.

Үзіліс жасайды

Енді драйверді жазуға қайта оралмас бұрын, процессор құрылғының операцияны орындағанын қалай білетінін түсінуіміз керек.

Ең қарапайым шешім - құрылғыларды сұрау - олардың күйін шеңбер бойымен үздіксіз тексеру. Бұл белгілі себептерге байланысты тиімсіз және практикалық емес. Демек, бұл жерде үзілістер пайда болады. Үзіліс – бұл оқиғаның орын алғанын көрсететін құрылғы немесе бағдарлама арқылы процессорға жіберілетін сигнал. Үзілістерді пайдалану арқылы біз құрылғыларды сұраудан аулақ бола аламыз және тек бізді қызықтыратын оқиғаларға жауап береміз.

x86 архитектурасындағы үзілістер үшін бағдарламаланатын үзіліс контроллері (PIC) деп аталатын чип жауап береді. Ол аппараттық үзілістер мен маршруттарды өңдейді және оларды сәйкес жүйелік үзулерге айналдырады.

Пайдаланушы құрылғымен бірдеңе істегенде, PIC чипіне үзу сұрауы (IRQ) деп аталатын импульс жіберіледі. PIC қабылданған үзуді түрлендіреді жүйенің үзілуіжәне процессорға не істеп жатқанын тоқтату уақыты келді деген хабарлама жібереді. Үзілістерді одан әрі өңдеу ядроның міндеті болып табылады.

PIC болмаса, олардың кез келгеніне қатысты оқиға болған-болмағанын білу үшін жүйеде бар барлық құрылғыларды сұрауға тура келеді.

Оның пернетақта жағдайында қалай жұмыс істейтінін көрейік. Пернетақта 0x60 және 0x64 порттарында ілінеді. 0x60 порты деректерді жібереді (түйме басылғанда) және 0x64 порты күйді жібереді. Дегенмен, біз бұл порттарды қашан оқу керектігін білуіміз керек.

Бұл жерде үзілістер өте ыңғайлы. Түйме басылған кезде пернетақта IRQ1 үзу сызығына PIC сигналын жібереді. PIC дүкендері ығысу мәні, оны инициализациялау кезінде сақталады. Ол үзу векторын қалыптастыру үшін кіріс жолының нөмірін осы толтырғышқа қосады. Содан кейін процессор үзу өңдеушісі функциясына оның нөміріне сәйкес адресті беру үшін Үзу дескрипторының кестесі (IDT) деп аталатын деректер құрылымын іздейді.

Содан кейін сол мекенжайдағы код орындалады және үзуді өңдейді.

IDT орнату

struct IDT_entry( таңбасыз қысқа int offset_lowerbits; unsigned short int селекторы; unsigned char нөл; unsigned char type_attr; unsigned short int offset_higherbits; ); IDT_entry IDT құрылымы; void idt_init(void) (қол қойылмаған ұзын пернетақта_мекен-жайы; қол қойылмаған ұзын id_адрес; қолтаңбасы жоқ ұзын id_ptr; пернетақта_адресі = (қол қойылмаған ұзын) пернетақта_өңдеушісі; IDT.offset_lowerbits = пернетақта_мекен-жайы & 0xffff; IDT.selector = 0x_SEO.ZETFER; /_*COOF.ZETG ;IDT.type_attr = 0x8e; /* INTERRUPT_GATE */ IDT.offset_higherbits = (пернетақта_мекен-жайы және 0xffff0000) >> 16; write_port(0x20 , 0x11); write_port(0xA0 , 0x10x, write (port), Ax0_2); 0x28); write_port(0x21 , 0x00); write_port(0xA1 , 0x00); write_port(0x21 , 0x01); write_port(0xA1 , 0x01); write_port(0x21 , 0xff); write_port(0xA1 , , 0xaddress = longaddress) )IDT ; idt_ptr = (өлшемі (IDT_entry құрылымы) * IDT_SIZE) + ((idt_address & 0xffff)<< 16); idt_ptr = idt_address >> 16; load_idt(idt_ptr); )

IDT — IDT_entry құрылымдарын қамтитын массив. Пернетақта үзілісін өңдеушіге байланыстыру туралы кейінірек айтатын боламыз, бірақ енді PIC қалай жұмыс істейтінін көрейік.

Қазіргі x86 жүйелерінде әрқайсысында сегіз кіріс сызығы бар екі PIC чиптері бар. Оларды PIC1 және PIC2 деп атаймыз. PIC1 IRQ0-ден IRQ7-ге дейін, ал PIC2 IRQ8-ден IRQ15-ке дейін қабылдайды. PIC1 пәрмендер үшін 0x20 портын және деректер үшін 0x21 портын пайдаланады, ал PIC2 пәрмендер үшін 0xA0 және деректер үшін 0xA1 портын пайдаланады.

Екі PIC "Инициализация пәрмен сөздері" (ICW) деп аталатын сегіз разрядты сөздермен инициализацияланған.

Қорғалған режимде екі PIC алдымен ICW1 баптандыру пәрменін (0x11) шығаруы керек. Ол PIC-ке деректер портына келетін тағы үш бастапқы сөзді күту керектігін айтады.

Бұл пәрмендер PIC жібереді:

  • ығысу векторы (ICW2),
  • PIC (ICW3) арасындағы негізгі/құлшылық қатынастары қандай?
  • қоршаған орта туралы қосымша ақпарат (ICW4).

Екінші инициализация пәрмені (ICW2) да әрбір PIC кірісіне жіберіледі. Ол үзу нөмірін алу үшін жол нөмірін қосатын мән болып табылатын офсетті тағайындайды.

PIC олардың шығыстарын бір-бірінің кірістеріне каскадтауға мүмкіндік береді. Бұл ICW3 көмегімен орындалады және әрбір бит сәйкес IRQ үшін каскадтық күйді білдіреді. Әзірге біз каскадты қайта бағыттауды пайдаланбаймыз және оны нөлге қоямыз.

ICW4 қосымша орта параметрлерін көрсетеді. PIC 80x86 режимінде жұмыс істейтінімізді білуі үшін бізге тек төменгі битті анықтау керек.

Та-дам! PIC енді инициализацияланды.

Әрбір PIC-де үзіліс маскасының регистрі (IMR) деп аталатын ішкі сегіз разрядты регистр бар. Ол PIC-ке баратын IRQ жолдарының нүктелік кескінін сақтайды. Егер бит орнатылған болса, PIC сұрауды елемейді. Бұл сәйкес мәнді 0 немесе 1 мәніне орнату арқылы белгілі бір IRQ жолын қосуға немесе өшіруге болатынын білдіреді.

Деректер портынан оқу IMR регистріндегі мәнді қайтарады, ал жазу регистрді өзгертеді. Біздің кодта PIC инициализациясынан кейін біз барлық биттерді біреуіне орнатамыз, бұл барлық IRQ жолдарын өшіреді. Кейінірек біз пернетақта үзілістеріне сәйкес келетін жолдарды белсендіреміз. Бірақ алдымен оны өшірейік!

Егер IRQ желілері жұмыс істеп тұрса, біздің PIC-тер IRQ-де сигналдарды қабылдап, оларды офсетті қосу арқылы үзу санына түрлендіре алады. Біз IDT-ді пернетақтадан келген үзу нөмірі біз жазатын өңдеуші функциясының мекенжайына сәйкес келетіндей етіп толтыруымыз керек.

IDT жүйесінде пернетақта өңдеушісін байланыстыру үшін қандай үзу нөмірі қажет?

Пернетақта IRQ1 пайдаланады. Бұл 1-кіріс жолы және оны PIC1 өңдейді. Біз PIC1 офсетімен 0x20 инициализация жасадық (ICW2 қараңыз). Үзіліс нөмірін алу үшін 1 және 0x21 алу үшін 0x20 қосыңыз. Бұл пернетақта өңдеушісінің мекенжайы 0x21 үзу үшін IDT-ге байланыстырылатынын білдіреді.

Тапсырма 0x21 үзіліс үшін IDT толтыру болып табылады. Біз бұл үзуді ассемблер файлында жазатын keyboard_handler функциясымен салыстырамыз.

IDT-дегі әрбір жазба 64 биттен тұрады. Үзіліске сәйкес жазбада біз бүкіл өңдеуші функциясының мекенжайын сақтамаймыз. Оның орнына біз оны 16 биттен тұратын екі бөлікке бөлеміз. Төменгі разрядтар IDT жазбасының алғашқы 16 битінде, ал жоғарғы 16 бит жазбаның соңғы 16 битінде сақталады. Мұның бәрі 286 процессормен үйлесімділік үшін жасалады. Көріп отырғаныңыздай, Intel бұл сандарды тұрақты негізде және көптеген жерлерде жасайды!

IDT жазбасында біз үшін түрді тіркеу қалады, мұның бәрі үзуді ұстау үшін жасалады. Біз сондай-ақ ядро ​​коды сегментінің ығысуын орнатуымыз керек. GRUB біз үшін GDT анықтайды. Әрбір GDT жазбасының ұзындығы 8 байт, мұнда ядро ​​кодының дескрипторы екінші сегмент болып табылады, сондықтан оның ығысуы 0x08 (толық мәліметтер осы мақалаға сәйкес келмейді). Үзіліс қақпасы 0x8e түрінде берілген. Ортадағы қалған 8 бит нөлмен толтырылған. Осылайша, біз пернетақта үзілуіне сәйкес келетін IDT жазбасын толтырамыз.

IDT салыстыру аяқталғаннан кейін біз процессорға IDT қайда орналасқанын айтуымыз керек. Ол үшін ассемблер нұсқаулығы lidt бар, ол бір операндты алады. Олар IDT сипаттайтын құрылымға дескриптор болып табылады.

Дескриптормен ешқандай проблемалар жоқ. Ол байттағы IDT өлшемін және оның мекенжайын қамтиды. Мен оны ықшамдау үшін массивті қолдандым. Сол сияқты дескрипторды құрылыммен толтыруға болады.

Бізде idr_ptr айнымалысында көрсеткіш бар, оны load_idt() функциясындағы lidt нұсқауларына береміз.

Load_idt: mov edx, lidt sti ret

Сонымен қатар, load_idt() функциясы sti нұсқаулығын пайдаланған кезде үзуді қайтарады.

IDT толтырылған және жүктелген кезде біз IRQ пернетақтасына бұрын айтқан үзу маскасы арқылы қол жеткізе аламыз.

Void kb_init(void) ( write_port(0x21 , 0xFD); )

0xFD – 11111101 – тек IRQ1 (пернетақта) қосыңыз.

Функция – пернетақта үзілістерін өңдеуші

Сонымен, біз 0x21 үзіліс үшін IDT жазбасын жасау арқылы пернетақта үзілістерін keyboard_handler функциясына сәтті салыстырдық. Бұл функция түймені басқан сайын шақырылады.

Keyboard_handler: keyboard_handler_main шақыру iretd

Бұл функция C тілінде жазылған басқа функцияны шақырады және iret сыныбының нұсқауларын пайдаланып басқаруды қайтарады. Біз бүкіл өңдеушіні осында жаза аламыз, бірақ C тілінде кодтау әлдеқайда оңай, сондықтан сол жерге ауысайық. Басқару үзілістерді өңдеу функциясынан үзілген бағдарламаға оралғанда ret орнына iret/iretd нұсқауларын пайдалану керек. Нұсқаулардың бұл класы үзіліс шақырылған кезде стекке итерілетін жалауша регистрін көтереді.

Void keyboard_handler_main(void) ( қол қойылмаған таңба күйі; char кілт коды; /* Write EOI */ write_port(0x20, 0x20); status = read_port(KEYBOARD_STATUS_PORT); /* Төмен күй биті буфер бос болмаса орнатылады */ егер ( күй және 0x01) ( кілт коды = оқу_порты(KEYBOARD_DATA_PORT); if(кілт коды< 0) return; vidptr = keyboard_map; vidptr = 0x07; } }

Мұнда біз алдымен EOI (үзілістің соңы) сигналын оны PIC пәрмен портына жазу арқылы береміз. Сонда ғана PIC қосымша үзу сұрауларына рұқсат береді. Бізге екі портты оқу керек: деректер порты 0x60 және пәрмен порты (aka күй порты) 0x64.

Ең алдымен күйді алу үшін 0x64 портын оқимыз. Егер төменгі күй биті нөлге тең болса, онда буфер бос және оқылатын деректер жоқ. Басқа жағдайларда біз 0x60 деректер портын оқи аламыз. Ол бізге басылған перненің кодын береді. Әрбір код бір түймеге сәйкес келеді. Кодтарды сәйкес таңбалармен салыстыру үшін keyboard_map.h файлында анықталған қарапайым таңбалар массивін қолданамыз. Содан кейін таңба ядроның бірінші нұсқасында қолданған әдістемені пайдаланып экранға басып шығарылады.

Кодты қарапайым ету үшін мен мұнда тек а-дан z-ге дейінгі кіші әріптерді және 0-ден 9-ға дейінгі сандарды өңдеп жатырмын. Арнайы таңбаларды оңай қосуға болады, Alt, Shift және қақпақ құлпы. Пәрмен портының шығысынан перне басылғанын немесе босатылғанын білуге ​​және тиісті әрекетті орындауға болады. Сол сияқты, кез келген пернелер тіркесімін өшіру сияқты арнайы функцияларға байланыстыра аласыз.

Енді сіз ядроны құра аласыз, оны нақты машинада немесе эмуляторда (QEMU) бірінші бөлімдегідей іске қоса аласыз.

Өтініштердің өзін үш топқа бөлуге болады:

  1. Негізгі сұрауларсайтты жалпы сипаттайды. Мысалы, менің сайтыма: үйде отырып табыс, интернеттегі табыс, интернетте жұмыс.
  2. Негізгі сұраныстарсемантикалық ядроға кіреді және оларды пайдалану арқылы сайтты алға жылжыту керек. Мысалы: инвестициясыз интернеттегі табыс, аналарға арналған интернетте жұмыс.
  3. Көмекші сұрауларнемесе ассоциативті, яғни. негізгілеріне мағынасы жағынан ұқсас. Мысалы, декреттік демалыста кім жұмыс істейді, декреттік демалыстағы анаға толық емес жұмыс күні.

Біз семантикалық ядроны өз қолымызбен онлайн жасаймыз

wordstat.yandex.ruкөпшілігі қолжетімді жол SA құру. Бұл сайт адамдар айына қанша рет белгілі бір фразаны (кілт сұрау) іздеуге енгізетінін көрсетеді.

Жұмыс істеу өте қарапайым - негізгі өрісте сайтты тұтастай немесе сайттың қажетті бетін/бөлімін сипаттайтын негізгі сұрауды енгізіңіз. Мысалы, интернет арқылы ақша табыңыз.

Сол жақта сіз негізгі сұраулар (инвестициясыз интернетте ақша табу) және көмекші (интернет арқылы ақша табу, қосымша табыс) тізімін аласыз.

Бұл сандар сіздің қанша рет кездескеніңізді көрсететінін есте сақтаңыз берілген өтініш, бірақ бұл пішінде арнайы емес. Мысалы, адамдар «инвестициясыз ақша табу» емес, «инвестициясыз интернетте ақша табу», «инвестициясыз ақша табу» және т.б.

Адамдар белгілі бір сөз тіркесін қанша рет іздегенін түсіну үшін оны тырнақшаға алып, басына леп белгісін қою керек: «! инвестициясыз табыс». Мән бірнеше есе аз болды, бірақ енді сіз нақты жиілікті білесіз, яғни. осы нақты фразаны іздеуде қанша адам жүр.

Сол сияқты, таңдау кілт сөздер Google (Google.Adwords) және Rambler (Rambler.Adstat) үшін. Қалған іздеу жүйелері олар үшін сұрауларды таңдау үшін тым мардымсыз.

Бірақ сіз мойындауыңыз керек, бұл барлық сұрауларды қолмен таңдау өте қиын, қайғылы және ұзақ. Сондықтан бағдарламаларды қолданған дұрыс.

Біз семантикалық ядроны құраймыз: бағдарламалар

  1. Үстінде жоғарғы панельберіліс түймесін басып, параметрлерге өтіңіз. Мұнда теңшеуге болатын көптеген нәрселер бар, бірақ әзірге мына жерге өтіңіз соңғы қойынды Yandex.Direct;
  2. Яндекс логин мен парольді енгізіңіз (қосымша қорап жасаңыз, өйткені оған тыйым салуға болады);
  3. Жасау түймесін басыңыз жаңа жоба, атаңыз және сақтаңыз;
  4. «Яндекс Wordstat сол жақ бағанындағы сөздердің топтамасы» түймесін басыңыз;
  5. Негізгі сұрауды және бірнеше негізгі сұрауды енгізіңіз, содан кейін «Жинауды бастау» түймесін басыңыз;
  6. SERP-ті қарап шығыңыз және сіз үшін жұмыс істемейтіндердің барлығын белгілеңіз, содан кейін басыңыз оң жақ түймешікті басыңызтінтуір және Белгіленген жолдарды жою;
  7. «Яндекс.Wordstat қызметінен жиіліктерді жинау» - Жиіліктерді жинау «!» түймесін басыңыз.
  8. «Жиілік» бағанына назар аударыңыз!» - Бұл нақты фразаға сұраныстардың нақты саны (айына). Сіз өсу ретімен сүзіп, 30-дан төмен жиілігі бар барлық қысқа тұйықталуларды дереу алып тастай аласыз - бұл күніне тек 1 сұрау.
  9. Деректерді Excel бағдарламасына экспорттау - жоғарғы жолақтағы сәйкес белгішені басыңыз.

ақылы бағдарлама(шамамен 1700 рубль). Онымен кәсіби SEO жұмыс істейді. Егер сіз жай ғана шағын блог үшін SL алғыңыз келсе және солай болса, бағдарлама үшін мұндай ақшаны төлеудің қажеті жоқ, Slovoeb қолданбасын қолданған дұрыс. Көбінесе оны көптеген сайттары бар тәжірибелі блогерлер немесе SEO мақалаларымен айналысатын веб-жазушылар сатып алады.

Бағдарламамен жұмыс істеу өте қарапайым:

  1. Жаңа жобаны бастау;
  2. Ресей + ТМД (немесе басқа) аймағын таңдаңыз;
  3. Іздеу сұрауын енгізіп, Yandex.Wordstat түймесін басыңыз (жасыл түспен белгіленген 1 түйме);
  4. Опцияларды қарап шығыңыз және сәйкесін таңдаңыз;
  5. Экранда жасыл түспен белгіленген 2 және 3 түймелеріне сәйкес сұрауларды тасымалдаңыз;
  6. Дұрыс кілттерді алыңыз.

Бағдарламаның өзін пайдалану өте оңай + Интернетте нұсқаулар бар. Қаласаңыз, сатып алып, пайдалана аласыз.

Семантикалық өзегін өз қолымызбен құрастырамыз

Жоғарыдағы әдістерді пайдаланып сәйкес кілт сөздерді таңдаңыз. Сіз бірден 2000 деп термеуіңіз керек, сіз өзіңізді 200 сұраныспен шектей аласыз, содан кейін дамыта аласыз. Отырыңыз және қандай пернелерді қолданып, жасай алатыныңызды ойлаңыз толық тізім. Бірінші бетке және тағы бірнеше мақалаға арналған пернелерді теру керек.

Сіз алға жылжытуды жоспарламаған сөздер мен сұрауларды алып тастаңыз. Мен «үйде жұмыс істеу Пермь» немесе басқа қалалар сияқты сұраныстарды жиі кездестіремін, сондықтан мен оларды бірден лақтырып тастаймын. Бірден бағалаңыз - адамдар бұл сұрау үшін не алғысы келеді және сіз оны бере аласыз ба?

ТОП10-ға кіре алмайтын жоғары бәсекеге қабілетті сұрауларды алып тастаңыз. Күмәндансаңыз, бәсекелестік деңгейін Mutagen веб-сайтынан тексеріңіз. Жақсы немесе мәселені қолмен бағалаңыз - танымал сұраулар бірден көрінеді.

Сайт бойынша сұрауларды таратыңыз. Орташа жиілікті сұраныстар негізгі бетке өтіп, төмен жиілікті сұрауларды мағынасына қарай топтап, мақалаларда немесе бөлімдерде пайдаланады. Оларды ұнатыңыз түйінді сөздермақалаларда (1 орта жиілікті негізгі, мақалада және тақырыпшаларда бір-екі төмен жиілікті және мәтінде қосалқылармен сұйылтылған). 2000 таңбаға орта есеппен 1-2 пернені енгізіңіз, жиі емес.

Кейбір адамдар SA жасамайды және әлі де табысқа жетеді. Бірақ семантикалық ядроны өз қолыңызбен қалай құру керектігін білу жақсы, сөз таңдау бағдарламалары оны автоматты түрде дерлік жасайды (сөздер). Содан кейін мақалаларды әзірлеу және жазу сізге оңайырақ болады.

Сәлем менің құрметті оқырмандарым!

Сіздердің көпшілігіңіз семантикалық өзек деген нәрсенің бар екенін естіп қана қоймай, тіпті түсінбей жатқаныңызға сенімдімін! Ал сіз не сұрайсыз? Мен сізге қарапайым тілмен түсіндіруге тырысамын. Семантикалық өзек - бұл іздеу жүйесі (бұдан әрі - PS) браузер жолына сұрау енгізген кезде көрсететін кілт сөздердің, сөз тіркестерінің, жай сөйлемдердің, сөз тіркестерінің және т.б.

Семантикалық ядро ​​не үшін қажет? Сайттың семантикалық өзегі жылжыту және жылжыту үшін негіз болып табылады, ол ішкі оңтайландыру үшін қажет. Онсыз семантикалық өзегіжобаңызды (веб-сайтыңызды) жылжыту тиімді болмайды. Сайттың семантикалық өзегі неғұрлым сауатты болса, оны сәтті жылжыту үшін соғұрлым аз ақша қажет болады. Әлі ештеңе анық емес, солай ма? Уайымдамаңыз, мен оны мүмкіндігінше бұзуға тырысамын. Мұқият оқып, бәрін түсініңіз!

Семантикалық ядроны қалай жасауға болады!

Блог тақырыбын шешкеннен кейін бірінші кезекте семантикалық өзегін жасау керек. Ол үшін дәптер мен қалам алып, блог тақырыбын сипаттайтын барлық сөздерді, сөз тіркестерін, сөйлемдерді жазып алу керек. Әрбір сөз, сөз тіркесі немесе сөйлем, шын мәнінде, сіздің посттарыңыздың болашақ тақырыптары болып табылады және сіз неғұрлым көп сөз тапсаңыз, болашақта мақала жазу кезінде таңдау мүмкіндігіңіз болады.

Ал жеткілікті сенімді тізім (200-300 сөз) жасау үшін сізге көп уақыт қажет. Сондықтан, ыңғайлы болу үшін біз арнайы қызметтерді қолданамыз, мысалы, Yandex wordstat, Google adwords, Rambler adstat, олар бізге тапсырманы айтарлықтай жеңілдетеді. Әрине, тек Яндекс пен Google-дан бас тартуға болады. бұл Rambler-пен салыстырғанда кілт сөздерді іздеудегі алыптар, бірақ статистика көрсеткендей, адамдардың 5-6% әлі күнге дейін Rambler-ді іздеу жүйесі ретінде пайдаланады, сондықтан оны назардан тыс қалдырмайық.

Материалды меңгеруді әлдеқайда жеңілдету үшін мен бәрін нақты мысалдармен көрсетемін. Келісіңіз, теория жақсы, бірақ тәжірибеге келгенде, көптеген адамдар қиындықтарға тап болады. Сондықтан, болашақта сіз алған біліміңіз бен тәжірибеңізді блогыңыздың тақырыбына оңай тасымалдай алатындай етіп, біз бірге семантикалық өзегін жасаймыз. Сіздің блог тақырыбыңыз «фотошоп » және онымен байланысты барлық нәрсе. Сондықтан, жоғарыда жазылғандай, мүмкіндігінше көп сөздерді, сөз тіркестерін, сөз тіркестерін, өрнектерді ойлап тауып, дәптерге жазу керек - оларды өзіңізге ұнайтын нәрсе деп атауға болады. Міне, мен фотошоп туралы блогтың тақырыбымен сипаттаған сөздер. Әрине, мен сөздердің толық тізімін емес, тек бір бөлігін ғана көрсетемін, осылайша сіз семантикалық ядроны құрастырудың мағынасын түсінесіз:

Photoshop қылқаламдары
фотошопқа арналған щеткалар
фотошоп қылқаламдары
фотошоп қылқаламдары
фотошоп эффектілері
фотошоп эффектілері
фотоэффект
фотошоп сызбалары
фотошоп сызбалары
коллаж
фото коллаж
фотомонтаж
фото жиектемелер
фото дизайн

Тізім құрастырылды. Ал, бастайық. Мен бірден тапсырыс беремін, сіздің тізіміңіз менікіден әлдеқайда өзгеше болуы мүмкін және әлдеқайда үлкен болуы керек. Мен бұл сөздердің тізімін түсінікті болу үшін жасадым, осылайша сіз семантикалық ядроны қалай құруға болатынын түсінуіңіз керек.

Негізгі сөздер статистикасы Яндекс wordstat

Тізім жасалғаннан кейін бізге қажет емес сөздердің барлығын алып тастау керек, ол үшін біз өз блогымызды насихаттаймыз. Мысалы, мен (фотошоп щеткалары торрент, фотошопқа арналған щеткалар) сияқты сөздермен алға жылжымаймын, бұл тіркестер маған мүлдем түсініксіз, біз сондай-ақ ұқсас тіркестерді сүзгіден өткіземіз, мысалы (фотошоптың тегін және тегін фотошоп щеткалары) . Сіз кілт сөзді таңдаудың мағынасын түсінесіз деп ойлаймын.

Әрі қарай, Яндекс wordstat бағдарламасында екі баған бар екенін көресіз. Сол жақтағы баған адамдардың іздеу жолағына теру арқылы не іздегенін көрсетеді, біздің жағдайда «фотошоп қылқаламдары» тіркесі. Оң жақ бағанда адамдар «photoshop щеткалары» деген тіркесті іздеген кезде тағы не іздегенін көрсетеді, мен сізге оң жақ бағанды ​​елемеуге кеңес беремін, бірақ одан тақырыпқа сәйкес келетін барлық сөздерді таңдауға кеңес беремін.

Жарайды, бұл реттелді, әрі қарай жүрейік. Тағы бір өте маңызды нүкте, «photoshop щеткалары» іздеу нәтижесінен көріп отырғанымыздай, біз 61134 сұраудың үлкен санын көреміз! Бірақ бұл «фотошоп қылқаламдары» тіркесі Яндекс іздеу жолағына айына көп рет енгізілген дегенді білдірмейді. Яндекс wordstat бағдарламасы «фотошоп қылқаламдары» деген сөз тіркесін жүргізетін болсақ, ол сізге сұраулар санын береді, бұл адамдардың кез келген сөз пішіндерін (фотошоп щеткалары, фотошопқа арналған щеткалар) қанша рет іздегенін білдіретін етіп жасалған. бірақ, киста б photoshop және т.б.), фразалар (сөйлемдер) (тегін Photoshop қылқаламдары, Photoshop щеткаларын тегін жүктеп алу және т.б.), онда «фотошоп қылқаламдары» тіркесі бар. Бұл да түсінікті деп ойлаймын.

Яндекс wordstat бізге сұраныстардың нақты санын (салыстырмалы түрде) беруі үшін арнайы операторлар бар, мысалы, («», «!»). Тырнақшаға «фотошоп қылқаламдары» тіркесін енгізсеңіз, адамдардың әртүрлі сөз пішіндерінде (фотошоп қылқаламдары) қанша рет «photoshop brushes» тіркесін іздегенін көрсететін мүлдем басқа санды көресіз. бірақжәне т.б.).

"!photoshop үшін!щеткалар" деген сөз тіркесін тырнақшаға және леп белгісібіз "!photoshop үшін! қылқаламдар" сұраныстарының нақты санын аламыз, яғни. ешбір септік, сөз формалары мен сөз тіркестері жоқ. Мағынасын түсіндіңіз деп ойлаймын, қолдан келгенше шайнап жібердіңіз.

Сонымен, excel бағдарламасында әсерлі тізім жасағаннан кейін әрбір сөзге (фразаға) «!» операторын қолдану керек. Аяқтаған кезде, сізде айына / айына сұраныстардың нақты саны бар тізім болады, оны қайтадан түзету қажет.

Бірақ бұл туралы толығырақ, біз басқа екі кілт сөздерді зерттеу жүйесін (Google adwords және Rambler adstat) қарастырғаннан кейін. Оларды қарастырғаннан кейін кілт сөздер тізімі айтарлықтай толықтырылады.

Google adwords кілт сөзін таңдау

Google adwords кілт сөздерді таңдау үшін де қолданылады, бұл Яндекс wordstat-қа ұқсас қызмет. Осылай жалғастырайық. Біз Google adwords кілт сөздерін таңдау терезесін көреміз. Сол сияқты, біз іздеу жолында «фотошоп щеткалары» тізімінен бірінші фразаны енгіземіз. Google adwords-те операторлар жоқ екенін ескеріңіз, бірақ Сәйкестік түрлері бағанындағы [Нақты] сөзінің жанындағы құсбелгіні қою жеткілікті. Көріп отырғанымыздай, Google adwords-тегі сұраулар саны / айына Яндекс wordstat-тан айтарлықтай ерекшеленеді. Бұл әлі де көп адамдар Яндекс іздеу жүйесін пайдаланады дегенді білдіреді. Бірақ егер сіз бүкіл тізімді қарап шықсаңыз, Яндекс wordstat мүлде көрсетпейтін кілт сөздерді таба аласыз.

Сондай-ақ Google adwords-те сіз көптеген қызықты нәрселерді біле аласыз (мысалы, бір кликтің шамамен құны), оларды кілт сөздерді таңдау кезінде де ескеру қажет. КҚК неғұрлым жоғары болса, сұраныс соғұрлым бәсекеге қабілетті. Мен бұл жерде егжей-тегжейлі тоқталмаймын, кілт сөздерді таңдау принципі Яндекс wordstat бағдарламасына ұқсас және аздап қазу арқылы оны өзіңіз анықтай аласыз. Ары қарай жылжу.

Іздеу сұрауының статистикасы Rambler adstat

Жоғарыда айтып өткенімдей, Rambler adstat алдыңғы екі қызметтен әлдеқайда төмен, бірақ бәрібір одан біраз ақпарат алуға болады. Дәл осылай әрі қарай жүрейік және іздеу жолағына біздің «фотошоп щеткалары» тізімінен бірінші фразаны енгіземіз. Бұл жерде, менің ойымша, егжей-тегжейлі тоқталудың қажеті жоқ. Мен тағы бір рет қайталаймын, барлық үш жүйе үшін кілт сөздерді таңдау принципі ұқсас.

Біз кілт сөздерді таңдаудың үш қызметімен таныстық. Нәтижесінде сізде барлық үш қызметтен жасалған үлкен тізім бар, онда сіз алға жылжытуды жоспарламаған сұраулар мен көшірмелерді алу туралы сұрауларды таңдап қойғансыз. Мен бұл туралы жоғарыда жазғанмын. Бірақ бұл семантикалық ядроны құрастырудың жартысы ғана. Сіздің миыңыз қайнап жатқан шығар, бірақ шын мәнінде, егер сіз оны тереңірек зерттеп, оны анықтасаңыз, мұнда күрделі ештеңе жоқ. Маған сеніңіз, болашақта бәрін түзетуге тура келгенше, семантикалық өзекті бір рет дұрыс құрастырған дұрыс. Ал оны түзету бәрін нөлден жасаудан әлдеқайда қиын. Сондықтан шыдамды болыңыз және алға қарай жүріңіз.

HF, MF және LF сұраулары немесе HFW, MFW және LFW

Семантикалық ядроны құрастыру кезінде жоғары жиілікті, орташа жиілікті және төмен жиілікті сұраулар сияқты ұғымдар да кездеседі немесе оларды жоғары жиілікті, орташа және төмен жиілікті сұраныстар деп те атайды, жоғары жиілікті де болуы мүмкін. , орташа жиілікті және төмен жиілікті сұраулар. Бұл адамдар іздеу жүйелеріне енгізетін сұраулар. Іздеу жолағына бір сұрауды неғұрлым көп адам енгізсе, сұраудың жиілігі соғұрлым жоғары болады (HF сұрауы), орташа және төмен жиілікті сұраулармен бірдей. Бұл да түсінікті деп үміттенемін.

Енді бір маңызды мәселені есте сақтаңыз. Үстінде бастапқы кезеңблогты дамыту үшін оны тек төмен жиілікті сұраулар арқылы алға жылжыту керек, кейде орташа ауқымды сұраулар да пайдаланылады, бұл сұраныстың бәсекелестігіне байланысты болады. РЖ сұраулары үшін сізде мүмкін емес, бұл үшін сізде ақша жеткіліксіз. Төмен жиілікті сұраулар арқылы ТОП-қа жетуден қорықпаңыз, бұл қаражатты инвестициялаусыз мүмкін. Сізде сұрақ туындауы мүмкін, қандай сұраныстар жоғары жиілікті сұраулар, орташа ауқымды сұраулар және төмен жиілікті сұраулар болып саналады?

Міне, менің ойымша, ешкім нақты жауап бере алмайды! Әртүрлі тақырыптағы блогтар үшін бұл әртүрлі болады. Сұраныстардың нақты саны («!») айына 20 мың әсерге жететін немесе одан да көп (мысалы, «!Photoshop сабақтары») өте танымал тақырыптар бар, ал нақты саны азырақ танымал тақырыптар бар. сұраулар тіпті айына 2000 әсерге жетпейді (мысалы, «!Ағылшын тілі сабақтары»).

Бұл жағдайда мен өзім есептеген қарапайым формуланы ұстанамын, оны «!Photoshop сабақтарының» мысалы арқылы көрсетемін:

ВКЗ, СҚЗ және НҚЗ ВК, СК және НК анықтамалары

HF, MF және LF сұрауларынан басқа, тағы бір санат бар. Бұл жоғары бәсекеге қабілетті (VC), орташа бәсекеге қабілетті (SC) және төмен бәсекеге қабілетті (NC) сұраныстар, сондай-ақ VKZ, SKZ және NKZ табуға болады. Бұл жағдайда біз ТОП-қа өтуді жоспарлап отырған сұраныстардың бәсекеге қабілеттілігін анықтауымыз керек, бірақ бұл туралы «» тақырыбында бөлек мақала болады. . Осы арада, HF сұраулары VC сұраулары, MF - SC және LF - NK деп есептейік. Көп жағдайда бұл формула жұмыс істейді, бірақ ерекше жағдайлар бар, мысалы, төмен жиілікті сұраулар жоғары бәсекеге қабілетті (VC) және керісінше, жоғары жиілікті сұраулар NC болып табылады. Мұның бәрі блог тақырыбына байланысты.

Семантикалық ядроны құрастыру схемасы

Түсінікті болу үшін семантикалық ядроның схемалық мысалын қарастырайық. Мұндай нәрсе семантикалық ядроның стандартты схемасы сияқты көрінуі керек.

Бірақ сіз бұл схемаға қатты жабыспауыңыз керек, өйткені. блог жасаған сайын ол сіз үшін өзгеруі мүмкін. Бастапқы кезеңде сізде, айталық, әрқайсысында үш төмен жиілікті сұраудан тұратын төрт тақырып болуы мүмкін және уақыт өте келе бәрі өзгеруі мүмкін.

Сіздердің көпшілігіңіз ештеңені түсінбейсіз, әсіресе семантикалық ядромен бірінші рет бетпе-бет келгендер. Жарайды, мен де басында көп нәрсені түсінбедім, тақырыпты өте жақсы меңгергенше. Мен бұл тақырыпта кәсіби маманмын деп айтқым келмейді, бірақ мен көп нәрсені үйрендім. Ал, уәде еткендей, барлығын нақты мысалмен және тақырыбымызға сай талдап көрейік.

Бірден айтқым келеді, мен "фотошоптың" маманы емеспін, пост жазғанда осы тақырып ойыма келгені ғой. Сондықтан сұрауларды мағынасына қарай таңдадым. Жарайды, міне, мен «фотошоп» тақырыбында ойлап тапқан семантикалық ядроның схемасы. Сіз келесіге ұқсас нәрсемен аяқтауыңыз керек:

Сұраныс түрлері

Барлық сұрауларды (біздің кілт сөздер) үш санатқа бөлуге болады:

  • Негізгі сұраулар- бұл бір-екі сөзбен бере алатын сұраулар жалпы анықтамасіздің ресурсыңыз немесе оның бір бөлігі. Блогыңыздың жалпы тақырыбын қамтитын негізгі сұрауларды басты бетте қалдырған дұрыс. Біздің жағдайда бұл: Photoshop сабақтары, Photoshop эффектілері, фото коллаж жасау жолы.
    Блогыңыздың жалпы тақырыбын азырақ қамтитын, бірақ оның кейбір бөлігін дәл сипаттайтын негізгі сұрауларды блогыңыздың жеке тақырыптары ретінде пайдалану ұсынылады. Біздің жағдайда бұл: Photoshop қылқаламдары, Photoshop жақтаулары, Photoshop үлгілері, фото дизайн.
  • Негізгі сұраныстар- бұл сіздің жобаңыздың тақырыбын дәл анықтайтын және оқырманға пайдалы ақпарат бере алатын, оған не қалайтынын үйрететін немесе жиі қойылатын сұраққа ҚАЛАЙ ??? Яғни, біздің жағдайда бұл: Photoshop-та щеткаларды қалай қосуға болады, Photoshop-та шаблонды қалай жасауға болады, Photoshop-та фото коллажды қалай жасауға болады және т.б. Негізгі сұраулар, шын мәнінде, біздің болашақ мақалаларымыздың тақырыптары болуы керек.
  • Қосымша (көмекші) сұраулар немесе оларды ассоциативті деп те атайды- бұл адамдар негізгі сұранысты іздеу кезінде браузердің іздеу жолағына да енгізетін сұраулар. Анау. бұл негізгі сұраудың бөлігі болып табылатын негізгі тіркестер. Олар негізгі сұранысты толықтыратын сияқты және оны ТОП-қа көтерген кезде кілт сөздер болады. Мысалы: онлайн жаңадан бастаушыларға арналған фотошоп, қызыл көзді кетіруге арналған фотошоп, бірнеше фотосуреттердің коллажы. Бұл түсінікті деп ойлаймын.

Семантикалық өзегін құрастыру стратегиясы

Енді біз бүкіл тізімді беттеуіміз керек. Анау. сіз барлық кілт сөздеріңізден негізгі сұрауларды таңдауыңыз керек, олар сіздің блогыңыздың тақырыптары болады бөлек қойындылар excelде. Содан кейін оларға қатысты негізгі және көмекші сұрауларды таңдап, сәйкес орналастырыңыз әртүрлі беттерсіз жасаған excel құжатында (яғни тақырыптар бойынша). Мен осылай істедім:

Мен жоғарыда жазғанымдай: бастапқы кезеңде LF немесе NC сұраулары үшін блогыңызды алға жылжыту керек. Ал MF (SC) және HF (VC) сұрауларымен не істеу керек, сіз сұрайсыз ба? түсіндіремін.

HF (VC) сұраулары бойынша жылжыту мүмкіндігіңіз екіталай, сондықтан оларды жоюға болады, бірақ бір немесе екі HF (VC) сұрауын қалдыру ұсынылады. басты бет. Мен бірден тапсырыс беремін: ең жоғары жиілікті сұрауға асығудың қажеті жоқ, мысалы, айына 163384 әсер алудың нақты саны бар "фотошоп". Мысалы, сіз үйреткіңіз келеді. адамдар сіздің блогыңызды пайдаланып Photoshop-ты қалай пайдалану керек. Сондықтан негізге жоғары жиілікті сұранысты алыңыз - айына нақты әсер саны бар «Photoshop сабақтары» - 7110. Бұл сұрау сіздің тақырыбыңызды көбірек сипаттайды және ол бойынша жылжыту сізге оңайырақ болады.

Бірақ орташа диапазонды (SC) сұрауларды Excel бағдарламасында бөлек бетке орналастыруға болады. Сіздің блогыңыз PS алдында көтерілген сайын, олар (MF (Ұлыбритания) сұраулары) бірте-бірте сұранысқа ие болады.

Мен жаңадан бастағандар қазір не туралы айтып жатқанымды мүлдем түсінбейтінін білемін, мен сізге бұл туралы мақаланы оқуға кеңес беремін, оны зерттегеннен кейін сізге бәрі түсінікті болады.

Қорытынды

Негізінен солай, бар болғаны. Әрине, сізге көмектесетін бағдарламалар бар семантикалық өзегін құрастыруақылы (Key Kollektor) және тегін (Slovoeb, Slovoder), бірақ мен бұл постта олар туралы жазбаймын. Бір күні мен олар туралы бөлек мақала жазармын. Бірақ олар сізге кілт сөздерді ғана таңдайды және сіз оларды санаттар мен жазбаларға өз бетіңізше таратуыңыз керек.

Ал семантикалық өзегін қалай құрастырасыз? Немесе сіз оны мүлдем шығармайсыз ба? Компиляция кезінде қандай бағдарламалар мен қызметтерді пайдаланасыз? Мен сіздің жауаптарыңызды түсініктемелерде тыңдағым келеді!

Соңында қызықты бейнені қараңыз.

Сайттың семантикалық өзегі - іздеу жүйелерінде сайтты жылжытуды жоспарлаған сұраулар тізімі. Семантикалық ядродан сұраныстар сайт беттері бойынша топтастырылған. Сайттың дайын семантикасы жарнамаланатын сайттың әрбір бетіне сұраныстарды қамтиды.

Семантикалық өзекті құрастырудың негізгі ережелері

  1. Бір сұрау үшін тек бір бет алға жылжытылады. Сайттағы екі немесе одан да көп беттердің бір сұрауға сәйкес келуіне жол берілмейді - әйтпесе, іздеу жүйелері жарнамаланатын сұрау үшін қате бетті көрсетуді таңдауы мүмкін.
  2. Бет пайдаланушының сұрауына жауап беруі керек. Мысалы, егер сұрауда «бағалар» сөзі болса - жарнамаланған бетте өнімнің бағасы болуы керек. Егер сіз «каско-калькулятор» сұранысы бойынша бетті жылжытсаңыз - бетте кемені сақтандыру құнын есептеу формасы болуы керек.
  3. Семантикалық ядроға жоғары, орта және төмен жиіліксұраулар. Сәйкес сұраныстардың максималды санын табу қажет, әйтпесе сіз жарнамадан толық пайда ала алмайсыз.
  4. Сұраныстарды топтастыру кезіндебір топқа бір бетті жылжыту шындыққа сәйкес келетін сұрауларды қосу керек. Мұны істеу үшін іздеу нәтижелерінде сіз таңдаған сұраулар бойынша ТОП-10-ға кіретін беттердің бар-жоғын қараңыз. Егер мұндай беттер болмаса, сұрауларды әртүрлі топтарға бөлу керек.
  5. Яндекстегі «Спектрдің» әсерін тексеріңіз. Сіздің тақырыбыңыз үшін Spectrum ТОП-та 10 орынды емес, тек 1 немесе 2 орынды қалдырғаны белгілі болуы мүмкін - олар үшін бәсекелестік күшейіп келеді. Сондай-ақ, ТОП-та ақпараттық мақалаларды көрсету қажет сұраныстар бар, бірақ коммерциялық ақпарат бар бет жұмыс істемейді.
  6. Назар аударыңыз, жарнама және сиқыршылар!Бәсекеге қабілетті тақырыптарда іздеу нәтижелері көптеген Yandex.Direct жарнамалары мен сиқыршыларды қамтуы мүмкін, олар іздеу нәтижелерін айтарлықтай төмендетеді және ТОП-та болу қайтарымдылығын төмендетеді. Мұндай сұраудың мысалы: «әуе билеттерін сатып алу» (төмендегі скриншотты қараңыз және экранда органикалық нәтижелерді табуға тырысыңыз).

Семантикалық өзегі қанша сұрауды қамтуы керек?

Мүмкін болатын максималды сан - ең дұрысы, тақырыбыңыздағы және сізге сәйкес келетін барлық сұраулар (яғни, сіздің сайтыңыз осы сұрауларға нақты жауап бере алады).

Әдетте, шағын және орта сайттардың семантикалық өзегі бірнеше жүзден мыңдаған сұрауларға ие. Ірі жобалар ондаған және жүздеген мың сұраныстармен алға жылжуы мүмкін.

Мысалы, веб-сайтты жылжыту туралы біздің блог, сайт айына 2000-нан астам әртүрлі сұраулар бойынша іздеу жүйелерінен басуды алады.

SEO блогына арналған қарапайым семантикалық ядроның мысалы

Бұл мысал білім беру болып табылады және топтастырудың мәнін көрсетеді, бірақ ешқандай жобаның нақты тұқымы емес.

Семантикалық ядроны қалай жинауға болады?

  1. Бәсекелестерден көшіру. Бұл жағдайда 2-3 бәсекелес сайт таңдалады және арқылы арнайы бағдарламаларақпарат шығарылады, олардың сайттары ТОП-10-ға кіреді. Мысалы, мұндай ақпаратты Seopult.ru қызметі арқылы тегін алуға болады. Бәсекелестердің сайттары ретінде сіз тақырыптағы ең танымал сайттарды немесе ауқымы жобаңызға барынша жақын келетін компаниялардың сайттарын таңдай аласыз.
    Әдістің артықшылығы:семантикалық өзегін құруға уақытты үнемдеу, салыстырмалы қарапайымдылық және ақысыз.
    Әдістің кемшіліктері:«қоқыс» сұрауларының көп саны, алынған деректерді сүзгілеу және одан әрі өңдеу қажет болады, бәсекелестердің қателерін көшіру қаупі бар. Семантика қандай да бір себептермен бәсекелестер таңдамаған немесе таппаған сұрауларды жоғалтпайды.
  2. ТОП-қа жақын сұрауларды жылжытыңыз. Позициялары ТОП-қа жақын сұраныстар бойынша веб-сайтты жылжыту. Бұл әдісбұрын жарнамаланған ескі сайттар үшін ғана жарамды. 1-беттегі жүйелер арқылы жоба ТОП-30-да қандай сұраныстар бар екендігі туралы ақпарат жиналады және бұл сұраныстар семантикалық ядроға кіреді.
    Әдістің артықшылықтары: тұтынушының уақыты мен бюджетін үнемдеу. Науқанды қайтару жылдамырақ.
    Әдістің кемшіліктері: бұл тәсіл сұраныстардың ең аз санын жинауға мүмкіндік береді. Болашақта семантикалық өзегін кеңейту қажет. Алынатын барлық сұраулар клиенттің бизнесі үшін тиімді болатынына кепілдік жоқ.
  3. Нөлден бастап семантикалық өзегін жасаңыз. негізінде семантика қалыптасады терең талдаужарнамаланатын тауарларды, қызметтерді немесе ақпаратты іздеуге болатын сұраулар.
    Әдістің артықшылықтары: жинақ максималды саныең тиімді жылжыту туралы сұраулар.
    Әдістің кемшіліктері: ұзақ және қымбат.

Сайттың семантикалық өзегін нөлден бастап құрастыру кезеңдері

  1. Жобаны талдау. Талдау бөлігі ретінде бұл қажет толық тізімқызметтер, тауарлар санаттары немесе клиенттің веб-сайтында берілген ақпарат түрлері. Бұл кезеңде компанияның әлеуетті клиенті де талданады. Мысалы, егер компания премиум сегментте тауарларды сатқысы келсе, «арзан» деген сөзбен жылжыту туралы сұрауларды ұсынудың мағынасы жоқ. Барлығын параққа жазу оңтайлы, одан да жақсырақ - Excel бағдарламасында кестелерді қалыптастыру.
  2. Миға шабуыл. Бұл кезеңде жоба командасы сұраныстар тізімін жасайды, олар – топ мүшелерінің пікірі бойынша – клиент сайтындағы әрбір өнім, қызмет немесе ақпарат түрі бойынша іздеуге болады. Сіз ми шабуылына клиентті және SEO-ге қатысы жоқ үшінші тарапты тарта аласыз және оларға желіде осы немесе басқа ақпаратты қалай іздейтіні туралы сұрақтар қоя аласыз - қандай сұраулар қою керек және т.б. Адамдар өте әртүрлі және кейде олар мұндай сұраулар туралы ақпаратты іздейді - бұл үшін ешқандай маман болжамайды! Клиент пен бәсекелестердің сайтындағы мәтіндерді зерттеу пайдалы - әдетте, олар іздеу сұрауларының бөліктерін, бір өнімнің әртүрлі атауларын қамтиды - бұл шын мәнінде олар болуы мүмкін сөздер мен сөз тіркестерінің барлық комбинациялары. іздеу жүйелері арқылы іздейді.
  3. Басқа көздерден іздеу сұрауларын шығарумақаланың соңында ең көп сілтемелер беріледі пайдалы бағдарламаларбұл мәселені шешу үшін):
    • Яндекс пен Google-да статистиканы сұрау;
    • Іздеу жүйелерінде ұсыныстарды іздеу;
    • Іздеу жүйелерінен сайтқа кіру статистикасы (сайтта трафик болса);
    • Бәсекелестердің негізгі сұраулары;
    • Пастухов деректер базасы - іздеу жүйелерін пайдаланушылар сұраған 800 миллионға жуық сұрауларды қамтиды. База үнемі жаңартылып, толықтырылып отырады. Ақылы.
  4. Сүзгілеуді, көшірмелерді және «бос» сөз тіркестерін жоюды сұраңыз. Бұл кезеңде әртүрлі көздерден алынған сұраныстардың тізімдері біріктіріледі. Көшірмелер мен «бос» сұраулар осы тізімнен жойылады. Фразалар нөлдік жиілікпен іздеу жүйесінің статистикалық жүйелерінде тырнақшаға жазылса, сөз тіркестері болып саналады. Сұраныстардың жиілігін анықтау туралы толығырақ оқыңыз.
  5. Сұраныстарды топтастыру. Бұл кезеңде барлық сұраныстардан топтар таңдалады, соған сәйкес сайттың жеке бөлімдері мен беттері алға жылжытылады. Егер сіздің сайтыңызда сұраныстардың белгілі бір топтары үшін жылжыту үшін қолайлы беттер болмаса, мұндай беттер жасалуы керек.
  6. тағы ойлан. Кейде семантикалық өзегін жасағаннан кейін 1-2 күн демалу және осы мәселеге қайта оралу - барлық жиналған ақпаратты жаңа көзқараспен қарау пайдалы. Кейде жаңа идеялар пайда болады, адамдар іздеу жүйелері арқылы ақпаратты қалай іздейді - және бұл семантикалық ядроны кеңейтеді.

Семантикалық негізгі тестілеу

Сайттың семантикалық өзегін таңдаған кезде, оны сынап көрген жөн. Мұны контекстік жарнама жүйесінде сынақтық жарнама науқанын жүргізу арқылы жасауға болады. Бұл қымбат, бірақ ол сізге ең тиімді сұрауларды анықтауға және үлкен сатылым әкелмейтін сұрауларды жоюға мүмкіндік береді.

Сіз контекстік жарнаманы сатып алудың бес себебі мақаласында семантикалық ядроны сынау туралы көбірек біле аласыз.

Веб-сайттың семантикасын дамыту

Бір рет семантикалық өзегін жинап, оны өзгеріссіз қалдыру мүмкін емес. Жаңа өнімдер пайда болады, жаңа сұраныстар пайда болады және ескілері өзектілігін жоғалтады. Сондықтан кем дегенде алты айда немесе жылына бір рет семантикалық өзегін жаңартып, жаңа сұраныстарды жылжытуға байланыстырып, өзектілігін жоғалтқан ескілерді жылжытудан алып тастау қажет.

Түсініктемелерде сіз семантикалық ядроны қалай жасау керектігі туралы сұрақтар қоя аласыз - біз мүмкіндігінше көмектесеміз және жауап береміз.

Семантикалық ядроны таңдауға арналған пайдалы сайттар мен қызметтер:

  • Wordstat.yandex.ru - Яндексте сұрау статистикасын көруге арналған құрал;
  • Rush-analytics.ru - қызмет Yandex.Wordstat деректеріне және Яндекс пен Google-дағы іздеу ұсыныстарының жиынтығына негізделген үлкен ядроларды жинауға мүмкіндік береді. Жүйеге тіркелу кезінде олар жақсы бонус береді.
  • Topvisor.ru - сервис семантикалық ядродан сұрауларды автоматты түрде топтастыруға мүмкіндік береді. Бір топтағы сұраулар санына әсер ететін топтау дәлдігін орнатуға болады.
  • Advse.ru - бұл бәсекелестердің қандай сұрауларды көрсететінін көруге мүмкіндік беретін құрал контекстік жарнама(бірдей сұраулар үшін алға жылжуыңызға болады)
  • Пастухов мәліметтер базасы – сұраныстардың үлкен базасы іздеу жүйесіЯндекс осы мақаланы жазу кезінде 800 миллион сұраныстан тұрды.
  • Seopult.ru - бұл іздеу нәтижелеріндегі сайттың немесе бәсекелестердің позицияларын тегін көруге мүмкіндік беретін құрал. Позицияларды көру үшін жүйеде тіркеліп, жоба жасап, кілт сөздерді таңдау кезеңіне өту керек.

Сайттың семантикалық өзегі толық жиынтығыпайдаланушылар оны іздеу жүйесінде таба алатын веб-ресурс тақырыбына сәйкес келетін кілт сөздер.


Біздің арнада қосымша бейнелер – SEMANTICA көмегімен интернет-маркетингті үйреніңіз

Мысалы, ертегі кейіпкері Баба Ягада мынадай семантикалық өзек болады: Баба Яга, Баба Яга ертегілері, Баба Яга орыс ертегілері, ертегілік минометпен әйел, миномет пен сыпырғыш бар әйел, зұлым. сиқыршы әйел, әйел лашығы, тауықтың аяқтары, т.б.

Сайтқа семантикалық ядро ​​не үшін қажет

Науқан бойынша жұмысты бастамас бұрын, сіз мақсатты келушілер оны іздей алатын барлық кілттерді табуыңыз керек. Семантика негізінде құрылым құрастырылады, кілттер таратылады, мета тегтер, құжат тақырыптары, суреттерге сипаттамалар тағайындалады, анықтамалық массамен жұмыс істеу үшін якорь тізімі әзірленеді.

Семантиканы құрастыру кезінде сіз негізгі мәселені шешуіңіз керек: әлеуетті клиентті тарту үшін қандай ақпаратты жариялау керектігін анықтаңыз.

Кілттер тізімін құрастыру тағы бір маңызды тапсырманы шешеді: әрбір іздеу фразасы үшін пайдаланушының сұрағына толық жауап бере алатын тиісті бетті анықтайсыз.

Бұл мәселе екі жолмен шешіледі:

  • Сіз семантикалық ядроға негізделген сайт құрылымын жасайсыз.
  • Таңдалған шарттарды ресурстың дайын құрылымына сәйкес таратасыз.

Қарау саны бойынша негізгі сұраулардың түрлері (KZ).

  • LF - төмен жиілік. Айына 100 әсерге дейін.
  • MF - орташа диапазон. 101-ден 1000 әсерге дейін.
  • HF - жоғары жиілік. 1000-нан астам әсер.

Статистикаға сәйкес, барлық сөз тіркестері мен сөздердің 60-80% -ы LF. Олармен жұмыс істеу арзанырақ және оңайырақ. Сондықтан сіз үнемі жаңа төмен жиіліктермен толықтырылатын сөз тіркестерінің ең көлемді өзегін жасауыңыз керек. HF және MF-ді де елемеуге болмайды, бірақ басты назар вуферлердің тізімін кеңейтуге аударылуы керек.

Іздеу түрі бойынша қысқа тұйықталу түрлері

  • Ақпарат ақпаратты іздеу кезінде қажет. «Картопты қалай қуыруға болады» немесе «аспанда қанша жұлдыз бар».
  • Транзакциялар әрекетті орындау үшін қолданылады. «Машық орамалға тапсырыс беріңіз», «Высоцкийдің әндерін жүктеп алыңыз»
  • Навигация белгілі бір компанияға қатысты іздеу немесе сайтқа сілтеме жасау үшін қолданылады. «Нан пісіруші MVideo» немесе «Связной смартфондары».
  • Басқалары - кеңейтілген тізім, оған сәйкес іздеудің түпкілікті мақсатын түсіну мүмкін емес. Мысалы, «Наполеон торты» сұрауы - мүмкін адам оны дайындаудың рецептін іздейді немесе бәлкім, ол торт сатып алғысы келеді.

Семантиканы қалай құрастыруға болады

Сіздің бизнесіңіздің негізгі шарттарын және пайдаланушы қажеттіліктерін бөлектеу қажет. Мысалы, кір жуатын тұтынушылар кір жууға және тазалауға қызығушылық танытады.

Содан кейін пайдаланушылар негізгі шарттарға қосатын құйрықтар мен сипаттамаларды (әрбір сұрау үшін 2 сөзден көп) анықтауыңыз керек. Бұл сіздің қамтуыңызды арттырады. мақсатты аудиторияжәне терминдердің жиілігін азайтыңыз (көрпелерді жуу, курткаларды жуу және т.б.).

Семантикалық өзегін қолмен жинау

Яндекс Wordstat

  • Веб-ресурс аймағын таңдаңыз.
  • Құпия фразаны енгізіңіз. Қызмет сізге соңғы айдағы осы кілт сөзбен сұраулар санын және келушілерді қызықтырған «байланысты» терминдердің тізімін береді. Есіңізде болсын, егер сіз, мысалы, «терезелерді сатып алу» деп енгізсеңіз, кілт сөздің нақты пайда болуы үшін нәтиже аласыз. Егер сіз бұл кілтті тырнақшасыз енгізсеңіз, сіз жалпы нәтижелерге қол жеткізесіз және «Воронежде терезе сатып алу» және «пластикалық терезе сатып алу» сияқты сұраныстар да осы суретте көрсетіледі. Көрсеткішті тарылту және нақтылау үшін әрбір сөздің алдына қойылатын «!» операторын пайдалануға болады: !сатып алу!windows. Сіз әр сөздің нақты нәтижесін көрсететін нөмір аласыз. Сіз пластикалық терезелерді сатып алу, терезелерді сатып алу және тапсырыс беру сияқты тізімді аласыз, ал «сатып алу» және «терезелер» сөздері өзгеріссіз көрсетіледі. «Windows сатып алу» сұрауы бойынша абсолютті көрсеткішті алу үшін келесі схеманы пайдалану керек: тырнақшаға «!сатып алу! терезелерін» енгізіңіз. Сіз ең дәл деректерді аласыз.
  • Сол жақ бағандағы сөздерді жинап, әрқайсысына талдау жасаңыз. Бастапқы семантиканы жазыңыз. Пайдаланушылар сол жақтағы бағандағы сөздерді іздегенге дейін немесе кейін енгізген қысқа жолдарды қамтитын оң жақ бағанға назар аударыңыз. Сіз өзіңізге қажет көптеген сөз тіркестерін таба аласыз.
  • Сұраныс журналы қойындысын басыңыз. Графикте сіз әр айдағы маусымдықты, сөз тіркестерінің танымалдылығын талдай аласыз. Жақсы нәтижелер Яндекс іздеу ұсыныстарымен жұмыс істеу арқылы алынады. Әрбір қысқа тұйықталу іздеу өрісіне енгізіледі және семантика құралдар кеңестері негізінде кеңейтіледі.

Google-жоспарлаушы KZ

  • Негізгі RF сұрауын енгізіңіз.
  • Параметрлерді алу опциясын таңдаңыз.
  • Ең сәйкес опцияларды таңдаңыз.
  • Әрбір таңдалған сөз тіркесімен осы әрекетті қайталаңыз.

Бәсекелес сайттарды зерттеу

Бұл әдісті нақты қысқа тұйықталудың дұрыс таңдауын анықтау үшін қосымша әдіс ретінде пайдаланыңыз. Бұл сізге BuzzSumo, Searchmetrics, SEMRush, Advse құралдары көмектеседі.

Семантикалық ядроны құрастыруға арналған программалар

Ең танымал қызметтердің кейбірін қарастырыңыз.

  • Кілттерді жинаушы. Егер сіз өте көлемді семантиканы құрастырсаңыз, онда сіз бұл құралсыз жасай алмайсыз. Бағдарлама Яндекс Wordstat-қа сілтеме жасау арқылы семантиканы таңдайды, осы іздеу жүйесінің іздеу ұсыныстарын жинайды, тоқтау сөздері бар қысқа кілт сөздерді сүзеді, өте төмен жиілікте, қайталанады, сөз тіркестерінің маусымдылығын анықтайды, есептегіштер мен әлеуметтік желілердің статистикасын зерттейді, сәйкес беттерді таңдайды. әрбір сұрау.
  • SlovoEB. Тегін қызмет Key Collector арқылы. Құрал кілт сөздерді, топтарды таңдап, оларды талдайды.
  • Барлығын жіберуші. Қысқа тұйықталуды таңдауға көмектеседі, бәсекелес сайттарды көрсетеді.
  • KeySO. Веб-ресурстың, оның бәсекелестерінің көрінуін талдайды және BR құрастыруға көмектеседі.

Негізгі сөздерді таңдағанда нені ескеру керек

  • Жиілік көрсеткіштері.
  • Қысқа тұйықталудың көп бөлігі LF, қалғандары - MF және HF болуы керек.
  • Іздеуге қатысты беттер.
  • ТОП-тағы бәсекелестер.
  • Фразалар сайысы.
  • Болжалды басу саны.
  • Маусымдық және геотәуелділік.
  • KZ қателері бар.
  • ассоциация кілттері.

Дұрыс семантикалық өзегі

Ең алдымен, сіз «кілт сөздер», «кілттер», «кілт немесе іздеу сұраулары» ұғымдарын анықтауыңыз керек - бұл сіздің сайтыңыздың әлеуетті тұтынушылары қажетті ақпаратты іздейтін сөздер немесе сөз тіркестері.

Келесі тізімдерді жасаңыз: тауарлар немесе қызметтердің санаттары (бұдан әрі - ТУ), ТУ атаулары, олардың брендтері, коммерциялық құйрықтар («сатып алу», «тапсырыс беру» және т.б.), синонимдер, латын тіліндегі транслитерация (немесе тиісінше орыс тілінде). ), кәсіби жаргон («пернетақта» – «клав» т.б.), техникалық сипаттамалары, қателері мен қателері болуы мүмкін сөздер («Орынбор» орнына Орынбор» т.б.), ауданға сілтемелер (қала, көшелер, т.б.) ..).

Тізімдермен жұмыс істегенде, жарнамалық келісімдегі қысқа тізімдерді, веб-ресурс құрылымын, ақпараттарды, прейскуранттарды, бәсекелес сайттарды, бұрынғы SEO тәжірибесін басшылыққа алыңыз.

Алдыңғы қадамда таңдалған сөз тіркестерін араластыру, қолмен немесе қызметтерді пайдалану арқылы семантиканы таңдауға өтіңіз.

Тоқтату сөздерінің тізімін жасаңыз және жарамсыз қысқа тұйықталуларды жойыңыз.

Түйіндемелерді сәйкес беттер бойынша топтаңыз. Әрбір кілт үшін ең сәйкес бет таңдалады немесе a жаңа құжат. Қалаулы бұл жұмысқолмен орындаңыз. Ірі жобалар үшін Rush Analytics сияқты ақылы қызметтер ұсынылады.

Ең үлкенінен кішісіне өтіңіз. Алдымен жоғары деңгейді беттерге таратыңыз. Содан кейін ортаңғы диапазонмен де солай жасаңыз. Төменгі жиілікті жоғары жиілік пен басс жиілігі бар беттерге қосуға болады, сонымен қатар олар үшін жеке беттерді таңдауға болады.
Жұмыстың алғашқы нәтижелерін талдағаннан кейін мынаны көруге болады:

  • жарнамаланатын сайт барлық жарияланған кілт сөздер үшін көрінбейді;
  • KZ сәйкес сіз сәйкес деп есептеген құжаттар берілмейді;
  • веб-ресурстың дұрыс емес құрылымы кедергі жасайды;
  • кейбір түйіндемелерге бірнеше веб-беттер сәйкес келеді;
  • сәйкес беттер жоқ.

Қысқа тұйықталуларды топтастыру кезінде веб-ресурстағы барлық мүмкін бөлімдермен жұмыс жасаңыз, әрбір бетті пайдалы ақпаратпен толтырыңыз, қайталанатын мәтінді жасамаңыз.

Қысқа тұйықталумен жұмыс істеу кезінде жиі кездесетін қателіктер

  • тек айқын семантика таңдалды, сөз формалары, синонимдер және т.б.;
  • оңтайландырушы бір бетте тым көп түйіндемені таратты;
  • бірдей қысқа тұйықталулар әртүрлі беттерде таратылады.

Сонымен қатар, рейтинг нашарлайды, сайт спам үшін жазалануы мүмкін, ал егер веб-ресурста дұрыс емес құрылым болса, оны алға жылжыту өте қиын болады.

Семантиканы қалай таңдағаныңыз маңызды емес. Дұрыс көзқараспен сіз сайтты сәтті жылжыту үшін қажет дұрыс SEO аласыз.

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
рахмет. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!