Как да направите семантично ядро. Да напишем ядро! Създаваме най-простото работещо ядро ​​на операционната система

Как да направите семантично ядро. Да напишем ядро! Създаваме най-простото работещо ядро ​​на операционната система

Поздрави скъпи мои читатели!

Сигурен съм, че много от вас не само са чували, но дори не осъзнават, че има такова нещо като семантично ядро! И какво питаш? Ще се опитам да ви обясня с прости думи. Семантично ядро- това е набор от ключови думи, фрази, прости изречения, фрази и т.н., които търсачката (наричана по-долу PS) издава, когато въведете заявка в реда на браузъра.

За какво е семантичното ядро? Семантичното ядро ​​на сайта е основата за популяризиране и промоция, необходимо е за вътрешна оптимизация. Без семантично ядро ​​популяризирането на вашия проект (уебсайт) няма да бъде ефективно. Колкото по-компетентно е съставено семантичното ядро ​​на сайта, толкова по-малко пари ще са ви необходими за успешното му популяризиране. Все още нищо не е ясно, нали? Не се притеснявайте, ще направя всичко възможно да го разбия възможно най-добре. Прочетете внимателно и разберете всичко!

Как да си направим семантично ядро!

Първото нещо, което трябва да направите, след като сте решили темата на блога, е да създадете семантично ядро. За да направите това, трябва да вземете тетрадка и химикал и да запишете всички думи, фрази, изречения, които характеризират темата на вашия блог. Всяка дума, фраза или изречение всъщност ще бъдат бъдещите заглавия за вашите публикации и след това повече думиизмислите, така че в бъдеще ще имате повече изборпри писане на статии.

И за да направите доста солиден списък (200-300 думи), ще ви отнеме много време. Затова за удобство ще използваме специални услуги, като Yandex wordstat, Google adwords, Rambler adstat, те значително ще опростят задачата за нас. Разбира се, само Yandex и Google могат да бъдат изоставени. това са гиганти в търсенето на ключови думи в сравнение с Rambler, но статистиката показва, че 5-6% от хората все още използват Rambler като търсачка, така че нека не го пренебрегваме.

За да улесните значително усвояването на материала, ще покажа всичко с конкретни примери. Съгласете се, теорията е добра, но когато се стигне до практика, много хора започват да имат проблеми. Затова заедно ще съставим семантично ядро, така че в бъдеще лесно да пренесете придобитите знания и опит в темата на вашия блог. Да приемем, че темата на вашия блог е „photoshop » и всичко свързано с него. Следователно, както беше написано по-горе, трябва да измислите и запишете в тетрадка възможно най-много думи, фрази, фрази, изрази - можете да ги наричате както искате. Ето думите, които характеризирах с темата на блога за Photoshop. Разбира се, няма да изброя целия списък с думи, а само част, за да разберете самия смисъл на съставянето на семантично ядро:

Четки за фотошоп
четки за photoshop
четки за фотошоп
четки за фотошоп
фотошоп ефекти
фотошоп ефекти
фотоелектричен ефект
рисунки за фотошоп
рисунки за фотошоп
колаж
Фото колаж
фотомонтаж
рамки за снимки
фото дизайн

Списъкът е съставен. Е, да започваме. Ще направя резервация веднага, вашият списък може да е много по-различен от моя и трябва да е много по-голям. Съставих този списък с думи за яснота, така че да можете да уловите самата същност на това как да съставите семантично ядро.

Статистика за ключови думи Yandex wordstat

След като списъкът ви бъде оформен, е необходимо да премахнете всички думи, които не са ни необходими, за които определено няма да популяризираме нашия блог. Например, няма да напредвам с думи като (торент четки за фотошоп, четки за грим за фотошоп), тези фрази изобщо не са ми ясни, ние също филтрираме подобни фрази като (четки за фотошоп безплатно и безплатни четки за фотошоп) . Мисля, че разбирате значението на избора на ключови думи.

След това виждате, че има две колони в Yandex wordstat. Колоната вляво ви показва какво са търсили хората, като напишат в полето за търсене, в нашия случай фразата „четки за фотошоп“. Дясната колона показва какво друго са търсили хората, когато са търсили фразата "четки за фотошоп", съветвам ви да не пренебрегвате дясната колона, а да изберете всички думи от нея, които са подходящи за вашия обект.

Добре, това се оправи, да продължим. Друг много важен момент, както можете да видите от резултата от търсенето за "четки за фотошоп", виждаме огромен брой от 61134 заявки! Но това не означава, че фразата „четки за фотошоп“ е въведена толкова много пъти на месец в полето за търсене на Yandex. Yandex wordstat е проектиран по такъв начин, че ако въведем фразата „четки за фотошоп“, той ще ви даде броя на заявките, което ще означава колко пъти хората са търсили всякакви думи (четки за фотошоп, четки за фотошоп А, киста b photoshop и др.), фрази (изречения) ( безплатни четкиза Photoshop, изтегляне на четки за Photoshop безплатно и т.н.), в които присъства фразата "четки за Photoshop". Мисля, че това също е разбираемо.

За да може Yandex wordstat да ни даде (сравнително) точен брой заявки, има специални оператори, като ("", "!"). Ако въведете фразата „четки за фотошоп“ в кавички, ще видите напълно различно число, което ви показва колко пъти хората са търсили фразата „четки за фотошоп“ в различни словоформи (четки за фотошоп Аи т.н.).

При въвеждане на фразата "!четки!за!фотошоп" в кавички и с удивителен знакще получим точния брой заявки за "!четки!за!фотошоп", както е, т.е. без никакви склонения, словоформи и фрази. Мисля, че разбра смисъла, предъвка го, доколкото можа.

И така, след като сте формирали впечатляващ списък в excel, трябва да приложите оператора “!” към всяка дума (фраза). Когато сте готови, ще имате списък с точния брой заявки / на месец, който ще трябва да се коригира отново.

Но повече за това по-късно, след като разгледаме две други системи за изследване на ключови думи (Google adwords и Rambler adstat). Тъй като след тяхното разглеждане списъкът ви с ключови думи ще бъде значително попълнен.

Избор на ключови думи в Google adwords

Google adwords също се използва за избор на ключови думи, това е подобна услуга на Yandex wordstat. Да продължим така. Ще видим прозорец за избор на ключови думи Google adwords. По същия начин въвеждаме в реда за търсене първата фраза от нашия списък с „четки за фотошоп“. Моля, обърнете внимание, че в Google adwords няма оператори, а е достатъчно да поставите отметка в квадратчето до думата [Точно] в колоната Типове съвпадение. Както виждаме, броят заявки / на месец в Google adwords се различава значително от Yandex wordstat. Това предполага, че повече хора все още използват търсачката Yandex. Но ако прегледате целия списък, можете да намерите онези ключови думи, които Yandex wordstat изобщо не показва.

Също така в Google adwords можете да разберете много интересни неща (например приблизителната цена на клик), които също трябва да се вземат предвид при избора на ключови думи. Колкото по-висока е CPC, толкова по-конкурентна е заявката. Няма да се спирам тук подробно, принципът на избор на ключови думи е подобен на Yandex wordstat и с малко копаене можете сами да го разберете. Продължавай.

Статистика на заявките за търсене Rambler adstat

Както споменах по-горе, Rambler adstat е много по-лош от предишните две услуги, но все пак можете да получите информация от него. Нека продължим по същия начин и по същия начин въведете първата фраза от нашия списък с "четки за фотошоп" в полето за търсене. И тук мисля, че не си струва да се спирам подробно. Още веднъж повтарям, принципът на избор на ключови думи и за трите системи е подобен.

Запознахме се с три услуги за избор на ключови думи. В резултат на това имате огромен списък, формиран от трите услуги, в който вече сте направили селекция за онези заявки, за които не планирате да напредвате, и заявки за дубликати. Вече писах за това по-горе. Но това е само половината от съставянето на семантичното ядро. Мозъците ви вероятно вече кипят, но всъщност, ако се задълбочите и разберете, тогава няма нищо сложно тук. Повярвайте ми, по-добре е да компилирате правилно семантичното ядро ​​веднъж, отколкото да трябва да коригирате всичко в бъдеще. И да го поправите е много по-трудно, отколкото да направите всичко от нулата. Така че бъдете търпеливи и продължете напред.

HF, MF и LF заявки или HFW, MFW и LFW

При съставянето на семантичното ядро ​​има и такива понятия като високочестотни, средночестотни и нискочестотни заявкиили те също се наричат ​​HF, MF и LF заявки, VCHZ, SCHZ и LFZ също могат да бъдат намерени. Това са заявките, които хората въвеждат в търсачките. Колкото повече хора въвеждат една и съща заявка в полето за търсене, толкова по-висока е честотата на заявката (HF заявка), същото е със средните и нискочестотните заявки. Надяваме се, че и това е ясно.

Сега запомнете един много важен момент. В началния етап на разработване на блога той трябва да се популяризира само чрез заявки с ниска честота, понякога се използват и заявки от среден клас, това ще зависи от конкуренцията на заявката. За RF заявки е малко вероятно да успеете, просто нямате достатъчно пари за това. Не се страхувайте да стигнете до ТОП чрез нискочестотни заявки, това е възможно без инвестиране на средства. Най-вероятно имате въпрос какви заявки се считат за високочестотни заявки, заявки със среден обхват и заявки с ниска честота?

Тук мисля, че никой не може да даде точен отговор! Блогове различни темище бъде различно. Има много популярни теми, в които точният брой заявки ("!") достига 20 хиляди импресии / на месец или повече (например "!Photoshop уроци"), и има по-малко популярни, в които точният брой на заявки дори не достига 2000 импресии/на месец (например "!Уроци по английски").

В този случай се придържам към проста формула, която изчислих за себе си, ще я демонстрирам на примера на "!Photoshop уроци":

ВК, СК и НК справки на ВКЗ, СКЗ и НКЖ

В допълнение към HF, MF и LF заявки има и друга категория. Това са силно конкурентни (VC), средно конкурентни (SC) и ниско конкурентни (NC) заявки, VKZ, SKZ и NKZ също могат да бъдат намерени. В този случай ще трябва да определим конкурентоспособността на тези заявки, за които планираме да се преместим в ТОП, но ще има отделна публикация за това, по темата "". . Междувременно нека приемем, че HF заявките са VC заявки, MF - SC и LF - NC. В повечето случаи тази формула работи, но има изключения, когато, например, нискочестотните заявки са силно конкурентни (VC) и обратното, високочестотните заявки са NC. Всичко зависи от темата на блога.

Схема за съставяне на семантично ядро

За по-голяма яснота нека разгледаме схематичен пример за семантично ядро. Нещо подобно трябва да изглежда като стандартна схема на семантичното ядро.

Но не трябва да се привързвате силно към тази схема, т.к. докато блогвате, това може да се промени за вас. В началния етап може да имате, да речем, само четири заглавия, съдържащи по три нискочестотни заявки, и с течение на времето всичко може да се промени.

Повечето от вас няма да разберат нищо, особено тези, които се сблъскват със семантичното ядро ​​за първи път. Нищо, аз също не разбирах много неща в началото, докато не проучих много добре темата. Не искам да кажа, че съм професионалист в тази тема, но научих много. И както обещахме, нека разглобим всичко конкретен примери според нашата тема.

Искам веднага да кажа, че не съм експерт по "фотошоп", просто тази тема ми дойде на ум, когато писах публикация. Затова подбрах заявки според значението. Добре, ето схемата на семантичното ядро, което измислих по темата „фотошоп“. Трябва да получите нещо подобно на:

Видове заявки

Всички заявки (нашите ключови думи) могат да бъдат разделени на три категории:

  • Първични заявки- Това са онези заявки, които с една или две думи могат да дадат обща дефиниция на вашия ресурс или част от него. Основните заявки, които най-много покриват общата тема на вашия блог, е най-добре да се оставят на главната страница. В нашия случай това са: уроци по Photoshop, Photoshop ефекти, как да направите фотоколаж.
    Основните заявки, по-малко покриващи общата тема на вашия блог, но най-точно характеризиращи част от него, се препоръчват да се използват като отделни заглавия на вашия блог. В нашия случай това са: четки за Photoshop, рамки за Photoshop, шаблони за Photoshop, дизайн на снимки.
  • Основни искания- това са заявките, които точно определят предмета на вашия проект и са в състояние да дадат полезна информацияна читателя, да го научи на каквото иска, или да отговори на често задавания въпрос КАК??? Тоест в нашия случай това е: как да добавите четки във Photoshop, как да направите шаблон във Photoshop, как да направите фотоколаж във Photoshop и т.н. Основните запитвания всъщност трябва да бъдат заглавията на нашите бъдещи статии.
  • Допълнителни (спомагателни) заявки или те се наричат ​​още асоциативни- това са заявките, които хората също въвеждат в лентата за търсене на браузъра, когато търсят основната заявка. Тези. това са ключови фрази, които са част от основната заявка. Те, така да се каже, ще допълнят основната заявка и ще бъдат ключови думи при популяризирането й в ТОП. Например: фотошоп за начинаещи онлайн, фотошоп за премахване на червени очи, колаж от няколко снимки. Мисля, че това е разбираемо.

Стратегия за съставяне на семантично ядро

Сега трябва да пагинираме целия списък. Тези. трябва да изберете основни заявки от всички ваши ключови думи, които ще бъдат заглавията на вашия блог и да направите отделни раздели в excel. След това изберете основните и спомагателни заявки, свързани с тях, и ги поставете на различни страници в създадения от вас екселски документ(т.е. по заглавия). Ето какво получих:

Както писах по-горе: в началния етап си струва да популяризирате блога си за LF или NC заявки. И какво да правим с MF (SC) и HF (VC) заявки, ще попитате? Обяснявам.

Малко вероятно е да можете да преместите HF (VC) заявки, така че можете да ги изтриете, но се препоръчва да оставите една или две HF (VC) заявки за начална страница. Ще направя резервация веднага: не е нужно да бързате към най-високочестотната заявка, като „photoshop“, която има точен брой импресии / на месец е 163384. Например, искате да преподавате хора как да работят във Photoshop, използвайки вашия блог. Така че вземете за основа високочестотната заявка - „Уроци по Photoshop“, която има точен брой импресии / на месец - 7110. Тази заявка характеризира повече вашата тема и ще ви бъде по-лесно да се движите по нея.

Но заявките за среден клас (SC) могат да бъдат поставени на отделна страница в excel. Тъй като вашият блог се издига в очите на PS, те (MF (UK) искания) постепенно ще станат търсени.

Знам, че сега начинаещите изобщо не разбират за какво говоря, съветвам ви да прочетете статия за това, след като я изучите, всичко ще ви стане ясно.

Заключение

Това е общо взето, това е всичко. Разбира се, има програми, които ще ви помогнат съставяне на семантично ядрокакто платени (Key Kollektor), така и безплатни (Slovoeb, Slovoder), но няма да пиша за тях в тази публикация. Може би някой ден ще напиша отделна статия за тях. Но те ще избират само ключови думи вместо вас и вие ще трябва сами да ги разпръснете в категории и публикации.

И как съставяте семантичното ядро? Или може би изобщо не го композирате? Какви програми и услуги използвате, когато компилирате? Ще се радвам да чуя вашите отговори в коментарите!

И накрая, гледайте едно интересно видео.

Разработването на ядрото с право се смята за трудна задача, но всеки може да напише най-простото ядро. За да се докоснете до магията на хакването на ядрото, просто трябва да следвате някои конвенции и да овладеете асемблера. В тази статия ще ви разкажем как да го направите.


Здравей свят!

Нека напишем ядро, което ще стартира чрез GRUB на x86 съвместими системи. Първото ни ядро ​​ще покаже съобщение на екрана и ще спре там.

Как се зареждат x86 машини

Преди да помислим как да напишем ядро, нека видим как компютърът се зарежда и предава контрола на ядрото. Повечето регистри на процесора x86 имат специфични стойности след зареждане. Регистър - указател на инструкция (EIP) съдържа адреса на инструкцията, която трябва да бъде изпълнена от процесора. Неговата твърдо кодирана стойност е 0xFFFFFFF0. Тоест процесорът x86 винаги ще започне изпълнение от физически адрес 0xFFFFFFF0. Това са последните 16 байта от 32-битовото адресно пространство. Този адрес се нарича вектор за нулиране.

Картата на паметта, която се съдържа в чипсета, посочва, че адресът 0xFFFFFFF0 се отнася до конкретна част от BIOS, а не до RAM. Въпреки това, BIOS се копира в RAM за по-бърз достъп - този процес се нарича "засенчване" (shadowing), създавайки скрито копие. Така че адресът 0xFFFFFFF0 ще съдържа само инструкция за прескачане към мястото в паметта, където BIOS се е копирал.

И така, BIOS започва да работи. Първо, той търси устройства, от които може да се стартира в реда, посочен в настройките. Той проверява медиите за наличието на "магическо число", което ги отличава зареждащи дисковеот обикновените: ако байтове 511 и 512 в първия сектор са 0xAA55, тогава дискът е стартиращ.

След като BIOS намери устройство за зареждане, той ще копира съдържанието на първия сектор в RAM, започвайки от адрес 0x7C00, след което ще прехвърли изпълнението на този адрес и ще започне да изпълнява кода, който току-що е заредил. Този код се нарича bootloader.

Буутлоудърът зарежда ядрото на физически адрес 0x100000. Именно той се използва от повечето популярни ядра за x86.

Всички x86-съвместими процесори започват в примитивен 16-битов режим, наречен "реален режим". GRUB зареждащото устройство превключва процесора в 32-битов защитен режим, като задава долния бит на регистър CR0 на единица. Следователно ядрото започва да се зарежда вече в 32-битов защитен режим.

Имайте предвид, че GRUB, в случай на Linux ядра, избира подходящия протокол за зареждане и зарежда ядрото в реален режим. Самите ядра на Linux преминават към защитен режим.

Какво ни трябва

  • x86 съвместим компютър (очевидно)
  • линукс,
  • NASM асемблер,
  • ld (GNU Linker)
  • изяждане

Входна точка в асемблер

Разбира се, бихме искали да напишем всичко на C, но няма да работи напълно да избегнем използването на асемблер. Ще напишем малък файл в x86 асемблер, който ще бъде отправна точка за нашето ядро. Всичко, което асемблерният код ще направи, е да извика външна функция, който ще напишем на C, след което ще спрем изпълнението на програмата.

Как можем да направим асемблерния код начална точка за нашето ядро? Използваме скрипт за свързване, който свързва обектните файлове и създава крайния изпълним файл на ядрото (обяснен по-подробно по-долу). В този скрипт директно ще посочим, че искаме нашият двоичен файл да бъде зареден на 0x100000. Това е адресът, както вече писах, на който буутлоудърът очаква да види входната точка към ядрото.

Ето асемблерния код.

kernel.asm
битове 32 раздел .text глобален старт extern kmain start: cli mov esp, stack_space извикване kmmain hlt раздел .bss resb 8192 stack_space:

Инструкцията за първи битове 32 не е x86 асемблер, а NASM директива, която ви казва да генерирате код за процесор, който ще работи в 32-битов режим. Това не е задължително за нашия пример, но е добра практика да го посочите изрично.

Вторият ред започва текстова секция, известна още като кодова секция. Целият ни код ще отиде тук.

global е друга директива на NASM, която обявява символите в нашия код за глобални. Това ще позволи на линкера да намери началния символ, който е нашата входна точка.

kmmain е функция, която ще бъде дефинирана в нашия файл kernel.c. extern декларира, че функцията е декларирана някъде другаде.

Следва функцията за стартиране, която извиква kmmain и спира процесора с инструкцията hlt. Прекъсванията могат да събудят процесора след hlt, така че първо деактивираме прекъсванията с инструкцията cli (изчистване на прекъсванията).

В идеалния случай трябва да отделим малко памет за стека и да насочим указателя на стека (esp) към него. GRUB така или иначе изглежда прави това за нас и в този момент указателят на стека вече е зададен. Все пак, за всеки случай, нека отделим малко памет в секцията BSS и да насочим указателя на стека към нейното начало. Използваме инструкцията resb - тя запазва паметта, дадена в байтове. След това се оставя етикет, който сочи към ръба на запазената част от паметта. Точно преди извикването на kmmain, указателят на стека (esp) се насочва към тази област от инструкцията mov.

Ядрото в C

Във файла kernel.asm извикахме функцията kmmain(). Така че в C кода изпълнението ще започне от там.

ядрото.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; }

Всичко, което нашето ядро ​​ще направи, е да изчисти екрана и да отпечата низа моето първо ядро.

Първо, създаваме указател vidptr, който сочи към адреса 0xb8000. В защитен режим това е началото на видео паметта. Текстовата екранна памет е само част от адресното пространство. Областта на паметта е разпределена за I/O на екрана, която започва от адрес 0xb8000 - тя се побира в 25 реда от 80 ASCII символа.

Всеки символ в текстовата памет е представен от 16 бита (2 байта), а не от 8 бита (1 байт), с които сме свикнали. Първият байт е кодът на знака в ASCII, а вторият байт е байтът на атрибута. Това е дефиницията на формата на знаците, включително неговия цвят.

За да отпечатаме символа s в зелено върху черно, трябва да поставим s в първия байт на видео паметта и стойността 0x02 във втория байт. 0 тук означава черен фон, а 2 означава зелен. Ще използваме светлосив цвят, кодът му е 0x07.

В първия цикъл while програмата запълва всичките 25 реда от 80 знака с празни символи с атрибут 0x07. Това ще изчисти екрана.

Във втория цикъл while, символите на низа с нулев край моето първо ядро ​​се записват във видео паметта и всеки знак получава атрибут-байт, равен на 0x07. Това трябва да доведе до изходен низ.

Оформление

Сега трябва да компилираме kernel.asm в обектен файл с помощта на NASM и след това да използваме GCC, за да компилираме kernel.c в друг обектен файл. Нашата задача е да свържем тези обекти в изпълнимо ядро, подходящо за зареждане. За да направите това, трябва да напишете скрипт за линкера (ld), който ще предадем като аргумент.

link.ld
OUTPUT_FORMAT(elf32-i386) ENTRY(start) SECTIONS ( . = 0x100000; .text: ( *(.text) ) .data: ( *(.data) ) .bss: ( *(.bss) ) )

Тук първо задаваме формата (OUTPUT_FORMAT) на нашия изпълним файл на 32-битов ELF (Executable and Linkable Format), стандартен двоичен формат за x86 Unix изображения.

ENTRY приема един аргумент. Той определя името на символа, който ще служи като входна точка на изпълнимия файл.

SECTIONS е най-важната част за нас. Това е мястото, където дефинираме оформлението на нашия изпълним файл. Можем да определим как ще бъдат комбинирани различните секции и къде ще бъде поставена всяка от тях.

IN фигурни скоби, които следват израза SECTIONS, точката означава брояча на местоположението. Той автоматично се инициализира на 0x0 в началото на блока SECTIONS, но може да бъде променен чрез присвояване на нова стойност.

По-рано вече писах, че кодът на ядрото трябва да започва от 0x100000. Ето защо присвояваме стойност 0x100000 на брояча на позиции.

Погледнете line.text: ( *(.text) ) . Звездичката тук указва маска, която съответства на всяко име на файл. Съответно, изразът *(.text) означава всички входни .text секции във всички входни файлове.

В резултат на това линкерът ще обедини всички текстови секции на всички обектни файлове в текстовата секция на изпълнимия файл и ще го постави на адреса, посочен в брояча на позициите. Разделът с код на нашия изпълним файл ще започне от 0x100000.

След като линкерът изобрази текстовата секция, стойността на брояча на позициите ще бъде 0x100000 плюс размера на текстовата секция. По същия начин секциите с данни и bss ще бъдат обединени и поставени на адреса, даден от брояча на позиции.

GRUB и мултибоут

Сега всички наши файлове са готови за изграждане на ядрото. Но тъй като ще зареждаме ядрото с GRUB, остава още една стъпка.

Има стандарт за зареждане на различни x86 ядра с буутлоудър. Това се нарича "multiboot спецификация". GRUB ще зарежда само ядра, които му съответстват.

Съгласно тази спецификация, ядрото може да съдържа заглавка (Multiboot header) в първите 8 килобайта. Тази заглавка трябва да съдържа три полета:

  • магия- съдържа "магическото" число 0x1BADB002, с което се идентифицира заглавката;
  • знамена- това поле не е важно за нас, можете да оставите нула;
  • контролна сума- контролна сума, трябва да даде нула, ако се добави към полетата за магия и флагове.

Нашият файл kernel.asm сега ще изглежда така.

kernel.asm
bits 32 section .text ;multiboot spec align 4 dd 0x1BADB002 ;magic dd 0x00 ;flags dd - (0x1BADB002 + 0x00) ;checksum global start extern kmain start: cli mov esp, stack_space call kmain hlt section .bss resb 8192 stack_space:

Инструкцията 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

Тази команда ще изпълни линкера с нашия скрипт и ще генерира изпълним файл, наречен kernel.

ВНИМАНИЕ

Хакването на ядрото се извършва най-добре във виртуална машина. За да стартирате ядрото в QEMU вместо GRUB, използвайте командата qemu-system-i386 -kernel kernel.

Настройване на GRUB и стартиране на ядрото

GRUB изисква името на файла на ядрото да следва конвенцията kernel-<версия>. Така че преименувайте файла - аз ще кръстя моя kernel-701.

Сега поставяме ядрото в директорията /boot. Това ще изисква привилегии на суперпотребител.

IN конфигурационен файл GRUB grub.cfg ще трябва да добави нещо подобно:

Заглавие myKernel root (hd0,0) kernel /boot/kernel-701 ro

Не забравяйте да премахнете директивата за скрито меню, ако е налице.

ГРУБ 2

За да стартирате ядрото, което създадохме в GRUB 2, което идва по подразбиране в новите дистрибуции, вашата конфигурация трябва да изглежда така:

Меню "ядро 701" (set root="hd0,msdos1" multiboot /boot/kernel-701 ro)

Благодаря на Рубен Лагуана за това допълнение.

Рестартирайте компютъра си и трябва да видите вашето ядро ​​в списъка! И като го изберете, ще видите същия ред.



Това е вашето ядро!

Писане на ядро ​​с поддръжка на клавиатура и екран

Приключихме работата по минимално ядро, което се зарежда чрез GRUB, работи в защитен режим и отпечатва един ред на екрана. Време е да го разширим и да добавим драйвер за клавиатура, който ще чете символи от клавиатурата и ще ги показва на екрана.

Ще комуникираме с I/O устройства чрез I/O портове. По същество те са просто адреси на I/O шината. За операциите за четене и запис в тях има специални процесорни инструкции.

Работа с портове: четене и извеждане

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

I/O портовете се осъществяват чрез инструкциите за вход и изход, които са част от комплекта x86.

В read_port номерът на порта се предава като аргумент. Когато компилаторът извика функция, той избутва всички аргументи в стека. Аргументът се копира в регистъра edx с помощта на указател на стека. Регистърът dx е долните 16 бита на регистъра edx. Инструкцията in тук чете номера на порта, даден в dx, и поставя резултата в al. Регистърът al е долните 8 бита на регистъра eax. Може би си спомняте от курса си в колежа, че върнатите стойности на функциите се предават през регистъра eax. Така read_port ни позволява да четем от I/O портове.

Функцията write_port работи по подобен начин. Приемаме два аргумента: номера на порта и данните, които трябва да бъдат записани. Инструкцията out записва данни в порта.

Прекъсва

Сега, преди да се върнем към писането на драйвер, трябва да разберем как процесорът знае, че дадено устройство е извършило операция.

Най-простото решение е да анкетирате устройствата - непрекъснато проверявайте състоянието им в кръг. По очевидни причини това е неефективно и непрактично. Така че тук влизат в действие прекъсванията. Прекъсването е сигнал, изпратен до процесора от устройство или програма, който показва, че е настъпило събитие. Използвайки прекъсвания, можем да избегнем необходимостта да анкетираме устройства и ще отговаряме само на събития, които ни интересуват.

За прекъсванията в архитектурата x86 отговаря чип, наречен Programmable Interrupt Controller (PIC). Той обработва хардуерни прекъсвания и маршрути и ги превръща в съответните системни прекъсвания.

Когато потребителят направи нещо с устройството, към PIC чипа се изпраща импулс, наречен Заявка за прекъсване (IRQ). PIC преобразува полученото прекъсване в прекъсване на систематаи изпраща съобщение до процесора, че е време да спре това, което прави. По-нататъшната обработка на прекъсванията е задача на ядрото.

Без PIC ще трябва да анкетираме всички налични устройства в системата, за да видим дали е настъпило събитие, включващо някое от тях.

Нека да видим как работи в случая с клавиатурата. Клавиатурата виси на портове 0x60 и 0x64. Порт 0x60 изпраща данни (при натискане на бутон), а порт 0x64 изпраща статус. Трябва обаче да знаем кога точно да четем тези портове.

Тук прекъсванията са много полезни. При натискане на бутона клавиатурата изпраща PIC сигнал по линията за прекъсване IRQ1. PIC съхранява стойността на отместването, съхранена по време на неговата инициализация. Той добавя номера на входния ред към тази подложка, за да формира вектора за прекъсване. След това процесорът търси структура от данни, наречена Interrupt Descriptor Table (IDT), за да даде на функцията за обработка на прекъсвания адрес, съответстващ на нейния номер.

След това кодът на този адрес се изпълнява и обработва прекъсването.

Настройка на IDT

struct IDT_entry( unsigned short int offset_lowerbits; unsigned short int селектор; unsigned char zero; unsigned char type_attr; unsigned short int offset_higherbits;); struct IDT_entry IDT; void idt_init(void) ( unsigned long keyboard_address; unsigned long idt_address; unsigned long idt_ptr; keyboard_address = (unsigned long)keyboard_handler; IDT.offset_lowerbits = keyboard_address & 0xffff; IDT.selector = 0x08; /* KERNEL_CODE_SEGMENTT_OFFSET * =/ KERNEL_CODE_SEGMENTT_OFFSET * =/ ;IDT.type_attr = 0x8e; /* INTERRUPT_GATE */ IDT.offset_higherbits = (keyboard_address & 0xffff0000) >> 16; write_port(0x20 , 0x11); write_port(0xA0 , 0x11); write_port(0x21 , 0x20); write_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, 0xff); idt_address = (неподписан дълъг )IDT; idt_ptr = (sizeof (struct 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),
  • какви са отношенията master/slave между PIC (ICW3),
  • допълнителна информация за околната среда (ICW4).

Втората команда за инициализация (ICW2) също се изпраща на входа на всеки PIC. Той присвоява отместване, което е стойността, към която добавяме номера на реда, за да получим номера на прекъсването.

PIC позволяват техните изходи да бъдат каскадно свързани към входовете на другия. Това се прави с помощта на ICW3 и всеки бит представлява каскадно състояние за съответния IRQ. Засега няма да използваме каскадното пренасочване и ще го занулим.

ICW4 определя допълнителни параметри на средата. Трябва само да дефинираме долния бит, така че PIC-овете да знаят, че работим в режим 80x86.

Та-дам! PIC вече са инициализирани.

Всеки PIC има вътрешен осембитов регистър, наречен регистър на маската за прекъсване (IMR). Той съхранява растерна карта на IRQ линиите, които отиват към PIC. Ако битът е зададен, PIC игнорира заявката. Това означава, че можем да активираме или деактивираме конкретна IRQ линия, като зададем съответната стойност на 0 или 1.

Четенето от порта за данни връща стойността в IMR регистъра, а записът променя регистъра. В нашия код, след инициализация на PIC, ние задаваме всички битове на едно, което деактивира всички IRQ линии. По-късно ще активираме редовете, които съответстват на прекъсвания от клавиатурата. Но първо, нека го изключим!

Ако IRQ линиите работят, нашите PIC могат да приемат сигнали по IRQ и да ги преобразуват в номер на прекъсване чрез добавяне на отместване. Трябва да попълним IDT по такъв начин, че номерът на прекъсване, който идва от клавиатурата, да съвпада с адреса на функцията за обработка, която ще напишем.

Към какъв номер на прекъсване трябва да свържем манипулатора на клавиатурата в IDT?

Клавиатурата използва IRQ1. Това е входен ред 1 и се обработва от PIC1. Инициализирахме PIC1 с отместване 0x20 (вижте ICW2). За да получите номера на прекъсването, добавете 1 и 0x20, за да получите 0x21. Това означава, че адресът на манипулатора на клавиатурата ще бъде свързан в IDT за прекъсване 0x21.

Задачата е да попълните IDT за прекъсване 0x21. Ще съпоставим това прекъсване към функцията keyboard_handler, която ще напишем в асемблерен файл.

Всеки запис в IDT се състои от 64 бита. В записа, съответстващ на прекъсването, ние не съхраняваме адреса на цялата манипулираща функция. Вместо това го разделяме на две части от 16 бита. Долните бита се съхраняват в първите 16 бита на IDT записа, а горните 16 бита се съхраняват в последните 16 бита на записа. Всичко това е направено за съвместимост с 286 процесора. Както можете да видите, Intel прави тези числа редовно и на много, много места!

В IDT записа остава да регистрираме типа, като обозначим по такъв начин, че всичко това се прави, за да се улови прекъсването. Също така трябва да зададем отместването на сегмента на кода на ядрото. GRUB дефинира GDT за нас. Всеки GDT запис е с дължина 8 байта, където дескрипторът на кода на ядрото е вторият сегмент, така че отместването му е 0x08 (подробностите няма да се поберат в тази статия). Портата за прекъсване е представена като 0x8e. Останалите 8 бита в средата са запълнени с нули. Така ще попълним IDT записа, който съответства на прекъсването на клавиатурата.

След като картографирането на IDT е направено, трябва да кажем на процесора къде се намира IDT. За да направите това, има инструкция за асемблер lidt, тя отнема един операнд. Те са указател към манипулатор към структура, която описва IDT.

Няма проблеми с дескриптора. Той съдържа размера на IDT в байтове и неговия адрес. Използвах масив, за да го направя по-компактен. По същия начин можете да попълните дескриптора със структура.

Имаме указател в променливата idr_ptr, който предаваме на инструкциите на lidt във функцията load_idt().

Load_idt: mov edx, lidt sti ret

Освен това функцията load_idt() връща прекъсване при използване на инструкцията sti.

С попълнен и зареден IDT можем да получим достъп до IRQ на клавиатурата, използвайки маската за прекъсване, за която говорихме по-рано.

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

0xFD е 11111101 - активирайте само IRQ1 (клавиатура).

Функция - обработка на прекъсвания от клавиатурата

Така че ние успешно съпоставихме прекъсванията на клавиатурата към функцията keyboard_handler, като създадохме IDT запис за прекъсване 0x21. Тази функция ще се извиква всеки път, когато щракнете върху бутон.

Keyboard_handler: извикайте keyboard_handler_main iretd

Тази функция извиква друга функция, написана на C, и връща контрол, използвайки инструкции от класа iret. Можем да напишем целия ни манипулатор тук, но е много по-лесно да се кодира в C, така че нека преминем там. Инструкциите iret/iretd трябва да се използват вместо ret, когато управлението се връща от функцията за обработка на прекъсване към програмата, която е прекъснала. Този клас инструкции повдига флагов регистър, който се избутва в стека, когато се извика прекъсване.

Void keyboard_handler_main(void) ( unsigned char status; char keycode; /* Напишете EOI */ write_port(0x20, 0x20); status = read_port(KEYBOARD_STATUS_PORT); /* Нисък бит за състояние ще бъде зададен, ако буферът не е празен */ if ( статус & 0x01) (ключов код = read_port(KEYBOARD_DATA_PORT); if(ключов код< 0) return; vidptr = keyboard_map; vidptr = 0x07; } }

Тук първо даваме EOI (край на прекъсването) сигнал, като го записваме в командния порт на PIC. Само тогава PIC ще позволи допълнителни заявки за прекъсване. Трябва да прочетем два порта: порт за данни 0x60 и порт за команди (известен още като порт за състояние) 0x64.

Първо, четем порт 0x64, за да получим състоянието. Ако долният бит за състояние е нула, тогава буферът е празен и няма данни за четене. В други случаи можем да прочетем порт за данни 0x60. Той ще ни даде кода на натиснатия клавиш. Всеки код отговаря на един бутон. Използваме прост масив от знаци, дефиниран във файла keyboard_map.h, за да нанесем кодовете на съответните знаци. След това знакът се отпечатва на екрана, като се използва същата техника, която използвахме в първата версия на ядрото.

За да опростя кода, тук обработвам само малки букви от a до z и числа от 0 до 9. Можете лесно да добавите специални знаци, Alt, Shift и Caps Lock. Можете да разберете дали даден клавиш е бил натиснат или освободен от изхода на командния порт и да предприемете подходящото действие. По същия начин можете да свържете всички клавишни комбинации със специални функции като изключване.

Сега можете да изградите ядрото, да го стартирате на реална машина или на емулатор (QEMU) по същия начин, както в първата част.

Здравейте всички! Днешната статия е посветена на това как да сглобите правилно семантичното ядро ​​(SN). Ако се занимавате със SEO промоция в Google и Yandex, искате да увеличите естествения трафик, да увеличите трафика и продажбите на уебсайта, този материал е за вас.

За да стигнем до дъното на истината, ще проучим темата от "А до Я":

В заключение, помислете Общи правилаза съставяне на SA. Така че да започваме!

Семантично ядро: какво е това и какви са заявките

Семантичното ядро ​​на сайта (известно още като „семантично ядро“) е набор от думи и фрази, които точно съответстват на структурата и предмета на ресурса. Просто казано, това са заявките, чрез които потребителите могат да намерят сайт в Интернет.

Това е правилното семантично ядро, което дава на търсачките и аудиторията пълна картина на информацията, представена на ресурса.

Например, ако една компания продава готови пощенски картички, тогава семантичното ядро ​​трябва да включва такива заявки: „купете пощенска картичка“, „цена на пощенска картичка“, „пощенска картичка по поръчка“ и други подобни. Но не: „как да си направим пощенска картичка“, „направи си сам пощенска картичка“, „домашно приготвени пощенски картички“.

Интересно да знаете: LSI copywriting. Ще замени ли методологията SEO?

Класификация на заявките по честота:

  • Високочестотни заявки(HF) - най-често "изкован" в лентата за търсене (например "купете пощенска картичка").
  • среден клас(MF) - по-малко популярни от HF клавишите, но също представляват интерес за широка аудитория ("цена за покупка на пощенска картичка").
  • Ниска честота(LF) - фрази, които се изискват много рядко ("купете пощенска картичка").

Важно е да се отбележи, че няма ясни граници, разделящи HF от SL и LF, тъй като те варират в зависимост от предмета. Например за заявката "оригами" индикаторът RF е 600 хиляди импресии на месец, а за "козметика" - 3,5 милиона.

Ако се обърнем към анатомията на ключа, тогава високите честоти се състоят само от тялото, средните и басите се допълват от спецификатор и „опашка“.

При формирането на семантичното ядро ​​е необходимо да се използват всички видове честоти, но в различни пропорции: минимум високи честоти, максимум ниски честоти и средно количество средни честоти.

За да стане по-ясно, нека направим аналогия с дърво. Багажникът е най-важната заявка, на която почива всичко. Дебелите клони по-близо до ствола са ключове от среден клас, също популярни, но не толкова популярни като HF. Тънките клони са нискочестотни думи, които също се използват за търсене на желания продукт / услуга, но рядко.

Разделяне на ключовете по конкуренция:

  • силно конкурентен (VC);
  • средно конкурентно (SC);
  • ниска конкурентност (NC).

Този критерий показва колко уеб ресурси се използват дадено исканеза напредък. Тук всичко е просто: колкото по-висока е конкурентоспособността на ключа, толкова по-трудно е да пробиете и да останете в топ 10 с него. Нискоконкурентните също не заслужават внимание, тъй като не са много популярни в мрежата. Идеалният вариант е да напреднете според заявките на SK, с което наистина е възможно да заемете първо място в стабилна бизнес област.

Класификация на заявките според нуждите на потребителя:

  • Транзакционен– ключове, свързани с действието (купуване, продажба, качване, изтегляне).
  • Информационен– за получаване на каквато и да е информация (какво, как, защо, колко).
  • Навигационен- помощ за намиране на информация за конкретен ресурс („купете телефонен контакт“).

Останалите ключови думи, когато е трудно да се разбере намерението на потребителя, се причисляват към групата „Други“ (например само думата „пощенска картичка“ повдига много въпроси: „Купете? Направете? Рисувайте?“).

Защо един уебсайт се нуждае от семантично ядро?

Събирането на семантично ядро ​​е трудна работа, която изисква много време, усилия и търпение. Няма да работи в "два акаунта", за да съставите правилния SA, който ще работи.

Тук възниква един доста разумен въпрос: струва ли си да полагате усилия за избор на семантично ядро ​​за сайт? Ако искате вашият интернет проект да бъде популярен, постоянно да увеличавате клиентската база и съответно да увеличавате печалбата на компанията, отговорът е недвусмислен: „ДА“.

Тъй като събирането на семантичното ядро ​​помага:

  • Увеличете видимостта на уеб ресурс. Търсачките Yandex, Google и други ще намерят вашия сайт по избраните от вас ключове и ще го предложат на потребители, които се интересуват от тези заявки. В резултат на това притокът на потенциални клиенти нараства и шансовете за продажба на продукт / услуга се увеличават.
  • Избягвайте грешките на конкурентите.При създаването на SL задължително се извършва анализ на семантичното ядро ​​на конкурентите, които заемат първа позиция в резултатите от търсенето. Чрез проучване на водещи сайтове можете да определите какви заявки им помагат да останат на върха, за какви теми пишат, какви идеи са неуспешни. По време на анализа на конкурентите може да възникнат и идеи как да развиете бизнеса си.
  • Направете структурата на сайта. Семантичното ядро ​​се препоръчва да се използва като "асистент" за създаване на структурата на сайта. Събирайки пълния SA, можете да видите всички заявки, които потребителите въвеждат, когато търсят вашия продукт или услуга. Това ще помогне да се определят основните раздели на ресурса. Най-вероятно ще трябва да направите страници, за които дори не сте мислили първоначално. Важно е да се разбере, че SL предполага само интересите на потребителите. В идеалния случай структурата на сайта съответства на бизнес сферата и съдържа съдържание, което отговаря на нуждите на аудиторията.
  • Избягвайте свръхспама.След като анализирате семантичното ядро ​​на конкурентните сайтове отгоре, можете да зададете оптималната честота на ключовите думи. Тъй като няма универсален индикатор за плътност на заявките за всички страници на ресурса, а всичко зависи от темата и типа на страницата, както и от езика и самия ключ.

Как иначе можете да използвате семантичното ядро? Да съставя правилния план за съдържание. Правилно събраните ключови думи ще предложат теми за текстове и публикации, които представляват интерес за вашата целева аудитория.

Заключение. Практически е НЕВЪЗМОЖНО да създадете интересен, популярен и печеливш интернет проект без SA.

Тематичен материал:

Подготовка за събиране на семантичното ядро ​​за сайта

Преди да създадете семантичното ядро ​​на сайта, трябва да направите следното:

I. Проучете дейността на компанията ("мозъчна атака")

Тук е важно да изпишете ВСИЧКИ услуги и стоки, които организацията предлага. Например, за да сглобите семантично ядро ​​за онлайн магазин за мебели, можете да използвате следните заявки: диван, фотьойл, легло, коридор, шкаф + реставрация, ремонт. Основното тук е да не пропускате нищо и да не добавяте твърде много. само действителна информация, т.е. ако фирмата не продава пуфове или ремонтира мебели, тези заявки не са необходими.

В допълнение към мозъчната атака можете да използвате услугите Google Analyticsи Yandex.Metrika (фиг. 1) или лични сметкив Google Search Console и Yandex Webmaster (фиг. 2). Те ще ви кажат кои заявки са най-популярни сред вашите целева аудитория. Такава помощ е достъпна само за вече работещи сайтове.

Помощни текстове:

  • Адвего- работи на същия принцип като Istio.com.

  • Прости инструменти за SEO- безплатна услуга за SEO-анализ на сайта, включително семантичното ядро.

  • Lenartools.Работи просто: заредете страниците, откъдето трябва да „извадите“ ключовете (максимум 200), щракнете върху „Да тръгваме“ - и ще получите списък с думи, които най-често се използват в ресурсите.

II. За да анализирате семантичното ядро ​​на конкурентен сайт:

  • СЕМРУШ- трябва да добавите адреса на ресурса, да изберете държава, да кликнете върху "Старт сега" и да получите анализ. Услугата е платена, но при регистрация се предоставят 10 безплатни проверки. Подходящ и за събиране на ключове за собствен бизнес проект.

  • SpyWords– услуга за анализ на дейността на конкурент: бюджет, трафик от търсене, обяви, заявки. IN свободен достъп"намален" набор от функции и срещу заплащане можете да получите подробна картина на промоцията на интересуващата ви компания.

  • Serpstatе многофункционална платформа, която предоставя отчет за ключови думи, рейтинг, конкуренти в резултатите от търсенето с Google и Yandex, препратки и т.н. Подходяща за избор на SEO и анализ на вашия ресурс. Единственият минус е, че пълният набор от услуги е достъпен след заплащане на тарифния план.

  • PR-CYбезплатна програмаза семантичен анализ на ядрото, използваемост, мобилна оптимизация, маса на връзките и много повече.

Друг ефективен методразширения на семантичното ядро ​​- използвайте синоними. Потребителите могат да търсят един и същ продукт или услуга по различни начини, така че е важно да включите всички алтернативни ключове в CL. Съвети в Google и Yandex ще ви помогнат да търсите синоними.

съвет. Ако сайтът е информационен, първо трябва да изберете заявките, които са основните за този ресурс и за които е планирана промоция. И след това сезонно. Например, за уеб проект за модни тенденции в облеклото, ключовите заявки ще бъдат: мода, жени, мъже, деца. И, така да се каже, "сезонни" - есен, зима, пролет и т.н.

Как да изградите семантично ядро: подробни инструкции

След като решите списъка със заявки за вашия сайт, можете да започнете да събирате семантичното ядро.

Може да се направи:

I. БЕЗПЛАТНО използване на:

Wordstat Yandex

Yandex Wordstat е много популярна онлайн услуга, с която можете:

  • събира семантичното ядро ​​на сайта със статистика за месеца;
  • вземете думи, подобни на заявката;
  • филтриране на ключови думи, въведени от мобилни устройства;
  • разберете статистика по град и регион;
  • определяне на сезонните колебания на ключовете.

Голям недостатък: трябва да "разтоварите" ключовете ръчно. Но ако инсталирате разширението yandex wordstat асистент,работата със семантичното ядро ​​ще се ускори многократно (от значение за браузъра Opera).

Използва се лесно: щракнете върху „+“ до желания ключ или щракнете върху „добавяне на всички“. Заявките автоматично се пренасочват към списъка с разширения. След като съберете SA, трябва да го прехвърлите в редактора на таблици и да го обработите. Важни предимства на програмата: проверка за дубликати, сортиране (азбука, честота, добавяне), възможност за ръчно добавяне на ключове.

Инструкции стъпка по стъпка как да използвате услугата са дадени в статията:Яндекс. Wordstat (Wordstat): как да събираме ключови думи?

Google Ads

Инструмент за планиране на ключови думи от Google, който ви позволява да вземете безплатно семантично ядро ​​онлайн. Услугата намира ключови думи въз основа на заявките на потребителите на търсачката Google. За да работите, трябва да имате акаунт в Google.

Услугата предлага:

  • намиране на нови ключови думи;
  • вижте броя на заявките и прогнозите.

За да съберете семантичното ядро, трябва да въведете заявка, като изберете местоположение и език. Програмата показва средния брой заявки на месец и нивото на конкуренция. В горната част на страницата има и информация за рекламните импресии и офертата за показване на реклама.

Ако е необходимо, можете да зададете филтър по конкуренция, средна позиция и други критерии.

Възможно е също така да поискате отчет ( инструкции стъпка по стъпкакак да го направите, показва програмата).

За да проучите прогнозата за трафика, просто въведете заявка или набор от ключове в полето „Преглед на броя заявки и прогнози“. Информацията ще помогне да се определи ефективността на SA за даден бюджет и ставка.

„Недостатъците“ на услугата включват следното: няма точна честота (само средно за месеца); не показва криптирани ключове на Yandex и скрива някои от Google. Но той определя конкурентоспособността и ви позволява да експортирате ключови думи във формат Excel.

СловоЕБ

Това е безплатна версия на програмата Key Collector, която има много полезни функции:

  • бързо събира семантичното ядро ​​от дясната и лявата колона на WordStat;
  • извършва пакетно събиране на съвети за търсене;
  • дефинира всички видове честота;
  • събира данни за сезонността;
  • ви позволява да извършвате пакетно събиране на думи и честота от Rambler.Adstat;
  • изчислява KEI (коефициент на ключова ефективност).

За да използвате услугата, е достатъчно да въведете информацията за вашия акаунт в Direct (вход и парола).

Ако искате да научите повече, прочетете статията: Slovoeb (Slovoeb). Основи и инструкции за употреба

букварикс

Лесна за използване и безплатна програма за събиране на семантично ядро ​​с база данни с повече от 2 милиарда заявки.

Е различен оперативна работа, както и полезни функции:

  • поддържа голям списък с думи за изключение (до 10 хиляди);
  • ви позволява да създавате и прилагате списъци с думи директно при формиране на извадка;
  • предлага да се правят списъци с думи чрез умножаване на няколко списъка (Combinator);
  • премахва дублиращи се ключови думи;
  • показва честотата (но само "в световен мащаб", без избор на регион);
  • анализира домейни (един или повече, сравнявайки CL ресурси);
  • експортирани във формат .csv.

Единственият основен недостатък за инсталационна програма- голямо "тегло" (в архивиран формат ≈ 28 GB, в разопакован ≈ 100 GB). Но има алтернатива - изборът на SA онлайн.

II. ПЛАЩАНЕ с помощта на програми:

Базата на Максим Пастухов

Руска услуга, която разполага с база данни с повече от 1,6 милиарда ключови думи Yandex WordStatи Direct, както и английски, съдържащ повече от 600 милиона думи. Работи онлайн, помага не само при създаването на семантично ядро, но и при стартирането рекламна кампанияв Yandex.Direct. Неговият най-важен и важен недостатък може безопасно да се нарече висока цена.

Събирач на ключове (Събирач на ключове)

Може би най-популярният и удобен инструмент за събиране на семантичното ядро.

Колектор на ключове:

  • събира ключови думи от дясната и лявата колона на WordStat Yandex;
  • премахва "ненужните заявки с помощта на опцията "Стоп думи";
  • търси дубликати и определя сезонни ключови думи;
  • филтрира ключове по честота;
  • качени във формат на електронна таблица на Excel;
  • намира страници, подходящи за заявката;
  • събира статистика от: Google Analytics, AdWords и др.

Можете да оцените как Key Collector събира безплатно семантичното ядро ​​в демонстрацията.

Rush Analytics

Услуга, която може да се използва за събиране и групиране на семантичното ядро.

В допълнение, Rush Analytics:

  • търсене на съвети в Youtube, Yandex и Google;
  • предлага удобен филтър за стоп думи;
  • проверява индексиране;
  • определя честотата;
  • проверява позицията на сайта за настолни и мобилни устройства;
  • генерира технически спецификации за текстове и др.

Страхотен инструмент, но платен: без демонстрация и ограничени безплатни проверки.

Мутаген

Програмата събира ключови заявки от първите 30 сайта в търсачката Yandex. Показва честотата на месец, конкурентоспособността на всеки заявка за търсенеи препоръчва използването на думи с показател до 5 (тъй като висококачественото съдържание е достатъчно за ефективно популяризиране на такива ключови думи).

Полезна статия: 8 вида текстове за сайта - пишем правилно

Платена програма за събиране на семантично ядро, но има безплатен лимит - 10 проверки на ден (достъпни след първото попълване на бюджета, поне за 1 rub.). Отворено само за регистрирани потребители.

Инструмент за ключови думи

Надеждна услуга за създаване на семантично ядро, което:

  • V безплатна версия – събира повече от 750 ключа за всяка заявка, използвайки съвети от Google, Youtube Bing, Amazon, eBay, App Store, Instagram;
  • в платени- показва честотата на заявките, конкуренцията, разходите в AdWords и динамиката.

Програмата не изисква регистрация.

В допълнение към представените инструменти има много други услуги за събиране на семантичното ядро ​​на сайта с подробни видео прегледи и примери. Спрях се на тях, защото ги смятам за най-ефективни, прости и удобни.

Заключение. Ако е възможно, препоръчително е да закупите лицензи за използване на платени програми, тъй като тяхната функционалност е много по-широка от тази на техните безплатни колеги. Но за просто събиране на SA "отворените" услуги са доста подходящи.

Групиране на семантично ядро

Готовото семантично ядро, като правило, включва много ключови думи (например за заявката "мека мебел" услугите дават няколко хиляди думи). Какво да правя след това с такъв огромен брой ключови думи?

Събраните ключове се нуждаят от:

I. Почистване от "боклук", дубликати и "думи"

Заявки с нулева честота, както и грешки, просто се изтриват. За да премахнете ключове с ненужни "опашки", ви съветвам да използвате в функция на ексел"Сортиране и филтриране". Какво може да е боклук? Например, за търговски сайт ще бъдат излишни думи като „изтегляне“, „безплатно“ и т. н. Дубликатите могат също да бъдат автоматично премахнати в Excel с помощта на опцията „премахване на дубликати“ (вижте примерите по-долу).

Премахване на ключове с нулева честота:

Изтрийте ненужните "опашки":

Отървете се от дубликати:

II. Премахнете силно конкурентни заявки

Ако не искате „пътят“ към върха да се простира с години, изключете VK ключовете. С такива ключови думи няма да е достатъчно само да стигнете до първите позиции в резултатите от търсенето, но по-важното и по-трудно е да се опитате да останете там.

Пример за това как да определите VK ключовете чрез Google Keyword Planner (можете да оставите само NK и SK през филтъра):

III. Разгрупирайте семантичното ядро

Можете да направите това по два начина:

1. ПЛАЩАНЕ:

  • KeyAssortе семантичен основен клъстер, който помага да се създаде структура на уебсайт и да се намерят лидери в ниши. Работи на базата на търсачките Yandex и Google. Разгрупира 10 000 заявки само за няколко минути. Можете да оцените предимствата на услугата, като изтеглите демо версията.

  • SEMparserизвършва автоматично групиране на ключове; създаване на структура на сайта; дефиниция на лидери; генериране на технически спецификации за копирайтъри; Синтаксичен анализ на акцентите на Yandex; определяне на геозависимост и "комерсиални" заявки, както и релевантността на страниците. Освен това услугата проверява доколко текстът съвпада с горната част според SEO параметрите. Как работи: събирате SN, запазвате го във формат .xls или .xlsx. Създайте нов проект в услугата, изберете регион, качете файл със заявки - и след няколко секунди ще получите думи, сортирани по семантични групи.

В допълнение към тези услуги мога да посъветвам още Rush Analytics,които вече срещнахме по-горе, и Просто магия.

Rush Analytics:

Просто магия:

2. БЕЗПЛАТНО:

  • Ръчно- С използвайки Excelи функции "Сортиране и филтриране". За да направите това: задайте филтър, въведете заявка за групата (например „купете“, „цена“), маркирайте списъка с ключове с цвят. След това задайте опцията „Персонализирано сортиране“ (в „Сортиране по цвят“), като отидете на „сортиране в определен диапазон". Последният щрих е да добавите имена към групите.

Етап 1

Стъпка 2

Стъпка 3

Стъпка 4

Пример за негрупирано семантично ядро:

  • SEOQUICKбезплатна онлайн програмаза автоматично групиране на семантичното ядро. За да "разпръснете" ключовете в групи, просто качете файл със заявки или ги добавете ръчно и изчакайте малко. Инструментът е бърз, засича честотата и вида на ключа. Позволява ви да премахнете ненужните групи и да експортирате документа във формат Excel.

  • Асистент за ключови думи. Услугата работи онлайн на принципа на Excel таблица, т.е. Ще трябва да разпръснете ключовите думи ръчно, но това отнема много по-малко време, отколкото работата в Excel.

Как да клъстерирате семантичното ядро ​​и кои методи да използвате зависи от вас. Вярвам, че начинът, по който се нуждаете, може да се направи само ръчно. Това е дълго, но ефективно.

След като съберете и разпределите семантичното ядро ​​в секции, можете да започнете да пишете текстове за страниците.

Прочетете свързана статия с примери: Как правилно да въвеждаме ключови думи в текста?

Общи правила за създаване на SA

Обобщавайки, важно е да добавите съвети, които ще помогнат за сглобяването на правилното семантично ядро:

SA трябва да бъде проектирана по такъв начин, че да отговаря на нуждите на възможно най-много потенциални клиенти.

Семантиката трябва точно да съвпада с темата на уеб проекта, т.е. фокусирайте се само върху целеви заявки.

Важно е готовото семантично ядро ​​да включва само няколко високочестотни клавиша, а останалата част е запълнена със средно- и нискочестотни ключове.

Трябва редовно да разширявате семантичното ядро, за да увеличите естествения трафик.

И най-важното: всичко в сайта (от ключовете до конструкцията) трябва да бъде направено "за хората"!

Заключение. Добре сглобеното семантично ядро ​​дава реален шанс за бързо популяризиране и задържане на сайта на челни позиции в резултатите от търсенето.

Ако се съмнявате, че ще можете да сглобите правилния SL, по-добре е да поръчате семантично ядро ​​за сайта от професионалисти. Това ще спести време, енергия и ще донесе повече ползи.

Също така ще бъде интересно да знаете: Как да поставите и ускорите индексирането на статия? 5 тайни на успеха

Това е всичко. Надявам се материалът да ви е полезен в работата ви. Ще бъда благодарен, ако споделите опита си и оставите коментари. Благодаря за вниманието! До нови онлайн срещи!

Здравейте всички!

Какво да правим със семантичното ядро? Този въпрос си задават вероятно всички начинаещи в SEO промоцията (съдейки по себе си) и има основателна причина. В крайна сметка в действителност в началните етапи на човек не е ясно защо е седял толкова дълго и е събирал ключови думи за сайта или използва други инструменти. Ако и аз страдах от този въпрос дълго време, тогава ще пусна, може би, урок по тази тема.

Каква е целта на семантичното ядро?

Първо, нека да разберем защо събрахме семантичното ядро ​​като цяло. И така, всички SEO промоции се основават на използването на ключови думи, които потребителите въвеждат в редовете за търсене. Благодарение на тях се създават неща като структурата на сайта и неговото съдържание, които всъщност са основните фактори в .

Също така не забравяйте за външната оптимизация, в която важна роля играе семантичното ядро. Но повече за това в следващия урок.

Обобщавам: SA е необходимо за:

  • Създаване на структура на сайта, която ще бъде разбираема както за търсачките, така и за обикновените потребители;
  • Създаване на съдържание. Съдържанието в наше време е основният начин за популяризиране на сайта в броя. Колкото по-добро е съдържанието, толкова по-висок е сайтът; колкото по-качествено е съдържанието, толкова по-висок е сайтът. Повече за създаването на качествено съдържание, повече;

Какво да правя със семантичното ядро ​​след компилация?

И така, след като сте съставили семантично ядро, тоест: сте събрали ключови думи, изчистили сте ги и ги групирате, можете да започнете да оформяте структурата на сайта. Всъщност, когато групирате заявките, както направихме в урок #145, вие вече сте създали структурата на вашия уеб ресурс:

Просто трябва да го внедрите в сайта и това е всичко. Така вие ще формирате структура не на базата на това, което имате на склад, а на базата на потребителското търсене. По този начин вие не само ще облагодетелствате уеб ресурса по отношение на SEO, но и ще направите правилното нещо от гледна точка на бизнеса като цяло. Нищо чудно, че казват: ако има търсене, трябва да има и предлагане.

Изглежда, че разбрахме структурата, сега нека да преминем към съдържанието. Още веднъж, чрез групиране на заявки в Key Collector вие сте намерили теми за вашето бъдещо съдържание, с които ще запълните страниците. Например, нека вземем групата "Планински велосипеди" и я разделим на малки подгрупи:


Така създадохме две подгрупи с ключови заявкипод отделни страници. Вашата задача на този етап е да формирате групи (клъстери), така че всеки клъстер да съдържа семантично еднакви ключови думи, тоест еднакви по значение.

Запомнете едно правило: всеки клъстер има отделна страница.

Така че, разбира се, не е много удобно за начинаещи да групират, тъй като трябва да имате определено умение, така че ще ви покажа друг начин за формиране на теми за статии. Този път ще използваме Excel:


Вече въз основа на получените данни можете да създадете отделни страници.

Така правя клъстъринг (групиране) и съм доста доволен от всичко. Мисля, че сега разбирате какво да правите със семантичното ядро ​​след компилация.

Може би примерът, даден в този урок, е твърде общ, тъй като не дава конкретна картина. Просто искам да ви предам самата същност на действието и тогава вие сами ще работите с главата си. Затова се извинявам предварително.

Ако този урок е бил полезен за вас и ви е помогнал при решаването на проблема, моля, споделете връзката в в социалните мрежи. И, разбира се, абонирайте се за актуализации на блога, ако още не сте го направили.

Успех на вас, приятели!

Ще се видим скоро!

Семантичното ядро ​​е доста изтъркана тема, нали? Днес ще го поправим заедно, като съберем семантиката в този урок!

не вярвате? - вижте сами - просто вкарайте в Yandex или Google фразата семантичното ядро ​​на сайта. Мисля, че днес ще поправя тази досадна грешка.

Но наистина, какво е за вас - перфектна семантика? Може би си мислите, че това е глупав въпрос, но всъщност изобщо не е глупав, просто повечето уебмастъри и собственици на сайтове твърдо вярват, че могат да съставят семантични ядра и че всеки студент може да се справи с всичко това, и те също се опитват да учат другите ...Но в действителност всичко е много по-сложно. Веднъж ме попитаха - какво да направя първо? – самия сайт и съдържанието или сем ядро, и попита човек, който не се смята за новодошъл в SEO. Тук този въпроси ме накара да разбера сложността и неяснотата на този проблем.

Семантичното ядро ​​- основата на основите - е първата стъпка, която стои преди стартирането на всяка рекламна кампания в Интернет. Заедно с това семантиката на сайта е най-досадният процес, който ще отнеме много време, но във всеки случай ще се отплати повече от това.

Е... нека творим неговиятзаедно!

Малко предисловие

За да създадем семантичното поле на сайта, имаме нужда от една програма - Колектор на ключове. Използвайки Collector като пример, ще анализирам пример за събиране на малка семейна група. Освен от платена програма, има и безплатни аналозикато SlovoEb и други.

Семантиката се събира на няколко основни етапа, сред които трябва да подчертаем:

  • мозъчна атака - анализ на основни фрази и подготовка на разбор
  • разбор - разширяване на основната семантика на базата на Wordstat и други източници
  • dropout - отпадане след разбор
  • анализ - анализ на честота, сезонност, конкуренция и други важни показатели
  • усъвършенстване - групиране, разделяне на търговски и информационни фрази на ядрото

Най-важните етапи от колекцията ще бъдат разгледани по-долу!

ВИДЕО - съставяне на семантично ядро ​​от конкуренти

Мозъчна атака при създаване на семантично ядро ​​- напрягаме мозъка си

На този етап имате нужда от умствено избранисемантичното ядро ​​на сайта и измислете възможно най-много фрази за нашата тема. И така, стартираме колектора на ключове и избираме разбор на wordstat, както е показано на екранната снимка:

Пред нас се отваря малък прозорец, където трябва да въведете максимум фрази по нашата тема. както вече казах, в тази статия ще създадем примерен набор от фрази за този блог, така че фразите могат да бъдат:

  • SEO блог
  • SEO блог
  • блог за SEO
  • блог за SEO
  • повишение
  • повишение проект
  • повишение
  • повишение
  • промоция на блогове
  • промоция на блогове
  • промоция на блогове
  • промоция на блогове
  • промоция на статия
  • промоция на статия
  • miralinks
  • работа в SAP
  • купуване на връзки
  • купуване на връзки
  • оптимизация
  • оптимизация на страницата
  • вътрешна оптимизация
  • самореклама
  • как да популяризираме ресурса
  • как да рекламирате сайта си
  • как да рекламирате сайта си
  • как сами да рекламирате уебсайт
  • самореклама
  • безплатна промоция
  • безплатна промоция
  • Оптимизация за търсачки
  • как да рекламирате уебсайт в yandex
  • как да популяризирате сайт в Yandex
  • промоция под Yandex
  • промоция в Google
  • промоция в google
  • индексиране
  • ускоряване на индексирането
  • избор на донор на място
  • донорски скрининг
  • повишение от пазачи
  • използване на охрана
  • популяризиране чрез блогове
  • Алгоритъм на Yandex
  • актуализиране на отметки
  • актуализация на база данни за търсене
  • Актуализация на Yandex
  • връзки завинаги
  • вечни връзки
  • линк под наем
  • наета връзка
  • връзки за месечно плащане
  • съставяне на семантично ядро
  • тайни на промоцията
  • тайни на промоцията
  • SEO тайни
  • тайните на оптимизацията

Мисля, че това е достатъчно и така списъкът е половин страница;) Като цяло идеята е, че на първия етап трябва да анализирате максимално вашата индустрия и да изберете възможно най-много фрази, които отразяват темата на сайта. Въпреки че, ако сте пропуснали нещо на този етап - не се отчайвайте - липсващите фрази определено ще се появят в следващите стъпки, просто трябва да свършите много допълнителна работа, но това е добре. Взимаме нашия списък и го копираме в колектора на ключове. След това кликнете върху бутона - Анализирайте с Yandex.Wordstat:

Анализът може да отнеме доста дълго време, така че бъдете търпеливи. Семантичното ядро ​​обикновено се сглобява за 3-5 дни, като първият ден ще бъде изразходван за подготовка на основното семантично ядро ​​и анализиране.

Писах за това как се работи с ресурс, как се избират ключови думи подробни инструкции. И можете да разберете за промоцията на сайта за заявки с ниска честота.

Освен това ще кажа, че вместо мозъчна атака, можем да използваме готова семантика на конкуренти, използвайки една от специализираните услуги, например SpyWords. В интерфейса на тази услуга просто въвеждаме ключовата дума, от която се нуждаем, и виждаме основните конкуренти, които са в ТОП за тази фраза. Освен това семантиката на сайта на всеки конкурент може да бъде напълно разтоварена с помощта на тази услуга.

Освен това можем да изберем който и да е от тях и да изтеглим неговите заявки, които ще останат да бъдат филтрирани от боклука и използвани като основна семантика за по-нататъшно анализиране. Или можем да го направим още по-просто и да използваме .

Изчистване на семантиката

Веднага след като анализирането на wordstat спре напълно - време е да отсеем семантичното ядро. Този етап е много важен, така че се отнасяйте към него с нужното внимание.

И така, анализът ми приключи, но фразите се оказаха Толкова многои следователно отсяването на думи може да ни отнеме допълнително време. Следователно, преди да се пристъпи към определяне на честотата, е необходимо да се извърши първичното почистване на думите. Ще направим това в няколко стъпки:

1. Филтрирайте заявките с много ниски честоти

За да направите това, щракнете върху символа за сортиране по честота и започнете да изчиствате всички заявки, които имат честота под 30:

Мисля, че лесно можете да се справите с този артикул.

2. Премахнете неподходящите заявки

Има такива заявки, които имат достатъчна честота и ниска конкуренция, но те напълно без значение за нашата тема.. Такива ключове трябва да бъдат премахнати, преди да се проверят точните срещания на ключа, напр проверката може да отнеме много време. Ние ще изтрием такива ключове ръчно. И така, за моя блог следното се оказа излишно:

  • курсове за оптимизация на търсачки
  • продавам неусукан сайт

Анализ на семантичното ядро

На този етап трябва да определим точните честоти на нашите ключове, за което трябва да кликнете върху символа на лупа, както е показано на изображението:

Процесът е доста дълъг, така че можете да отидете и да си направите чай)

Когато проверката е успешна, трябва да продължите с почистването на нашето ядро.

Предлагам ви да премахнете всички ключове с честота по-малка от 10 заявки. Освен това за моя блог ще изтрия всички заявки, които имат стойности над 1000, тъй като все още не планирам да напредвам с такива заявки.

Експорт и групиране на семантичното ядро

Не бива да мислиш така този етапще бъде последният. Въобще не! Сега трябва да прехвърлим получената група в Excel за максимална яснота. След това ще сортираме по страници и тогава ще видим много недостатъци, които ще коригираме.

Експортирането на семантиката на сайта в Excel не е никак трудно. За да направите това, трябва само да кликнете върху съответния символ, както е показано на изображението:

След като поставим в Excel, ще видим следната картина:

Колоните, маркирани в червено, трябва да бъдат изтрити. След това създаваме друга таблица в Excel, която ще съдържа окончателното семантично ядро.

IN нова масаще има 3 колони: URL адресстраници, ключова фразаИ неговият честота. Като URL изберете или съществуваща страница, или страница, която ще бъде създадена в бъдеще. Първо, нека изберем ключовете за главната страница на моя блог:

След всички манипулации виждаме следната картина. И веднага възникват няколко извода:

  1. честотните заявки като трябва да имат много по-голяма опашка от по-рядко срещани фрази, отколкото виждаме
  2. seo новини
  3. изплува нов ключ, които не взехме предвид по-рано - SEO статии. Трябва да анализирате този ключ

Както казах, нито един ключ не може да се скрие от нас. Следващата стъпка за нас е да обмислим тези три фрази. След мозъчна атака повтаряме всички стъпки от първата точка за тези ключове. Всичко това може да ви изглежда твърде дълго и досадно, но така е - съставянето на семантично ядро ​​е много отговорна и старателна работа. От друга страна, добре съставеното поле ще помогне значително за популяризиране на уебсайта и може значително да спести бюджета ви.

След всички извършени операции успяхме да получим нови ключове за главната страница на този блог:

  • най-добър SEO блог
  • seo новини
  • SEO статии

И някои други. Мисля, че разбирате метода.

След всички тези манипулации ще видим кои страници от нашия проект трябва да бъдат променени () и кои нови страници трябва да бъдат добавени. Повечето от ключовете, които намерихме (с честота до 100, а понякога и много по-висока), могат лесно да бъдат повишени с един .

Окончателна елиминация

По принцип семантичното ядро ​​е почти готово, но има още един доста важен момент, който ще ни помогне значително да подобрим нашата група семи. За това се нуждаем от Seopult.

*Всъщност тук можете да използвате някоя от подобни услуги, които ви позволяват да разберете конкуренцията ключови думи, например Mutagen!

И така, създаваме друга таблица в Excel и копираме само имената на ключовете там (средна колона). За да не губя много време, ще копирам само ключовете за главната страница на моя блог:

След това проверяваме цената за получаване на едно кликване за нашите ключови думи:

Цената на превключване за някои фрази надхвърли 5 рубли. Такива фрази трябва да бъдат изключени от нашето ядро.

Може би вашите предпочитания ще бъдат малко по-различни, тогава можете да изключите по-евтините фрази или обратното. В моя случай изтрих 7 фрази.

Полезна информация!

върху съставянето на семантично ядро, с акцент върху отсяването на най-нискоконкурентните ключови думи.

Ако имате собствен онлайн магазин - Прочети, който описва как може да се използва семантичното ядро.

Групиране на семантично ядро

Сигурен съм, че сте чували тази дума и преди във връзка с промоцията при търсене. Нека да разберем какъв вид животно е това и защо е необходимо при популяризирането на сайта.
Класическият модел за популяризиране при търсене изглежда така:

  • Подбор и анализ на заявки за търсене
  • Групиране на заявки по страници на сайта (създаване целеви страници)
  • Изготвяне на seo текстове за целеви страници на базата на група от заявки за тези страници

За улесняване и подобряване на втория етап в списъка по-горе се използва групиране. По същество клъстерирането е софтуерен метод, който служи за опростяване на този етап при работа с голяма семантика, но не всичко е толкова просто, колкото може да изглежда на пръв поглед.

За да разберете по-добре теорията на клъстерирането, трябва да направите кратко отклонение в историята на SEO:

Само преди няколко години, когато терминът клъстеризация не надничаше зад всеки ъгъл, SEO специалистите в по-голямата част от случаите групираха семантиката с ръцете си. Но при групиране на огромна семантика в 1000, 10 000 и дори 100 000 заявки, тази процедура се превърна в истински тежък труд за обикновен човек. И тогава навсякъде започнаха да използват метода на групиране по семантика (и днес много хора използват този подход). Методът на групиране по семантика означава комбиниране в една група на заявки, които имат семантична връзка. Като пример, заявките „купете пералня” и „купуване на пералня до 10 000” бяха обединени в една група. И всичко би било наред, но този методсъдържа редица критични проблеми и за да ги разберем е необходимо да въведем нов термин в нашия разказ, а именно - „ искане намерение”.

Най-лесният начин да опишем този термин е като потребност на потребителя, неговото желание. Намерението не е нищо повече от желанието на потребителя, който въвежда заявка за търсене.
Основата на семантиката на групиране е да се съберат заявки, които имат едно и също намерение или възможно най-близки намерения, в една група и тук наведнъж се появяват 2 интересни функции, а именно:

  • Едно и също намерение може да има няколко заявки, които нямат никакво семантично сходство, например „автосервиз“ и „запишете се за MOT“
  • Заявките, които имат абсолютна семантична близост, могат да съдържат коренно различни намерения, например ситуация от учебник - „мобилен телефон“ и „мобилни телефони“. В единия случай потребителят иска да си купи телефон, а в другия иска да гледа филм.

Така че групирането на семантиката според семантичното съответствие не взема предвид намеренията на заявката. И групите, съставени по този начин, няма да ви позволят да напишете текст, който да влезе в ТОП. По време на ръчното групиране, за да се елиминира това недоразумение, момчета с професия „пом. SEO специалист»анализира издаването на ръка.

Същността на клъстерирането е сравнението на генерирания резултат от търсачката в търсене на модели. От тази дефиниция трябва незабавно да отбележите за себе си, че самото клъстериране не е крайната истина, тъй като генерираният изход може да не разкрие напълно намерението (базата данни на Yandex може просто да няма сайт, който правилно комбинира заявките в група).

Механиката на клъстерирането е проста и изглежда така:

  • Системата от своя страна въвежда всички подадени до нея заявки в резултатите от търсенето и запомня резултатите от ТОП
  • След въвеждане на заявки една по една и запазване на резултатите, системата търси пресичания в изхода. Ако един и същ сайт с един и същ документ (страница на сайта) е в ТОП за няколко заявки наведнъж, тогава тези заявки могат теоретично да бъдат комбинирани в една група
  • Параметър като силата на групиране става релевантен, който казва на системата точно колко пресичания трябва да има, за да могат заявките да се добавят към една група. Например, сила на групиране 2 означава, че трябва да има поне две пресечни точки в резултатите за 2 различни заявки. Още по-просто казано, поне две страници от два различни сайта трябва да са едновременно в ТОП и за едната, и за другата заявка. Пример е по-долу.
  • При групирането на голяма семантика става актуална логиката на връзките между заявките, въз основа на която се разграничават 3 основни типа групиране: меко, средно и трудно. Ще говорим за видовете групиране в следващите записи на този дневник.