Формирование семантического ядра. Составляем семантическое ядро своими руками: онлайн и программы. Семантическое ядро: что это и какие бывают запросы


Семантическое ядро — это страшное название, которое придумали SEOшники для обозначения довольно простой вещи. Нам надо просто подобрать ключевые запросы, по которым мы будем продвигать наш сайт.

И в этой статье я покажу вам, как правильно составить семантическое ядро, чтобы ваш сайт побыстрее вышел в ТОП, а не топтался месяцами на месте. Тут тоже есть свои «секретики».

И прежде чем мы перейдем к составлению СЯ, давайте разберем, что это такое, и к чему мы в итоге должны прийти.

Что такое семантическое ядро простыми словами

Как это ни странно, но семантическое ядро — это обычный excel файл, в котором списком представлены ключевые запросы, по которым вы (или ваш копирайтер) будете писать статьи для сайта.

Вот как, например, выглядит мое семантическое ядро:

Зеленым цветом у меня помечены те ключевые запросы, по которым я уже написал статьи. Желтым — те, которым статьи собираюсь написать в ближайшее время. А бесцветные ячейки — это значит, что до этих запросов дело дойдет немного позже.

Для каждого ключевого запроса у меня определена частотность, конкурентность, и придуман «цепляющий» заголовок. Вот примерно такой же файл должен получиться и у вас. Сейчас у меня СЯ состоит из 150 ключевиков. Это значит, что я обеспечен «материалом» минимум на 5 месяцев вперед (если даже буду писать по одной статье в день).

Чуть ниже мы поговорим о том, к чему вам готовиться, если вы вдруг решите заказать сбор семантического ядра у специалистов. Здесь скажу кратко — вам дадут такой же список, но только на тысячи «ключей». Однако, в СЯ важно не количество, а качество. И мы с вами будем ориентироваться именно на это.

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

А в самом деле, зачем нам эти мучения? Можно же, в конце концов, просто так писать качественные статьи, и привлекать этим аудиторию, правильно? Да, писать можно, а вот привлекать не получится.

Главная ошибка 90% блогеров — это как раз написание просто качественных статей. Я не шучу, у них реально интересные и полезные материалы. Вот только поисковые системы об этом не знают. Они же не экстрасенсы, а всего лишь роботы. Соответственно они и не ставят вашу статью в ТОП.

Здесь есть еще один тонкий момент с заголовком. Например, у вас есть очень качественная статья на тему «Как правильно вести бизнес в «мордокниге». Там вы очень подробно и профессионально расписываете все про фейсбук. В том числе и то, как там продвигать сообщества. Ваша статья — самая качественная, полезная и интересная в интернете на эту тему. Никто и рядом с вами не валялся. Но вам это все равно не поможет.

Почему качественные статьи вылетают из ТОПа

Представьте, что на ваш сайт зашел не робот, а живой проверяльщик (асессор) с Яндекса. Он понял, что у вас самая классная статья. И рукам поставил вас на первое место в выдаче по запросу «Продвижение сообщества в фейсбук».

Знаете, что произойдет дальше? Вы оттуда все равно очень скоро вылетите. Потому что по вашей статье, даже на первом месте, никто не будет кликать. Люди вводят запрос «Продвижение сообщества в фейсбук», а у вас заголовок — «Как правильно вести бизнес в «мордокниге». Оригинально, свежо, забавно, но… не под запрос. Люди хотят видеть именно то, что они искали, а не ваш креатив.

Соответственно, ваша статья будет вхолостую занимать место в ТОП выдачи. И живой асессор, горячий поклонник вашего творчества, может сколько угодно умолять начальство оставить вас хотя бы в ТОП-10. Но не поможет. Все первые места займут пустые, как шелуха от семечек, статейки, которые друг у друга переписали вчерашние школьники.

Зато у этих статей будет правильный «релевантный» заголовок — «Продвижение сообщества в фейсбук с нуля» (по шагам, за 5 шагов, от А до Я, бесплатно и пр.) Обидно? Еще бы. Ну так боритесь против несправедливости. Давайте составим грамотное семантическое ядро, чтобы ваши статьи занимали заслуженные первые места.

Еще одна причина начать составлять СЯ прямо сейчас

Есть еще одна вещь, о которой почему-то люди мало задумываются. Вам надо писать статьи часто — как минимум каждую неделю, а лучше 2-3 раза в неделю, чтобы набрать побольше трафика и побыстрее.

Все это знают, но почти никто этого не делает. А все потому, что у них «творческий застой», «никак не могут себя заставить», «просто лень». А на самом деле вся проблема именно в отсутствие конкретного семантического ядра.

Я ввел в поле поиска один из своих базовых ключей — «smm», и Яндекс тут же выдал мне с десяток подсказок, что еще может быть интересно людям, которым интересно «smm». Мне остается только скопировать эти ключи в блокнотик. Потом я точно так же проверю каждый из них, и соберу подсказки еще и по ним.

После первого этапа сбора СЯ у вас должен получиться текстовый документ, в котором будет 10-30 широких базовых ключей, с которыми мы и будем работать дальше.

Шаг #2 — Парсинг базовых ключей в SlovoEB

Конечно, если вы напишите статью под запрос «вебинар» или «smm», то чуда не произойдет. Вы никогда не сможете выйти в ТОП по такому широкому запросу. Нам надо разбить базовый ключ на множество мелких запросов по этой теме. И делать это мы будем с помощью специальной программы.

Я использую KeyCollector, но он платный. Вы можете воспользоваться бесплатным аналогом — программой SlovoEB. Скачать её вы можете с официального сайта.

Самое сложное в работе с этой программой — это её правильно настроить. Как правильно настроить и использовать Словоеб я показываю . Но в той статье я упор делаю на подбор ключей для Яндекс-Директа.

А тут давайте по шагам посмотрим особенности использования это программы для составления семантического ядра под SEO.

Сначала создаем новый проект, и называем его по тому широкому ключу, который хотите парсить.

Я обычно даю такое же название проекту, как и мой базовый ключ, чтобы потом не запутаться. И да, предупрежу вас еще от одной ошибки. Не пытайтесь парсить все базовые ключи одновременно. Вам потом будет очень сложно отфильтровать «пустые» ключевые запросы от золотых крупиц. Давайте парсить по одному ключу.

После создания проекта — проводим базовую операцию. То есть мы собственно парсим ключ через Яндекс Вордстат. Для этого нажмите на кнопку «Ворстат» в интерфейсе программы, впишите ваш базовый ключ, и нажмите «Начать сбор».

Для примера, давайте распарсим базовый ключ для моего блога «контекстная реклама».

После этого запустится процесс, и через некоторое время программа нам выдаст результат — до 2000 ключевых запросов, в которых содержится «контекстная реклама».

Так же рядом с каждым запросом будет стоять «грязная» частотность — сколько раз этот ключ (+ его словоформы и хвосты) искали в месяц через яндекс. Но не советую делать никаких выводов из этих цифр.

Шаг #3 — Сбор точной частотности для ключей

Грязная частотность нам ничего не покажет. Если вы будете на неё ориентироваться, то не удивляйтесь потом, когда ваш ключ на 1000 запросов не приносит ни одного клика в месяц.

Нам надо выявить чистую частотность. И для этого мы сначала выделяем все найденные ключи галочками, а потом нажимаем на кнопочку «Яндекс Директ» и снова запускаем процесс. Теперь Словоеб будет нам искать точную частоту запроса в месяц для каждого ключа.

Теперь у нас есть объективная картина — сколько раз какой запрос вводили пользователи интернета за последний месяц. Предлагаю теперь сгруппировать все ключевые запросы по частотности, чтобы с ними было удобнее работать.

Для этого нажимаем на значок «фильтр» в столбце «Частота «!» », и указываем — отфильтровать ключи со значением «меньше или равно 10».

Теперь программа покажет вам только те запросы, частотность которых меньше или равна значению «10». Эти запросы вы можете удалить или скопировать на будущее в другую группу ключевых запросов. Меньше 10 — это очень мало. Писать статьи под эти запросы — пустая трата времени.

Сейчас нам надо выбрать те ключевые запросы, которые принесут нам более или менее хороший трафик. И для этого нам надо выяснить еще один параметр — уровень конкурентности запроса.

Шаг #4 — Проверка конкурентности запросов

Все «ключи» в этом мире делятся на 3 типа: высокочастотные (ВЧ), среднечастотные (СЧ), низкочастотные (НЧ). А еще они могут быть выосококонкурнетными (ВК), среднеконкурентными (СК) и низкоконкурентными (НК).

Как правило, ВЧ запросы являются одновременно и ВК. То есть если запрос часто ищут в интернете, то и сайтов, которые хотят по нему продвигаться — очень много. Но это не всегда так, бывают счастливые исключения.

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

Можно ориентироваться на такие показатели, как количество главных страниц в ТОП-10, длина и качество текстов. уровень траста и тиц сайтов в ТОП выдачи по запросу. Все это даст вам некоторое представление о том, насколько жесткая борьба за позиции для этого конкретного запроса.

Но я рекомендую вам воспользоваться сервисом Мутаген . Он учитывает все парметры, о которых я сказал выше, плюс еще с десяток, о которых ни вы, ни я наверное даже не слышали. После анализа сервис выдает точное значение — какой уровень конкуренции у данного запроса.

Здесь я проверил запрос «настройка контекстной рекламы в google adwords». Мутаген показал нам, что у этого ключа конкурентность «более 25» — это максимальное значение, которое он показывает. А просмотров у этого запроса всего 11 в месяц. Значит нам он точно не подходит.

Мы можем скопировать все ключи, которые подобрали в Словоеб, и сделать массовую проверку в Мутаген. После этого нам останется только просмотреть список и взять те запросы, у которых много запросов и низкий уровень конкуренции.

Мутаген — это платный сервис. Но 10 проверок в сутки вы можете сделать бесплатно. Кроме того, стоимость проверки очень низкая. За все время работы с ним я еще не истратил и 300 рублей.

Кстати, на счет уровня конкуренции. Если у вас молодой сайт, то лучше выбирать запросы с уровнем конкуренции 3-5. А если вы раскручиваетесь уже более года, то можно брать и 10-15.

Кстати, на счет частотности запросов. Нам сейчас надо сделать заключительный шаг, который позволит вам привлекать достаточно много трафика даже по низкочастотным запросам.

Шаг #5 — Сбор «хвостов» для выбранных ключей

Как уже много раз было доказано и проверено, основной объем трафика ваш сайт будет получать не от основных ключей, а от так называемых «хвостов». Это когда человек вводит в поисковую строку странные ключевые запросы, с частотностью 1-2 в месяц, но таких запросов очень много.

Чтобы увидеть «хвост» — просто зайдите в Яндекс и введите выбранный вами ключевой запрос в строку поиска. Вот что вы примерно увидите.

Теперь вам надо просто выписать эти дополнительные слова в отдельный документ, и использовать их в своей статье. При чем не надо ставить их всегда рядом с основным ключом. Иначе поисковые системы увидят «переоптимизацию» и ваши статьи упадут в выдаче.

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

Например, у нас есть запрос — «Настройка контекстной рекламы». Вот как можно его переформулировать:

  • Настройка = настроить, сделать, создать, запустить, запуск, включить, разместить…
  • Контекстная реклама = контекст, директ, тизер, РСЯ, адвордс, кмс. direct, adwords…

Никогда не знаешь, как именно люди будут искать информацию. Добавьте все эти дополнительные слова к себе в семантическое ядро, и используйте при написании текстов.

Вот так, мы собираем список из 100 — 150 ключевых запросов. Если вы составляете семантическое ядро впервые, то у вас может уйти на это несколько недель.

А может ну его, глаза ломать? Может есть возможность делегировать составления СЯ специалистам, которые сделают это лучше и быстрее? Да, такие специалисты есть, но пользоваться их услугами нужно не всегда.

Стоит ли заказывать СЯ у специалистов?

По большому счету специалисты по составлению семантического ядра сделают вам только шаги 1 — 3 из нашей схемы. Иногда, за большую дополнительную плату, сделают и шаги 4-5 — (сбор хвостов и проверку конкурентности запросов).

После этого они выдадут вам несколько тысяч ключевых запросов, с которыми вам дальше надо будет работать.

И вопрос тут в том, собираетесь ли вы писать статьи самостоятельно, или наймете для этого копирайтеров. Если вы хотите делать упор на качество, а не на количество — то надо писать самим. Но тогда вам будет недостаточно просто получить список ключей. Вам надо будет выбрать те темы, в которых вы разбираетесь достаточно хорошо, чтобы написать качественную статью.

И вот тут встает вопрос — а зачем тогда собственно нужны специалисты по СЯ? Согласитесь, распарсить базовый ключ и собрать точные частотности (шаги #1-3) — это совсем не сложно. У вас уйдет на это буквально полчаса времени.

Самое сложное — это именно выбрать ВЧ запросы, у которых низкая конкуренция. А теперь еще, как выясняется, надо ВЧ-НК, на которые вы можете написать хорошую статью. Вот именно это займет у вас 99% времени работы над семантическим ядром. И этого вам не сделает ни один специалист. Ну и стОит ли тратиться на заказ таких услуг?

Когда услуги специалистов по СЯ полезны

Другое дело, если вы изначально планируете привлекать копирайтеров. Тогда вам необязательно разбираться в теме запроса. Копирайтеры ваши тоже не будут в ней разбираться. Они просто возьмут несколько статей по этой теме, и скомпилируют из них «свой» текст.

Такие статьи будут пустыми, убогими, почти бесполезными. Но их будет много. Самостоятельно вы сможете писать максимум 2-3 качественные статьи в неделю. А армия копирайтеров обеспечит вам 2-3 говнотекста в день. При этом они будут оптимизированы под запросы, а значит будут привлекать какой-то трафик.

В этом случае — да, спокойно нанимайте специалистов по СЯ. Пусть они вам еще и ТЗ для копирайтеров составят заодно. Но сами понимаете, это тоже будет стоить отдельных денег.

Резюме

Давайте еще раз пробежимся по основным мыслям в статье для закрепления информации.

  • Семантическое ядро — это просто список ключевых запросов, под которые вы будете писать статьи на сайт для продвижения.
  • Необходимо оптимизировать тексты под точные ключевые запросы, иначе ваши даже самые качественные статьи никогда не выйдут в ТОП.
  • СЯ — это как контент-план для социальных сетей. Он помогает вам не впадать в «творческий кризис», и всегда точно знать, о чем вы будете писать завтра, послезавтра и через месяц.
  • Для составления семантического ядра удобно использовать бесплатную программу Словоеб, надо только её .
  • Вот пять шагов составления СЯ: 1 — Подбор базовых ключей; 2 — Парсинг базовых ключей; 3 — Сбор точной частотности для запросов; 4 — Проверка конкурентости ключей; 5 — Сбор «хвостов».
  • Если вы хотите сами писать статьи, то лучше сделайте семантическое ядро самостоятельно, под себя. Специалисты по составлению СЯ не смогут здесь вам помочь.
  • Если вы хотите работать на количество и использовать копирайтеров для написания статей, то вполне можно привлечь делегировать и составления семантического ядра. Лишь бы на все хватило денег.

Надеюсь, эта инструкция была вам полезна. Сохраняйте её в избранное, чтобы не потерять, и поделитесь с друзьями. Не забудьте скачать мою книгу . Там я показываю вам самый быстрый путь с нуля до первого миллиона в интернете (выжимка из личного опыта за 10 лет =)

До скорого!

Ваш Дмитрий Новосёлов

Семантическое ядро сайта – это список запросов, по которым вы планируете продвигать сайт в поисковых системах. Запросы из семантического ядра группируются по страницам сайта. Готовая семантика для сайта включает запросы для каждой страницы сайта, которая будет продвигаться.

Основные правила составления семантического ядра

  1. По одному запросу продвигается только одна страница . Не допускается, чтобы одному запросу соответствовали две и более страницы на сайте – в ином случае поисковые системы могут выбрать для показа по запросу не ту страницу, которая продвигается.
  2. Страница должна отвечать на запрос пользователя . Например, если запрос включает слово «цены» – на продвигаемой странице должны быть указаны цены на товар. Если вы продвигаете страницу по запросу «калькулятор каско» – на странице должна быть форма расчета стоимости КАСКО.
  3. Семантическое ядро должно включать высоко, средне и низко- частотные запросы . Необходимо найти максимальное количество подходящих запросов, иначе вы не получите полную отдачу от продвижения.
  4. При группировке запросов в одну группу необходимо включать запросы, по которым реально продвигать одну страницу. Для этого посмотрите, есть ли в результатах поиска страницы, которые находятся в ТОП-10 по выбранным вами запросам. Если таких страниц нет – запросы нужно разводить по разным группам.
  5. Проверьте влияние «Спектра» в Яндексе . Может оказаться, что для вашей темы «Спектр» оставил в ТОПе не 10 мест, а только 1 или 2 – конкуренция за них усиливается. Также есть запросы, по которым необходимо выводить в ТОП информационные статьи, а страницу с коммерческой информацией – не получится.
  6. Внимание, реклама и колдунщики! В конкурентных тематиках в результатах поиска может быть много рекламы Директа и колдунщиков, которые смещают результаты поиска сильно вниз и снижают отдачу от нахождения в ТОПе. Пример такого запроса: «авиабилеты купить» (см. скриншот ниже и попробуйте найти на экране органическую выдачу).

Сколько запросов должно включать семантическое ядро?

Максимально возможное количество – в идеале все запросы, которые есть в вашей тематике и подходят вам (то есть по этим запросам ваш сайт реально может ответить).

Как правило, небольшие и средние сайты имеют семантическое ядро из нескольких сотен – тысяч запросов. Крупные проекты могут продвигаться по десяткам и сотням тысяч запросов.

Например, наш блог про продвижение сайтов сайт получает переходы из поисковых систем по более чем 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 – сервис позволяет собирать большие ядра на основе данных Яндекс.Wordstat и сбора поисковых подсказок в Яндексе и Google. Дают приятный бонус при регистрации в системе.
  • Topvisor.ru – сервис позволяет автоматически сгруппировать запросы из семантического ядра. Можно задать точность группировки, которая влияет на число запросов в одной группе.
  • Advse.ru – инструмент, позволящий посмотреть, по каким запросам конкуренты выводят контекстную рекламу (по тем же запросам можно продвигаться)
  • Базы Пастухова – огромная база запросов к поисковой системе Яндекс, на момент написания статьи состояла из 800 млн. запросов.
  • Seopult.ru – инструмент, позволяющий бесплатно посмотреть позиции своего сайта или конкурентов в результатах поиска. Для просмотра позиций необходимо зарегистрироваться в системе, создать проект и дойти до этапа выбора ключевых слов.

Всем-всем привет!

Что делать с семантическим ядром? Этим вопрос задаются, наверное, все новички в SEO-продвижении (сужу по себе) и не зря. Ведь реально на начальных порах человеку не понятно для чего он столько сидел и собирал ключевые слова для сайта, либо с использованием другим инструментов. Коль я тоже мучался с этим вопросом долго, то выпущу, пожалуй, урок на данную тему.

С какой целью собирается семантическое ядро?

Во-первых, давайте разберемся для чего вообще мы собирали семантическое ядро. Итак, все SEO-продвижение строится на использовании ключевых слов, которые вводят в поисковые строки пользователи. Благодаря им, создаются такие вещи, как структура сайта и его контент, что по сути является основными факторами во .

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

Резюмирую: СЯ необходимо для:

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

Что делать с семантическим ядром после составления?

Итак, после того, как Вы составили семантическое ядро, то есть: собрали ключевые слова, провели чистку и сгруппировали их, можно приступать к формированию структуры сайта. По сути, когда Вы сгруппировали запросы так, как мы делали это в уроке №145, Вы уже создали структуру своего веб-ресурса:

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

Со структурой вроде бы разобрались, теперь перейдем к контенту. Опять таки сгруппировав запросы в Key Collector, Вы нашли темы для своего будущего контента, которым будете наполнять страницы. Для примера, возьмем группу “Горные велосипеды” и разобьем ее на небольшие подгруппы:


Таким образом, мы создали две подгруппы с ключевыми запросами под отдельные страницы. Ваша задача на данном этапе: сформировать группы (кластеры) так, чтобы каждый кластер содержал в себе семантически одинаковые ключевики, то есть одинаковые по смыслу.

Запомните одно правило: каждому кластеру отдельная страница .

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


Уже на основе получившихся данных Вы можете формировать отдельные страницы.

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

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

Если данный урок стал для Вас полезным и помог в решении проблемы, то поделитесь, пожалуйста, ссылкой в социальных сетях. И, конечно же, подписывайтесь на обновления блога, если Вы этого еще не сделали.

Удачи Вам, друзья!

До скорых встреч!

Приветствую вас дорогие мои читатели!

Я уверен, что многие из вас не то что бы ни слышали, а даже и не догадываются, что есть такое понятие как семантическое ядро! И что же это такое спросите вы? – постараюсь объяснить вам простыми словами. Семантическое ядро – это набор ключевых слов, словосочетаний, простых предложений, фраз и т.д., которые выдает поисковая система (далее – ПС) при введении вами запроса в строке браузера.

Для чего нужно семантическое ядро? Семантическое ядро сайта — это основа продвижения и раскрутки, оно необходимо для внутренней оптимизации. Без семантического ядра продвижение вашего проекта (сайта) будет не эффективным. Чем грамотнее составлено семантическое ядро сайта, тем меньше денег вам потребуется для его успешного продвижения. Ничего пока не понятно, так ведь? Не пугайтесь, дальше я постараюсь, как можно подробно разложить все по полочкам. Читайте внимательно и все поймете!

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

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

А чтобы составить достаточно солидный список (200-300 слов) у вас на это уйдет немало времени. Поэтому для удобства мы воспользуемся специальными сервисами, такими как Yandex wordstat, Google adwords, Rambler adstat они нам значительно упростят задачу при . Конечно, можно было бы обойтись только Yandex и Google, т.к. это гиганты в поиске ключевых запросов по сравнению с Rambler, но статистика говорит о том, что 5-6% людей все же используют в качестве поисковой системы Rambler, поэтому не будем ей пренебрегать.

Что бы вам было намного легче освоить материал, буду показывать все на конкретных примерах. Согласитесь, теория это хорошо, но когда дело доходит до практики у многих начинаются проблемы. Поэтому мы с вами вместе составим семантическое ядро, что бы в дальнейшем вы с легкостью смогли перенести полученные знания и опыт на тематику вашего блога. Допустим, тема вашего блога «фотошоп» и все, что с ним связано. Поэтому как было написано выше, вы должны придумать и записать в тетрадку как можно больше слов, словосочетаний, фраз, выражений – можете, как угодно их называть. Вот те слова, которые у меня характеризуются с тематикой блога о фотошоп. Конечно же, я не буду перечислять весь список слов, а только часть, что бы вам был понятен сам смысл составления семантического ядра:

кисти для фотошоп
кисти для photoshop
кисти фотошоп
кисти photoshop
эффекты фотошоп
эффекты photoshop
фотоэффект
рисунки фотошоп
рисунки photoshop
коллаж
фотоколлаж
фотомонтаж
рамки для фото
фото дизайн

Список составлен. Ну что же, начнем. Сразу оговорюсь, ваш список может намного отличаться от моего и должен быть намного больше. Этот список слов я составил для наглядности, что бы вы уловили саму суть, как составить семантическое ядро.

Статистика ключевых слов Yandex wordstat

После того как ваш список сформирован необходимо отсеять все не нужные нам слова, по которым мы точно не будем продвигать наш блог. Я например не буду продвигаться по таким словам как (кисти для фотошопа торрент, кисти для фотошопа макияж), эти фразы для меня вообще не понятны, так же отсеиваем схожие словосочетания такие как (кисти для фотошопа бесплатно и бесплатно кисти для фотошопа). Я думаю, смысл отбора ключевых слов вам понятен.

Дальше вы видите, что в Yandex wordstat имеются два столбца. Столбец слева показывает вам, что искали люди вбивая, в поисковую строку, в нашем случае фразу «кисти для фотошоп». Правый столбец показывает, что еще искали люди, искавшие фразу «кисти для фотошоп», советую вам не игнорировать правый столбец, а выбрать из него все слова, подходящие для вашей тематики.

Хорошо, с этим тоже разобрались, идем дальше. Еще один очень важный момент, как вы видите по результату поиска «кисти для фотошоп» мы наблюдаем огромную цифру 61134 запроса! Но это не значит, что фразу «кисти для фотошоп» вбивали столько раз за месяц в поисковую строку Яндекс. Yandex wordstat устроен таким образом, что если допустим вбить словосочетание «кисти для фотошоп» он вам выдаст число запросов, которое будет означать, сколько раз люди искали любые словоформы (кисти фотошоп, кисти для фотошопа , кисть фотошопа и.т.д.), словосочетания (предложения) (бесплатные кисти для фотошоп, скачать кисти фотошоп бесплатно и т.д.), в которых присутствует фраза «кисти для фотошоп». Я думаю это тоже понятно.

Для того что бы 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 можно узнать еще много чего интересного (например, приблизительная цена за клик), что также следует учитывать при отборе ключевых слов. Чем больше цена за клик – тем более высоко конкурентный запрос. Подробно останавливаться здесь я не буду, принцип отбора ключевых слов схожий с Yandex wordstat и немного покопавшись, вы и сами сможете со всем разобраться. Идем дальше.

Статистика по поисковым запросам Rambler adstat

Как я уже упоминал выше, что Rambler adstat намного уступает двум предыдущим сервисам, но все же из него тоже можно, почерпнуть кое-какую информацию. Давайте так же перейдем вот и точно также введем в поисковой строке первую фразу из нашего списка «кисти для фотошоп». Здесь я думаю, тоже подробно останавливаться не стоит. Повторюсь еще раз принцип отбора ключевых слов у всех трех систем схожий.

Мы с вами ознакомились с тремя сервисами по подбору ключевых слов. В итоге у вас появился огромный список, сформированный из всех трех сервисов, в котором вы уже произвели отбор по тем запросам, по которым вы не планируете продвигаться и запросам дублерам. Об этом я уже писал выше. Но это только полпути в составлении семантического ядра. У вас, наверное, уже закипели мозги, но на самом деле если в это вникнуть и разобраться, то здесь нет ничего сложного. Поверьте, лучше один раз правильно составить семантическое ядро, чем в дальнейшем придется все исправлять. А исправлять намного сложнее, чем делать все с нуля. Поэтому запаситесь терпением и идем дальше.

ВЧ, СЧ и НЧ запросы или ВЧЗ, СЧЗ и НЧЗ

При составлении семантического ядра существуют еще такие понятия как высокочастотные, среднечастотные и низкочастотные запросы или их еще называют ВЧ, СЧ и НЧ запросы, также могут встречаться ВЧЗ, СЧЗ и НЧЗ. Это те запросы, которые люди вводят в поисковые системы. Чем больше людей введет один и тот же запрос в поисковую строку, тем высокочастотней будет запрос (ВЧ запрос), то же самое с СЧ и НЧ запросами. Надеюсь это тоже понятно.

Теперь запомните один очень важный момент. На начальном этапе развития блога, его следует продвигать только по НЧ запросам, иногда используют и СЧ запросы, это будет зависеть от конкурентности запроса. По ВЧ запросам вы вряд ли сможете , у вас просто не хватит на это денег. Не пугайтесь по НЧ запросам выйти в ТОП возможно и без вложения средств. У вас скорее всего возник вопрос, а какие запросы считать ВЧ запросами, СЧ запросами и НЧ запросами?

Здесь точный ответ я думаю, не может дать ни кто! У блогов разных тематик он будет разным. Есть тематики очень популярные, в которых точное число запросов («!») достигает 20 тыс. показов/в месяц и более (например, «!уроки!фотошопа»), а есть менее популярные, в которых точное число запросов не достигает и 2000 показов/в месяц (например «!уроки!английского»).

Я в этом случае придерживаюсь простой формулы, которую вычислил для себя, продемонстрирую на примере «!уроки!фотошопа»:

ВК, СК и НК запросы ВКЗ, СКЗ и НКЗ

По мимо ВЧ, СЧ и НЧ запросов существует еще одна категория. Это высоко конкурентные (ВК), средне конкурентные (СК) и низко конкурентные (НК) запросы, также могут встречаться ВКЗ, СКЗ и НКЗ. В этом случае нам потребуется определить конкурентность тех запросов, по которым мы планируем продвигаться в ТОП, но об этом будет отдельный пост, на тему « ». . А пока давайте считать, что ВЧ запросы являются ВК запросами, СЧ – СК и НЧ – НК. В большинстве случаев эта формула работает, но бывают и исключения, когда например НЧ запросы являются высоко конкурентными (ВК) и наоборот ВЧ запросы являются НК. Все зависит от тематики блога.

Схема составления семантического ядра

Для наглядности давайте посмотрим на схематичный пример семантического ядра. Примерно так должна выглядеть стандартная схема семантического ядра.

Но не стоит сильно привязываться к этой схеме, т.к. по мере ведения блога она у вас может меняться. На начальном этапе у вас может быть, допустим всего четыре рубрики, содержащих по три НЧ запроса, а со временем может все поменяться.

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

Сразу хочу сказать, что я не специалист в «фотошопе», просто эта тема мне пришла на ум при написании поста. Поэтому я подбирал запросы по смыслу. Хорошо, вот какая схема семантического ядра у меня получилась на тему «фотошоп». У вас должно получиться, что-то на подобии:

Виды запросов

Все запросы (наши ключевые слова) можно разделить на три категории:

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

Стратегия составления семантического ядра

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

Как я уже писал выше: на начальном этапе стоит продвигать свой блог по НЧ или НК запросам. А что же делать с СЧ (СК) и ВЧ (ВК) запросами, спросите вы? Поясняю.

Продвигаться по ВЧ (ВК) запросам у вас вряд ли получится, поэтому их можно удалить, но рекомендуется оставить один-два ВЧ (ВК) запроса для главной страницы. Сразу же оговорюсь: не надо кидаться на самый ВЧ запрос, такой как «фотошоп», у которого точное число показов/в месяц составляет – 163384. Например, вы хотите при помощи вашего блога обучить людей работе в фотошопе. Вот и возьмите за основу ВЧ запроса – «уроки фотошоп», у которого точное число показов/в месяц составляет – 7110. Этот запрос более характеризует вашу тему и по нему вам будет легче продвинуться.

А вот СЧ (СК) запросы можно поместить на отдельной страничке в excel. По мере того как ваш блог будет подниматься в глазах ПС они (СЧ (СК) запросы) будут понемногу становиться востребованными.

Я знаю, что новички сейчас вообще не понимают, о чем я говорю, советую вам почитать статью о том, изучив которую вам станет все понятно.

Заключение

Вот в принципе, наверное, и все. Конечно же, есть программы, которые помогут вам в составлении семантического ядра как платные (Key Kollektor), так и бесплатные (Словоёб, Словодёр), но о них я писать в этом посте не буду. Возможно, как-нибудь напишу о них отдельную статью. Но они вам только подберут ключевые слова, а разнести их по рубрикам и по постам вам придется самостоятельно.

А каким образом вы составляете семантическое ядро? А может вы его вообще не составляете? Какие используете программы и сервисы при составлении? Рад буду услышать ваши ответы в комментариях!

И напоследок посмотрите интересное видео.

Давайте напишем простое ядро, которое можно загрузить при помощи бутлоадера GRUB x86-системы. Это ядро будет отображать сообщение на экране и ждать.

Как загружается x86-система?

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

В большей части регистров процессора при запуске уже находятся определённые значения. Регистр, указывающий на адрес инструкций (Instruction Pointer, EIP), хранит в себе адрес памяти, по которому лежит исполняемая процессором инструкция. EIP по умолчанию равен 0xFFFFFFF0 . Таким образом, x86-процессоры на аппаратном уровне начинают работу с адреса 0xFFFFFFF0. На самом деле это - последние 16 байт 32-битного адресного пространства. Этот адрес называется вектором перезагрузки (reset vector).

Теперь карта памяти чипсета гарантирует, что 0xFFFFFFF0 принадлежит определённой части BIOS, не RAM. В это время BIOS копирует себя в RAM для более быстрого доступа. Адрес 0xFFFFFFF0 будет содержать лишь инструкцию перехода на адрес в памяти, где хранится копия BIOS.

Так начинается исполнение кода BIOS. Сперва BIOS ищет устройство, с которого можно загрузиться, в предустановленном порядке. Ищется магическое число, определяющее, является ли устройство загрузочным (511-ый и 512-ый байты первого сектора должны равняться 0xAA55 ).

Когда BIOS находит загрузочное устройство, она копирует содержимое первого сектора устройства в RAM, начиная с физического адреса 0x7c00 ; затем переходит на адрес и исполняет загруженный код. Этот код называется бутлоадером .

Бутлоадер загружает ядро по физическому адресу 0x100000 . Этот адрес используется как стартовый во всех больших ядрах на x86-системах.

Все x86-процессоры начинают работу в простом 16-битном режиме, называющимся реальным режимом . Бутлоадер GRUB переключает режим в 32-битный защищённый режим , устанавливая нижний бит регистра CR0 в 1 . Таким образом, ядро загружается в 32-битном защищённом режиме.

Заметьте, что в случае с ядром Linux GRUB видит протоколы загрузки Linux и загружает ядро в реальном режиме. Ядро самостоятельно переключается в защищённый режим.

Что нам нужно?

  • x86-компьютер;
  • Linux;
  • ld (GNU Linker);

Задаём точку входа на ассемблере

Как бы не хотелось ограничиться одним Си, что-то придётся писать на ассемблере. Мы напишем на нём небольшой файл, который будет служить исходной точкой для нашего ядра. Всё, что он будет делать - вызывать внешнюю функцию, написанную на Си, и останавливать поток программы.

Как же нам сделать так, чтобы этот код обязательно был именно исходной точкой?

Мы будем использовать скрипт-линковщик, который соединяет объектные файлы для создания конечного исполняемого файла. В этом скрипте мы явно укажем, что хотим загрузить данные по адресу 0x100000.

Вот код на ассемблере:

;;kernel.asm bits 32 ;nasm directive - 32 bit section .text global start extern kmain ;kmain is defined in the c file start: cli ;block interrupts mov esp, stack_space ;set stack pointer call kmain hlt ;halt the CPU section .bss resb 8192 ;8KB for stack stack_space:

Первая инструкция, bits 32 , не является x86-ассемблерной инструкцией. Это директива ассемблеру NASM, задающая генерацию кода для процессора, работающего в 32-битном режиме. В нашем случае это не обязательно, но вообще полезно.

Со второй строки начинается секция с кодом.

global - это ещё одна директива NASM, делающая символы исходного кода глобальными. Таким образом, линковщик знает, где находится символ start - наша точка входа.

kmain - это функция, которая будет определена в файле kernel.c . extern значит, что функция объявлена где-то в другом месте.

Затем идёт функция start , вызывающая функцию kmain и останавливающая процессор инструкцией hlt . Именно поэтому мы заранее отключаем прерывания инструкцией cli .

В идеале нам нужно выделить немного памяти и указать на неё указателем стека (esp). Однако, похоже, что GRUB уже сделал это за нас. Тем не менее, вы всё равно выделим немного места в секции BSS и переместим на её начало указатель стека. Мы используем инструкцию resb , которая резервирует указанное число байт. Сразу перед вызовом kmain указатель стека (esp) устанавливается на нужное место инструкцией mov .

Ядро на Си

В kernel.asm мы совершили вызов функции kmain() . Таким образом, наш “сишный” код должен начать исполнение с kmain() :

/* * kernel.c */ void kmain(void) { const char *str = "my first kernel"; char *vidptr = (char*)0xb8000; //video mem begins here. unsigned int i = 0; unsigned int j = 0; /* this loops clears the screen * there are 25 lines each of 80 columns; each element takes 2 bytes */ while(j < 80 * 25 * 2) { /* blank character */ vidptr[j] = " "; /* attribute-byte - light grey on black screen */ vidptr = 0x07; j = j + 2; } j = 0; /* this loop writes the string to video memory */ while(str[j] != "\0") { /* the character"s ascii */ vidptr[i] = str[j]; /* attribute-byte: give character black bg and light grey fg */ vidptr = 0x07; ++j; i = i + 2; } return; }

Всё, что сделает наше ядро - очистит экран и выведет строку “my first kernel”.

Сперва мы создаём указатель vidptr , который указывает на адрес 0xb8000 . С этого адреса в защищённом режиме начинается “видеопамять”. Для вывода текста на экран мы резервируем 25 строк по 80 ASCII-символов, начиная с 0xb8000.

Каждый символ отображается не привычными 8 битами, а 16. В первом байте хранится сам символ, а во втором - attribute-byte . Он описывает форматирование символа, например, его цвет.

Для вывода символа s зелёного цвета на чёрном фоне мы запишем этот символ в первый байт и значение 0x02 во второй. 0 означает чёрный фон, 2 - зелёный цвет текста.

Вот таблица цветов:

0 - Black, 1 - Blue, 2 - Green, 3 - Cyan, 4 - Red, 5 - Magenta, 6 - Brown, 7 - Light Grey, 8 - Dark Grey, 9 - Light Blue, 10/a - Light Green, 11/b - Light Cyan, 12/c - Light Red, 13/d - Light Magenta, 14/e - Light Brown, 15/f – White.

В нашем ядре мы будем использовать светло-серый текст на чёрном фоне, поэтому наш байт-атрибут будет иметь значение 0x07.

В первом цикле программа выводит пустой символ по всей зоне 80×25. Это очистит экран. В следующем цикле в “видеопамять” записываются символы из нуль-терминированной строки “my first kernel” с байтом-атрибутом, равным 0x07. Это выведет строку на экран.

Связующая часть

Мы должны собрать kernel.asm в объектный файл, используя NASM; затем при помощи GCC скомпилировать kernel.c в ещё один объектный файл. Затем их нужно присоединить к исполняемому загрузочному ядру.

Для этого мы будем использовать связывающий скрипт, который передаётся ld в качестве аргумента.

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

Сперва мы зададим формат вывода как 32-битный Executable and Linkable Format (ELF). ELF - это стандарный формат бинарных файлов Unix-систем архитектуры x86. ENTRY принимает один аргумент, определяющий имя символа, являющегося точкой входа. SECTIONS - это самая важная часть. В ней определяется разметка нашего исполняемого файла. Мы определяем, как должны соединяться разные секции и где их разместить.

В скобках после SECTIONS точка (.) отображает счётчик положения, по умолчанию равный 0x0. Его можно изменить, что мы и делаем.

Смотрим на следующую строку: .text: { *(.text) } . Звёздочка (*) - это специальный символ, совпадающий с любым именем файла. Выражение *(.text) означает все секции.text из всех входных файлов.

Таким образом, линковщик соединяет все секции кода объектных файлов в одну секцию исполняемого файла по адресу в счётчике положения (0x100000). После этого значение счётчика станет равным 0x100000 + размер полученной секции.

Аналогично всё происходит и с другим секциями.

Grub и Multiboot

Теперь все файлы готовы к созданию ядра. Но остался ещё один шаг.

Существует стандарт загрузки x86-ядер с использованием бутлоадера, называющийся Multiboot specification . GRUB загрузит наше ядро, только если оно удовлетворяет этим спецификациям .

Следуя им, ядро должно содержать заголовок в своих первых 8 килобайтах. Кроме того, этот заголовок должен содержать 3 поля, являющихся 4 байтами:

  • магическое поле: содержит магическое число 0x1BADB002 для идентификации ядра.
  • поле flags : нам оно не нужно, установим в ноль.
  • поле checksum : если сложить его с предыдущими двумя, должен получиться ноль.

Наш kernel.asm станет таким:

;;kernel.asm ;nasm directive - 32 bit bits 32 section .text ;multiboot spec align 4 dd 0x1BADB002 ;magic dd 0x00 ;flags dd - (0x1BADB002 + 0x00) ;checksum. m+f+c should be zero global start extern kmain ;kmain is defined in the c file start: cli ;block interrupts mov esp, stack_space ;set stack pointer call kmain hlt ;halt the CPU section .bss resb 8192 ;8KB for stack stack_space:

Строим ядро

Теперь мы создадим объектные файлы из kernel.asm и kernel.c и свяжем их, используя наш скрипт.

Nasm -f elf32 kernel.asm -o kasm.o

Эта строка запустит ассемблер для создания объектного файла kasm.o в формате ELF-32.

Gcc -m32 -c kernel.c -o kc.o

Опция “-c” гарантирует, что после компиляции не произойдёт скрытого линкования.

Ld -m elf_i386 -T link.ld -o kernel kasm.o kc.o

Это запустит линковщик с нашим скриптом и создаст исполняемый файл, называющийся kernel .

Настраиваем grub и запускаем ядро

GRUB требует, чтобы имя ядра удовлетворяло шаблону kernel- . Поэтому переименуйте ядро. Своё я назвал kernel-701.

Теперь поместите его в директорию /boot . Для этого понадобятся права суперпользователя.

В конфигурационном файле GRUB grub.cfg добавьте следующее:

Title myKernel root (hd0,0) kernel /boot/kernel-701 ro

Не забудьте убрать директиву hiddenmenu , если она есть.

Перезагрузите компьютер, и вы увидите список ядер с вашим в том числе. Выберите его, и вы увидите:

Это ваше ядро! В добавим систему ввода / вывода.

P.S.

  • Для любых фокусов с ядром лучше использовать виртуальную машину.
  • Для запуска ядра в grub2 конфиг должен выглядеть так: menuentry "kernel 7001" { set root="hd0,msdos1" multiboot /boot/kernel-7001 ro }
  • если вы хотите использовать эмулятор qemu , используйте: qemu-system-i386 -kernel kernel