במאמר האחרון סיפרתי לכם, אבל היום הגיע הזמן לדבר על איך ליצור את הליבה הסמנטית של אתר באמצעות תוכנות ושרתים מיוחדים.
הקיץ מגיע ואיכשהו זה נהיה יותר ויותר קשה לבלוג, אז התוצאה היא שמאמרים מתפרסמים רק לעתים רחוקות, מה שכנראה לא משמח אותך. האין זה?
למען האמת, זה בכלל לא על הקיץ, אלא על ה"טיפשות" שלי ליצור בלוג בשלב הראשוני. באופן כללי, ביצירת בלוג התחלתי מהמחשבות שלי, ולא מבקשות של משתמשים. בכלל, יצא שאני עונה לעצמי על שאלות, מצחיק.
באחד מהפוסטים הקודמים שלי כבר כתבתי על מה שצריך SY לאתר ומה הוא, שם חשפתי את הבסיס ליסודות יצירתו, כנראה שהגיע הזמן לעבור לתרגול של יצירת ליבה סמנטית.
סיכום:
במאמר האחרון דיברתי בעיקר על התיאוריה, אבל כפי שמראה בפועל, לא כל המשתמשים תמיד מבינים חומר כזה, אז אני מציג הוראות שלב אחר שלב שתוכלו לקחת כבסיס וליצור ליבה סמנטית משלכם בלי הרבה מאמץ . כן, בדיוק כבסיס, מכיוון שההתקדמות לא עומדת מלכת ואולי יש כבר דרכים מתקדמות יותר ליצור את הליבה לאתר.
אז, קודם כל, עלינו להחליט על מה יעסוק האתר העתידי שלנו. אני אקח כבסיס את הנושא "אקולוגיה סביבתית" » ואני אבחר עבורו מילות מפתח. כדי לקבוע את המפתחות העיקריים, אקח מלכתחילה את האתר של המתחרה ואת גוגל.
כפי שאתה מבין, אני אקח כבסיס את שלושת האתרים הראשונים בתוצאות החיפוש של Yandex.
seasons-goda.rf
zeleneet.com
biofile.ru
בשלב זה, כל אתר שיכול לזהות אוטומטית שאילתות אתר שמתאימות לקידום אותו לפסגה טוב לנו. אני מעדיף להשתמש באיזה שרת אתה מעדיף - זו דעתך בלבד, שתוכל לכתוב לי בתגובות ולדון בה.
אנחנו מוסיפים את התורם שלנו, לא את האתר שלנו!
כפי שאולי ניחשתם, לקחתי אחד משלושת האתרים, אבל כדאי לקחת כמה. הקש "הבא...
כפי שאתה יכול לראות, בחרתי רק את 10 הבקשות הראשונות לדוגמא ויזואלית. כדאי לאסוף כמה שיותר מילות מפתח, ואל תתעצלו לחשוב איך ביקשתם מגוגל למצוא את התשובה לשאלה שלכם, אותה אתם הולכים לפרסם באינטרנט בבלוג או באתר שלכם. בואו נעבור לשלב הבא של יצירת ליבה סמנטית במו ידינו.
כפי שכבר הבנתם, כל שעליכם לעשות הוא לייצא את מסד הנתונים של מילות המפתח ולעבור לשלב הבא לקראת יצירת הליבה הסמנטית של האתר, אותו תעשו בעצמכם. אל תשכח לסמן את התיבות של מילות המפתח שאתה מנסה לשמור בקובץ האקסל.
בשלב זה השרת יעזור לנו, היזהר עם קישור השותפים, הירשםבאתר rookee.ru. אנו עוברים אליו ויוצרים קמפיין פרסומי חדש באמצעות אתר האינטרנט של המתחרים שלנו.
הוסף אתר ופעל לפי ההוראות המפורטות של המשאב המקוון.
כעת עליכם להמתין מעט עד שהרובוט יסרוק את האתר וייתן לכם את השאילתות המעניינות ביותר, שתוכלו ליישם גם בהמשך. הנה התוצאה שלי.
כפי שאתה יכול לראות, המערכת מצאה 299 בקשות, אבל הן לא מעניינות אותי ואני פשוט אמחק אותן ואוסיף את 10 ש-seopult נתן לי בשלב הראשון. אגב, בקשה אחת חייבת להישאר, אחרת לא תוכל למחוק הכל. זה מה שקרה לי לאחר ההסרה. כשאני מוסיף את מסד הנתונים הראשי של השאילתות, אני אמחק את המפתח הזה כדי שלא יפריע לי, מכיוון שהוא לא רלוונטי עבורי. כעת נוסיף את הבקשות שקיבלנו קודם לכן.
כעת עלינו לעבור לתיקיית "בקשות" ולהמתין מעט עד שרובוט החיפוש יסרוק את הבקשות. בסופו של דבר התברר שכל המילים התבררו כ-NK (תחרותיות נמוכה), שדי מתאימות לי ליצירת אתר ולמשוך את הקוראים הראשונים לבלוג.
אם יש לך מילים במשמעות VC (תחרות גבוהה) או SC (תחרות בינונית), אז בשלב הראשון של יצירת הליבה עליך לנטוש אותן ולבחור רק בתחרות נמוכה.
אנו מייצאים את המילים ועוברים לשלב האחרון הבא. מכיוון שלא מחקתי שום דבר בגלל תחרות נמוכה, ייתכן שהמצב שלך יהיה שונה. אבל אני מבקש ממך בבקשה למחוק שאילתות בינוניות ותחרותיות במיוחד, מכיוון שאלו עלויות מיותרות עבורך.
לשלב האחרון, נזדקק לתוכנית Key Collector. אני אשתמש באב הטיפוס החינמי שלה, שתוכל למצוא בקלות באינטרנט. כנראה אשאיר לך את השם של התוכנית הזו בתור שיעורי בית. אז, פתח את התוכנית והזן את המפתחות שנמצאו, יש לי 9 מהם עד כה.
כפי שאנו רואים, מתוך 9 בקשות, עדיף לנו לכתוב על מכשיר למדידת לחות אוויר. זוהי דוגמה עם מילת מפתח אחת שרלוונטית לשאילתות בתדירות נמוכה בנושא שצוין.
אל תשכח שהתוכנית מסוגלת גם לבחור 1,000 מילים עבור השאילתה הראשית עם צורות המילים שלה כדי לעשות זאת, פשוט הזן את המילים בכרטיסייה האדומה "אוסף מילים מ-Yandex worstat".
לאחר שבחרתם את המספר המרבי של מילים רלוונטיות, אל תשכחו למיין אותן לפי חשיבות, החל מהמינימום. נסה גם ליצור קישור טוב למאמר שלך - זה ישפר את העובדות ההתנהגותיות על המשאב שלך.
ובכן, זה הכל, התמהמתי עם העבודה שלי. איך אתה יוצר SY עבור החנות המקוונת שלך? כתבו לי על זה בתגובות.
נ.ב.אתה יכול גם לקבל את המאמרים החדשים שלי במייל פשוט על ידי הרשמה לניוזלטר RSSותהיו הראשונים לדעת על הסודות והשיטות שלי. איך יוצרים את הליבה הסמנטית של אתר אינטרנט? כתבו לי על השיטה שלכם בתגובות, בואו נדון.
שלום לכולם! המאמר של היום מוקדש לאופן הרכבה נכונה של ליבה סמנטית (SC). אם אתם עוסקים בקידום קידום אתרים בגוגל וב-Yandex, רוצים להגדיל את התנועה הטבעית, להגדיל את התנועה לאתר ואת המכירות - החומר הזה הוא בשבילכם.
כדי לרדת לעומקה של האמת, נלמד את הנושא מ"א עד ת":
לסיכום, בואו נסתכל על הכללים הכלליים לחיבור SL. אז בואו נתחיל!
הליבה הסמנטית של אתר (המכונה גם "הליבה הסמנטית") היא קבוצה של מילים וביטויים התואמים בדיוק את המבנה והנושא של המשאב. במילים פשוטות, אלו הן השאילתות שבאמצעותן משתמשים יכולים למצוא אתר באינטרנט.
הליבה הסמנטית הנכונה היא שנותנת למנועי החיפוש ולקהל תמונה מלאה של המידע המוצג במשאב.
לדוגמה, אם חברה מוכרת גלויות מוכנות, אזי הליבה הסמנטית צריכה לכלול את השאילתות הבאות: "קנה גלויה", "מחיר גלויה", "גלויה מותאמת אישית" וכדומה. אבל לא: "איך להכין גלויה", "גליית עשה זאת בעצמך", "גלויות תוצרת בית".
מעניין לדעת: קופירייטינג LSI. האם הטכניקה תחליף את SEO?
חשוב לציין שאין גבולות ברורים המפרידים בין HF ל-SY ו-LF, שכן הם משתנים בהתאם לנושא. לדוגמה, עבור השאילתה "אוריגמי", מחוון RF הוא 600 אלף הופעות בחודש, ועבור "קוסמטיקה" - 3.5 מיליון.
אם נפנה לאנטומיה של המפתח, אז התדר הגבוה מורכב רק מהגוף, התדרים הבינוניים והתדרים הנמוכים מתווספים על ידי מפרט ו"זנב".
בעת יצירת ליבה סמנטית, אתה צריך להשתמש בכל סוגי התדר, אבל בפרופורציות שונות: מינימום HF, מקסימום LF וכמות ממוצעת של MF.
כדי להבהיר את זה, בואו נצייר אנלוגיה עם עץ. תא המטען הוא הבקשה החשובה ביותר שעליה נשען הכל. ענפים עבים הממוקמים קרוב יותר לתא המטען הם מפתחות בתדר הביניים, שהם גם פופולריים, אבל לא פופולריים כמו HF. ענפים דקים הם מילים בתדירות נמוכה המשמשות גם לחיפוש המוצר/שירות הרצוי, אך לעיתים רחוקות.
קריטריון זה מראה בכמה משאבי אינטרנט הבקשה הזו משתמשת לקידום. הכל פשוט כאן: ככל שהתחרותיות של המפתח גבוהה יותר, כך קשה יותר לפרוץ ולהישאר איתו בטופ 10. אלה עם תחרות נמוכה גם לא שווים תשומת לב, מכיוון שהם לא מאוד פופולריים ברשת. האופציה האידיאלית היא להתקדם לפי בקשות IC, שבאמצעותן אתה יכול באופן ריאלי לתפוס מקום ראשון באזור עסקי יציב.
שאר מילות המפתח, כאשר קשה להבין את כוונת המשתמש, מסווגות לקבוצת "אחר" (לדוגמה, רק המילה "גלויה" מעלה הרבה שאלות: "לקנות? לעשות? לצייר?").
איסוף ליבה סמנטית היא עבודה קפדנית הדורשת הרבה זמן, מאמץ וסבלנות. לא ניתן יהיה ליצור תחביר נכון שיעבוד תוך שתי דקות בלבד.
עולה כאן שאלה הגיונית לחלוטין: האם בכלל כדאי להשקיע מאמץ בבחירת ליבה סמנטית לאתר? אם אתה רוצה שהפרויקט האינטרנטי שלך יהיה פופולרי, תגדיל כל הזמן את בסיס הלקוחות שלך ובהתאם לכך תגדיל את רווחי החברה, התשובה היא חד משמעית: "כן".
מכיוון שאיסוף הליבה הסמנטית עוזר:
איך עוד אפשר להשתמש בליבה הסמנטית? כדי ליצור את תוכנית התוכן הנכונה. מפתחות שנאספו כהלכה יציעו נושאים לטקסטים ופוסטים המעניינים את קהל היעד שלך.
סיכום. בלי SY, זה כמעט בלתי אפשרי ליצור פרויקט אינטרנט מעניין, פופולרי ורווחי.
חומר בנושא:
לפני יצירת הליבה הסמנטית של האתר, עליך לבצע את השלבים הבאים:
כאן חשוב לרשום את כל השירותים והסחורה שהארגון מציע. לדוגמה, כדי לאסוף ליבה סמנטית עבור חנות רהיטים מקוונת, אתה יכול להשתמש בשאילתות הבאות: ספה, כורסה, מיטה, מסדרון, ארון + שחזור, תיקון. העיקר כאן הוא לא לפספס כלום ולא להוסיף דברים מיותרים. רק מידע רלוונטי, כלומר. אם החברה אינה מוכרת פופים או תיקון רהיטים, אין צורך בבקשות אלו.
בנוסף לסיעור מוחות, אתה יכול להשתמש בשירותים של Google Analytics ו-Yandex.Metrika (איור 1) או בחשבונות אישיים ב-Google Search Console ו-Yandex Webmaster (איור 2). הם יגידו לך אילו שאילתות הפופולריות ביותר בקרב קהל היעד שלך. סיוע כזה זמין רק לאתרים שכבר פועלים.
טקסטים לעזרה:
II. כדי לנתח את הליבה הסמנטית של אתר מתחרה:
דרך יעילה נוספת להרחיב את הליבה הסמנטית היא להשתמש במילים נרדפות. משתמשים יכולים לחפש את אותו מוצר או שירות בדרכים שונות, לכן חשוב לכלול את כל המפתחות החלופיים ב-TL. רמזים בגוגל וב-Yandex יעזרו לך למצוא מילים נרדפות.
עֵצָה. אם האתר הוא אינפורמטיבי, תחילה עליך לבחור שאילתות שהן העיקריות עבור המשאב הזה ועבורן מתוכנן קידום. ואז - עונתי. לדוגמה, עבור פרויקט אינטרנטי על מגמות אופנה בבגדים, השאילתות המרכזיות יהיו: אופנה, נשים, גברים, ילדים. וכביכול "עונתי" - סתיו, חורף, אביב וכו'.
לאחר שהחלטת על רשימת שאילתות עבור האתר שלך, תוכל להתחיל לאסוף את הליבה הסמנטית.
אפשר לעשות את זה:
א. בחינם באמצעות:
Yandex Wordstat הוא שירות מקוון פופולרי מאוד שבאמצעותו אתה יכול:
חסרון גדול: אתה צריך "לפרוק" את המפתחות באופן ידני. אבל אם תתקין את התוסף עוזר Yandex Wordstat,העבודה עם הליבה הסמנטית תאיץ משמעותית (רלוונטי לדפדפן Opera).
זה קל לשימוש: לחץ על "+" ליד המקש הרצוי או לחץ על "הוסף הכל". בקשות מועברות אוטומטית לרשימת התוספות. לאחר איסוף ה-CN, עליך להעביר אותו לעורך הטבלה ולעבד אותו. יתרונות חשובים של התוכנית: בדיקת כפילויות, מיון (אלפבית, תדירות, הוספה), אפשרות להוסיף מפתחות באופן ידני.
הוראות שלב אחר שלב כיצד להשתמש בשירות ניתנות במאמר: Yandex. Wordstat: כיצד לאסוף שאילתות מפתח?
מתכנן מילות מפתח מבית גוגל, המאפשר לבחור ליבה סמנטית באינטרנט בחינם. השירות מוצא מילות מפתח על סמך השאילתות של משתמשי מנוע החיפוש של גוגל. כדי לעבוד, עליך להיות בעל חשבון Google.
השירות מציע:
כדי לאסוף את הליבה הסמנטית, עליך להזין שאילתה, לבחור את המיקום והשפה. התוכנית מציגה את מספר הבקשות הממוצע לחודש ואת רמת התחרות. יש גם מידע על הופעות מודעה והצעת המחיר להצגת מודעה בראש העמוד.
במידת הצורך, ניתן להגדיר סינון לפי תחרות, מיקום ממוצע וקריטריונים נוספים.
אפשר גם לבקש דוח (התוכנית מציגה הוראות שלב אחר שלב כיצד לעשות זאת).
כדי ללמוד את חיזוי התנועה, פשוט הזן שאילתה או קבוצת מפתחות בחלון "ראה את מספר השאילתות והתחזיות". המידע יעזור לקבוע את האפקטיביות של התוכנית האסטרטגית עבור תקציב ושיעור נתון.
ה"חסרונות" של השירות כוללים את הדברים הבאים: אין תדירות מדויקת (רק הממוצע לחודש); אינו מציג מפתחות Yandex מוצפנים ומסתיר חלק מגוגל. אבל זה קובע תחרות ומאפשר לך לייצא מילות מפתח בפורמט אקסל.
זוהי גרסה חינמית של Key Collector, שיש לה הרבה תכונות שימושיות:
כדי להשתמש בשירות, פשוט הזן את פרטי החשבון שלך ב-Direct (כניסה וסיסמה).
אם אתה רוצה לדעת יותר, קרא את המאמר: Slovoeb (Slovoeb). יסודות והוראות שימוש
תוכנית קלה לשימוש וחינמית לאיסוף הליבה הסמנטית, שבסיס הנתונים שלה כולל יותר מ-2 מיליארד שאילתות.
זה מובחן על ידי הפעולה המבצעית שלו, כמו גם תכונות שימושיות:
החיסרון החשוב היחיד של תוכנית ההתקנה הוא ה"משקל" הגדול שלה (בפורמט הדחוס ≈ 28 GB, בפורמט הלא ארוז ≈ 100 GB). אבל יש חלופה - בחירת SYS באינטרנט.
II. בתשלום באמצעות תוכניות:
שירות רוסי המכיל מסד נתונים של יותר מ-1.6 מיליארד מילות מפתח עם נתוני Yandex WordStat ו-Direct, וכן שירות באנגלית המכיל יותר מ-600 מיליון מילים. זה עובד באינטרנט ועוזר לא רק ביצירת ליבה סמנטית, אלא גם בהשקת קמפיין פרסומי ב-Yandex.Direct. החיסרון החשוב והחשוב ביותר שלו יכול להיקרא בבטחה העלות הגבוהה שלו.
אולי הכלי הפופולרי והנוח ביותר לאיסוף הליבה הסמנטית.
אספן מפתחות:
אתה יכול להעריך איך Kay Collector אוסף את הליבה הסמנטית בחינם בגרסת ההדגמה.
שירות שבאמצעותו ניתן לאסוף ולרכז את הליבה הסמנטית.
בנוסף, Rush Analytics:
כלי מצוין, אבל בתשלום: ללא גרסת הדגמה והמחאות חינם מוגבלות.
התוכנית אוספת שאילתות מפתח מ-30 האתרים הראשונים במנוע החיפוש Yandex. מציג את התדירות לחודש, את התחרותיות של כל שאילתת חיפוש וממליץ להשתמש במילים עם אינדיקטור של עד 5 (שכן מספיק תוכן איכותי כדי לקדם ביעילות מילות מפתח כאלה).
מאמר שימושי: 8 סוגי טקסטים לאתר - כתוב נכון
תוכנית בתשלום לאיסוף הליבה הסמנטית, אבל יש מגבלה חינם - 10 צ'קים ליום (זמינה לאחר חידוש התקציב הראשון, לפחות ב-1 רובל). פתוח רק למשתמשים רשומים.
שירות אמין ליצירת ליבה סמנטית ש:
התוכנית אינה מצריכה הרשמה.
בנוסף לכלים המוצגים, ישנם שירותים רבים נוספים לאיסוף הליבה הסמנטית של אתר עם סקירות וידאו מפורטות ודוגמאות. התפשרתי על אלה כי אני חושב שהם הכי יעילים, פשוטים ונוחים.
סיכום. במידת האפשר, מומלץ לרכוש רישיונות לשימוש בתוכנות בתשלום, מכיוון שיש להן פונקציונליות רחבה הרבה יותר מאשר מקבילותיהן החינמיות. אבל לאיסוף פשוט של CN, גם שירותים "פתוחים" מתאימים למדי.
ליבה סמנטית מוכנה, ככלל, כוללת מילות מפתח רבות (לדוגמה, עבור הבקשה "ריהוט מרופד", שירותים מחזירים כמה אלפי מילים). מה לעשות הלאה עם מספר כה עצום של מילות מפתח?
יש צורך במפתחות שנאספו:
בקשות בתדירות אפס או שגיאות פשוט נמחקות. כדי לחסל מפתחות עם "זנבות" מיותרים, אני ממליץ לך להשתמש בפונקציית "מיין וסינון" באקסל. מה יכול להיחשב זבל? לדוגמה, עבור אתר מסחרי, מילים כמו "הורדה", "חינם" וכו' יהיו מיותרות. ניתן להסיר באופן אוטומטי גם כפילויות באקסל באמצעות אפשרות "הסר כפילויות" (ראה דוגמאות למטה).
אנו מסירים מפתחות בתדירות אפס:
הסרת "זנבות" מיותרים:
היפטרות מכפילים:
אם אינך רוצה שה"נתיב" שלך לפסגה יימשך שנים, אל תכלול מפתחות VK. עם מילות מפתח כאלה לא יספיק להגיע רק למיקומים הראשונים בתוצאות החיפוש, אלא מה שחשוב וקשה יותר הוא לנסות להישאר שם.
דוגמה כיצד לקבוע מפתחות VK דרך מתכנן מילות המפתח מגוגל (ניתן להשאיר רק NK ו-SK דרך המסנן):
אתה יכול לעשות זאת בשתי דרכים:
1. בתשלום:
בנוסף לשירותים האלה, אני יכול גם להמליץ Rush Analytics,שכבר פגשנו למעלה, ו פשוט-קסם.
Rush Analytics:
פשוט-קסם:
2. בחינם:
שלב 1
שלב 2
שלב 3
שלב 4
דוגמה לליבה סמנטית לא מקובצת:
איך לאגד את הליבה הסמנטית ובאילו שיטות להשתמש תלוי בך. אני מאמין שהדרך שבה אתה צריך את זה יכול להיעשות רק ידנית. זה ארוך, אבל יעיל.
לאחר איסוף והפצת הליבה הסמנטית לחלקים, תוכל להתחיל בכתיבת טקסטים לדפים.
קרא מאמר בנושא עם דוגמאות: כיצד להזין נכון מילות מפתח בטקסט?
לסיכום, חשוב להוסיף טיפים שיעזרו לכם להרכיב את הליבה הסמנטית הנכונה:
ההצהרה השיווקית צריכה להיות מעוצבת כך שתענה על הצרכים של כמה שיותר לקוחות פוטנציאליים. |
||
הסמנטיקה חייבת להתאים בדיוק לנושא של פרויקט האינטרנט, כלומר. עליך להתמקד רק בשאילתות ממוקדות. |
||
חשוב שהליבה הסמנטית המוגמרת תכלול רק כמה מפתחות בתדר גבוה, השאר מלא בתדרים בינוניים ונמוכים. |
||
יש להרחיב את הליבה הסמנטית באופן קבוע כדי להגדיל את התנועה הטבעית. |
והדבר הכי חשוב: הכל באתר (ממפתחות ועד מבנה) חייב להיעשות "לאנשים"!
סיכום. ליבה סמנטית מורכבת היטב נותנת הזדמנות אמיתית לקדם ולתחזק במהירות אתר במיקומים עליונים בתוצאות החיפוש.
אם אתם בספק אם אתם יכולים להרכיב את השפה הסמנטית הנכונה, עדיף להזמין ליבה סמנטית לאתר מאנשי מקצוע. זה יחסוך אנרגיה, זמן ויביא ליתרונות נוספים.
יהיה מעניין לדעת גם: איך למקם ולהאיץ את האינדקס של מאמר? 5 סודות של הצלחה
זה הכל. אני מקווה שהחומר יהיה שימושי עבורך בעבודתך. אודה לכם אם תשתפו בחוויה שלכם ותשאירו הערות. תודה לך על תשומת הלב! עד לפגישות מקוונות חדשות!
פיתוח ליבה נחשב בצדק למשימה לא קלה, אבל כל אחד יכול לכתוב ליבה פשוטה. כדי לחוות את הקסם של פריצת ליבה, אתה רק צריך לעקוב אחר כמה מוסכמות ולשלוט בשפת האסמבלר. במאמר זה נראה לכם כיצד לעשות זאת.
שלום עולם!
בואו נכתוב ליבה שיאתחל דרך GRUB במערכות תואמות x86. הקרנל הראשון שלנו יציג הודעה על המסך ויעצור שם.
לפני שנחשוב על איך לכתוב ליבה, בואו נסתכל כיצד מחשב מאתחל ומעביר את השליטה לקרנל. לרוב אוגרי המעבד x86 יש ערכים ספציפיים לאחר האתחול. פנקס ההוראות (EIP) מכיל את הכתובת של ההוראה שתבוצע על ידי המעבד. הערך המקודד הקשיח שלו הוא 0xFFFFFFF0. כלומר, מעבד x86 תמיד יתחיל בביצוע מהכתובת הפיזית 0xFFFFFFF0. זהו 16 הבתים האחרונים של מרחב הכתובות של 32 סיביות. כתובת זו נקראת וקטור האיפוס.
כרטיס הזיכרון הכלול בערכת השבבים מציין שהכתובת 0xFFFFFFF0 מתייחסת לחלק ספציפי של ה-BIOS, ולא ל-RAM. עם זאת, ה-BIOS מעתיק את עצמו ל-RAM לגישה מהירה יותר - תהליך זה נקרא "הצללה", ויוצר עותק צל. אז כתובת 0xFFFFFFF0 תכיל רק הוראה לקפוץ למיקום בזיכרון שבו ה-BIOS העתיק את עצמו.
אז, ה-BIOS מתחיל לפעול. ראשית, הוא מחפש מכשירים שמהם הוא יכול לאתחל בסדר שצוין בהגדרות. הוא בודק במדיה עבור "מספר קסם" שמבדיל בין דיסקים ניתנים לאתחול מאלה רגילים: אם בתים 511 ו-512 במגזר הראשון הם 0xAA55, אז הדיסק ניתן לאתחול.
ברגע שה-BIOS ימצא את התקן האתחול, הוא יעתיק את תוכן הסקטור הראשון ל-RAM, החל בכתובת 0x7C00, ולאחר מכן יעביר את הביצוע לכתובת זו ויתחיל לבצע את הקוד שזה עתה נטען. קוד זה נקרא Bootloader.
טוען האתחול טוען את הליבה בכתובת הפיזית 0x100000. זה מה שמשתמשים בגרעיני ה-x86 הפופולריים ביותר.
כל המעבדים התואמים x86 מתחילים במצב פרימיטיבי של 16 סיביות הנקרא "מצב אמיתי". טוען האתחול GRUB מעביר את המעבד למצב מוגן של 32 סיביות על ידי הגדרת הסיביות התחתונות של האוגר CR0 לאחד. לכן, הקרנל מתחיל להיטען במצב מוגן של 32 סיביות.
שימו לב ש-GRUB, במקרה של ליבות לינוקס, בוחר את פרוטוקול האתחול המתאים וטוען את הליבה במצב אמיתי. ליבות לינוקס עוברות אוטומטית למצב מוגן.
היינו, כמובן, רוצים לכתוב הכל ב-C, אבל לא נוכל להימנע לחלוטין משימוש ב-assembler. נכתוב קובץ קטן ב-x86 assembler שיהפוך לנקודת ההתחלה של הליבה שלנו. כל מה שקוד ה-assembly יעשה הוא לקרוא לפונקציה חיצונית שנכתוב ב-C, ואז לעצור את ביצוע התוכנית.
כיצד נוכל להפוך את קוד ה-assembly לנקודת ההתחלה של הליבה שלנו? אנו משתמשים בסקריפט מקשר שמקשר בין קבצי אובייקט ויוצר את קובץ ההפעלה הסופי של הליבה (אני אסביר יותר בהמשך). בסקריפט זה, נציין ישירות שאנו רוצים להוריד את הבינארי שלנו בכתובת 0x100000. זו הכתובת, כפי שכבר כתבתי, שבה מצפה טוען האתחול לראות את נקודת הכניסה לקרנל.
הנה קוד האסמבלר.
ההוראה הראשונה של סיביות 32 אינה x86 assembler, אלא הנחיית NASM שאומרת לה ליצור קוד עבור המעבד לפעול במצב 32 סיביות. זה לא הכרחי עבור הדוגמה שלנו, אבל נוהג טוב לציין זאת במפורש.
השורה השנייה מתחילה את קטע הטקסט, הידוע גם כקטע הקוד. כל הקוד שלנו יגיע לכאן.
גלובל היא הנחיה נוספת של NASM, היא מכריזה על הסמלים בקוד שלנו כגלובליים. זה יאפשר למקשר למצוא את סמל ההתחלה, המשמש לנו כנקודת הכניסה.
kmain היא פונקציה שתוגדר בקובץ kernel.c שלנו. extern מצהיר שהפונקציה מוצהרת במקום אחר.
לאחר מכן מגיעה פונקציית ההתחלה, הקוראת kmain ועוצרת את המעבד עם הוראת הhlt. פסיקות יכולות להעיר את המעבד לאחר hlt, לכן אנו משביתים תחילה פסיקות עם הוראת cli (clear interrupts).
באופן אידיאלי, עלינו להקצות כמות מסוימת של זיכרון לערימה ולכוון אליה את מצביע המחסנית (esp). נראה כי GRUB עושה זאת עבורנו בכל מקרה, ובשלב זה מצביע המחסנית כבר מוגדר. עם זאת, ליתר בטחון, בואו נקצה קצת זיכרון בקטע BSS ונכוון את מצביע המחסנית לתחילתו. אנו משתמשים בהוראה resb - היא שומרת זיכרון שצוין בבתים. לאחר מכן נותר סימן המציין את הקצה של פיסת הזיכרון השמורה. רגע לפני שנקרא kmain, מצביע המחסנית (esp) מופנה לאזור זה על ידי הוראת ה-mov.
בקובץ kernel.asm קראנו לפונקציה kmain() . אז בקוד C, הביצוע יתחיל משם.
כל מה שהקרנל שלנו יעשה זה לנקות את המסך ולהדפיס את השורה הליבה הראשונה שלי.
ראשית, אנו יוצרים מצביע vidptr המצביע לכתובת 0xb8000. במצב מוגן, זוהי תחילתו של זיכרון וידאו. זיכרון מסך הטקסט הוא פשוט חלק ממרחב הכתובות. קטע זיכרון מוקצה למסך קלט/פלט, שמתחיל בכתובת 0xb8000 25 שורות של 80 תווים ASCII ממוקמים בו.
כל תו בזיכרון הטקסט מיוצג על ידי 16 סיביות (2 בתים), במקום 8 הסיביות (1 בייט) שאנו רגילים אליהם. הבית הראשון הוא קוד ה-ASCII של התו, והבייט השני הוא attribute-byte. זוהי הגדרה של פורמט התווים, כולל הצבע שלו.
כדי להוציא את התו s ירוק על שחור, עלינו לשים s בבייט הראשון של זיכרון הווידאו ואת הערך 0x02 בבייט השני. 0 כאן פירושו רקע שחור ו-2 פירושו צבע ירוק. נשתמש בצבע אפור בהיר, הקוד שלו הוא 0x07.
בלולאת ה-while הראשונה, התוכנית ממלאת את כל 25 השורות של 80 תווים בתווים ריקים עם התכונה 0x07. פעולה זו תנקה את המסך.
בלולאת ה-while השניה, מחרוזת ה-null-terminated הליבה הראשונה שלי נכתבת לזיכרון וידאו וכל תו מקבל attribute-byte של 0x07. זה אמור להוציא מחרוזת.
כעת עלינו לקמפל kernel.asm לקובץ אובייקט באמצעות NASM, ולאחר מכן להשתמש ב-GCC כדי לקמפל kernel.c לקובץ אובייקט אחר. המשימה שלנו היא לקשר את האובייקטים הללו לגרעין הפעלה המתאים לטעינה. לשם כך נצטרך לכתוב סקריפט עבור המקשר (ld), אותו נעביר כארגומנט.
כאן אנו מגדירים לראשונה את הפורמט (OUTPUT_FORMAT) של קובץ ההפעלה שלנו ל-32 סיביות ELF (פורמט ניתן להפעלה וניתן לקישור), פורמט בינארי סטנדרטי עבור מערכות מבוססות Unix עבור ארכיטקטורת x86.
ENTRY לוקח טיעון אחד. הוא מציין את שם הסמל שישמש כנקודת הכניסה של קובץ ההפעלה.
SECTIONS הוא החלק החשוב ביותר עבורנו. כאן אנו מגדירים את הפריסה של קובץ ההפעלה שלנו. נוכל להגדיר כיצד ישולבו הקטעים השונים והיכן ימוקם כל קטע.
בסוגרים המתולתלים העוקבים אחר הביטוי SECTIONS, הנקודה מציינת את מונה המיקום. הוא מאותחל אוטומטית ל-0x0 בתחילת הבלוק SECTIONS, אך ניתן לשנות אותו על ידי הקצאת ערך חדש.
כתבתי קודם שקוד הליבה צריך להתחיל בכתובת 0x100000. זו הסיבה שאנו מקצים למונה המיקום את הערך 0x100000.
תסתכל על line.text: ( *(.text) ) . הכוכבית כאן מציינת מסכה שיכולה להתאים לכל שם קובץ. בהתאם, הביטוי *(.text) פירושו כל קטעי ה-.text הקלט בכל קבצי הקלט.
כתוצאה מכך, המקשר ימזג את כל קטעי הטקסט של כל קבצי האובייקטים לתוך קטע הטקסט של קובץ ההפעלה וימקם אותו בכתובת המצוינת במונה המיקום. קטע הקוד של קובץ ההפעלה שלנו יתחיל בכתובת 0x100000.
לאחר שהמקשר מייצר קטע טקסט, ערך מונה המיקום יהיה 0x100000 בתוספת גודל קטע הטקסט. באופן דומה, מקטעי הנתונים וה-bss ימוזגו וימוקמו בכתובת שניתנה על ידי מונה הפוזיציות.
כעת כל הקבצים שלנו מוכנים לבניית הליבה. אבל מכיוון שאנו מאתחלים את הקרנל באמצעות GRUB, נותר עוד שלב אחד.
יש תקן לטעינת גרעינים שונים של x86 באמצעות טוען אתחול. זה נקרא "מפרט ריבוי אתחול". GRUB יטען רק גרעינים התואמים לו.
לפי מפרט זה, הליבה עשויה להכיל כותרת (כותרת Multiboot) ב-8 הקילו-בייט הראשונים. כותרת זו חייבת להכיל שלושה שדות:
קובץ kernel.asm שלנו ייראה כעת כך.
ההוראה 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 kernel kasm.o kc.o
פקודה זו תפעיל את המקשר עם הסקריפט שלנו ותיצור קובץ הפעלה בשם kernel.
פריצת ליבה נעשית בצורה הטובה ביותר בסביבה וירטואלית. כדי להפעיל את הליבה ב-QEMU במקום GRUB, השתמש בפקודה qemu-system-i386 -kernel kernel.
GRUB דורש ששם קובץ הליבה ילך בעקבות הליבה-<версия>. אז בואו נשנה את שם הקובץ - אני אקרא לי kernel-701.
כעת אנו שמים את הליבה בספריית /boot. זה ידרוש הרשאות משתמש-על.
תצטרך להוסיף משהו כזה לקובץ התצורה GRUB grub.cfg:
כותרת myKernel root (hd0,0) kernel /boot/kernel-701 ro
אל תשכח להסיר את ההנחיה Hiddenmenu אם היא כלולה.
כדי להפעיל את הליבה שיצרנו ב-GRUB 2, אשר מסופק כברירת מחדל בהפצות חדשות, התצורה שלך צריכה להיראות כך:
תפריט "kernel 701" (הגדר root="hd0,msdos1" multiboot /boot/kernel-701 ro)
תודה לרובן לגואנה על התוספת הזו.
הפעל מחדש את המחשב שלך ואתה אמור לראות את הליבה שלך ברשימה! וכשתבחר בו, תראה את אותה שורה.
זה הליבה שלך!
השלמנו עבודה על ליבה מינימלית המאתחלת דרך GRUB, פועלת במצב מוגן ומדפיסה שורה בודדת למסך. זה הזמן להרחיב אותו ולהוסיף דרייבר למקלדת שיקרא תווים מהמקלדת ויציג אותם על המסך.
אנו נתקשר עם התקני I/O דרך יציאות I/O. בעיקרו של דבר, הן רק כתובות באוטובוס ה-I/O. קיימות הוראות מעבד מיוחדות לפעולות קריאה וכתיבה.
גישה ליציאות I/O נגישות באמצעות הוראות הכניסה והיציאה הכלולות בערכת x86.
ב-read_port, מספר היציאה מועבר כארגומנט. כאשר המהדר קורא לפונקציה, הוא דוחף את כל הארגומנטים לערימה. הארגומנט מועתק לאוגר edx באמצעות מצביע מחסנית. האוגר dx הוא 16 הסיביות התחתונות של האוגר edx. ההוראה ב כאן קוראת את מספר היציאה שניתן ב-dx ומכניסה את התוצאה ב-al. ה-al register הוא 8 הביטים התחתונים של האוגר eax. אולי אתה זוכר מהקולג' שהערכים המוחזרים על ידי פונקציות מועברים דרך אוגר ה-eax. אז read_port מאפשר לנו לקרוא מיציאות I/O.
הפונקציה write_port פועלת בצורה דומה. אנחנו לוקחים שני ארגומנטים: מספר היציאה והנתונים שייכתבו. הוראת היציאה כותבת נתונים ליציאה.
כעת, לפני שנחזור לכתוב את הדרייבר, עלינו להבין כיצד המעבד יודע שאחד המכשירים ביצע פעולה.
הפתרון הפשוט ביותר הוא סקר מכשירים - בדוק באופן רציף את מצבם במעגל. זה, מסיבות ברורות, לא יעיל ולא מעשי. אז זה המקום שבו ההפרעות נכנסות לתמונה. פסיקה היא אות שנשלח למעבד על ידי מכשיר או תוכנית המציין שהתרחש אירוע. על ידי שימוש בפסיקות, נוכל להימנע מהצורך לסקור מכשירים ונגיב רק לאירועים שמעניינים אותנו.
שבב הנקרא בקר הפרעות לתכנות (PIC) אחראי על שיבושים בארכיטקטורת x86. הוא מטפל בהפרעות חומרה ובמסלולים והופך אותם להפסקות מערכת מתאימות.
כאשר המשתמש עושה משהו עם המכשיר, דופק הנקרא Interrupt Request (IRQ) נשלח לשבב PIC. ה-PIC מתרגם את ההפרעה שהתקבלה לפסיקת מערכת ושולח הודעה למעבד שהגיע הזמן להפסיק את מה שהוא עושה. טיפול נוסף בפסיקות הוא המשימה של הקרנל.
ללא PIC, נצטרך לסקור את כל המכשירים הקיימים במערכת כדי לראות אם התרחש אירוע הקשור לאחד מהם.
בואו נראה איך זה עובד עם מקלדת. המקלדת תלויה ביציאות 0x60 ו-0x64. יציאה 0x60 שולחת נתונים (כאשר לחצן נלחץ), ויציאה 0x64 שולחת סטטוס. עם זאת, עלינו לדעת מתי בדיוק לקרוא את היציאות הללו.
הפרעות מועילות כאן. כאשר הכפתור נלחץ, המקלדת שולחת אות PIC דרך קו הפסיקה IRQ1. ה-PIC מאחסן את ערך ההיסט שנשמר במהלך האתחול שלו. זה מוסיף את מספר קו הקלט לריפוד הזה כדי ליצור וקטור פסיקה. לאחר מכן, המעבד מחפש מבנה נתונים הנקרא Table Descriptor Interrupt (IDT) כדי לתת למטפל בפסיקה את הכתובת המתאימה למספרו.
לאחר מכן הקוד בכתובת זו מבוצע ומטפל בהפרעה.
IDT הוא מערך של מבני IDT_entry. נדון בקישור פסיקת מקלדת למטפל מאוחר יותר, אבל עכשיו בואו נסתכל על איך ה-PIC עובד.
למערכות x86 מודרניות יש שני שבבי PIC, כל אחד עם שמונה קווי קלט. נקרא להם PIC1 ו-PIC2. PIC1 מקבל IRQ0 עד IRQ7, ו-PIC2 מקבל IRQ8 עד IRQ15. PIC1 משתמש ביציאה 0x20 עבור פקודות ו-0x21 עבור נתונים, ו-PIC2 משתמש ביציאה 0xA0 עבור פקודות ו-0xA1 עבור נתונים.
שני ה-PICs מאותחלים עם מילים של שמונה סיביות הנקראות Initialization command words (ICW).
במצב מוגן, שני ה-PIC צריכים להנפיק תחילה את פקודת האתחול ICW1 (0x11). זה אומר ל-PIC לחכות לשלוש מילות אתחול נוספות שיגיעו ליציאת הנתונים.
הפקודות האלה ישלחו את ה-PIC:
פקודת האתחול השנייה (ICW2) נשלחת גם לכניסה של כל PIC. הוא מקצה offset , שהוא הערך שאליו נוסיף את מספר השורה כדי לקבל את מספר הפסיקה.
PICs מאפשרים לפינים שלהם להיות מדורגים לכניסות זה של זה. זה נעשה באמצעות ICW3 וכל ביט מייצג את מצב המפל עבור ה-IRQ המתאים. כעת לא נשתמש בניתוב מחדש מדורג ונציב אותו לאפס.
ICW4 מפרט פרמטרים סביבתיים נוספים. אנחנו צריכים רק להגדיר את הביט הנמוך כדי שה-PICs ידעו שאנחנו פועלים במצב 80x86.
טא-דאם! ה-PICs מאותחלים כעת.
לכל PIC יש אוגר פנימי של שמונה סיביות הנקרא Interrupt Mask Register (IMR). הוא מאחסן מפת סיביות של קווי ה-IRQ שעוברים ל-PIC. אם הביט מוגדר, ה-PIC מתעלם מהבקשה. משמעות הדבר היא שאנו יכולים להפעיל או להשבית קו IRQ ספציפי על ידי הגדרת הערך המתאים ל-0 או 1.
קריאה מיציאת הנתונים מחזירה את הערך באוגר IMR, בעוד כתיבה משנה את האוגר. בקוד שלנו, לאחר אתחול ה-PIC, אנו מגדירים את כל הביטים לאחד, מה שמנטרל את כל קווי ה-IRQ. בהמשך נפעיל את השורות המתאימות לפסיקות במקלדת. אבל קודם כל, בואו נכבה את זה!
אם קווי ה-IRQ פועלים, ה-PICs שלנו יכולים לקבל אותות ב-IRQ ולהמיר אותם למספר פסיקה, ולהוסיף היסט. אנחנו צריכים למלא את ה-IDT בצורה כזו שמספר הפסיקה שמגיע מהמקלדת יתאים לכתובת של פונקציית המטפל שנכתוב.
לאיזה מספר פסיקה אנחנו צריכים כדי לאגד את המטפל במקלדת ב-IDT?
המקלדת משתמשת ב-IRQ1. זוהי שורת קלט 1 ומעובדת על ידי PIC1. אתחול PIC1 עם היסט 0x20 (ראה ICW2). כדי לקבל את מספר ההפסקה, אתה צריך להוסיף 1 ו-0x20, אתה מקבל 0x21. המשמעות היא שהכתובת של המטפל במקלדת תהיה קשורה ב-IDT כדי להפריע ל-0x21.
המשימה מסתכמת במילוי ה-IDT עבור הפסקה 0x21. נמפה את ההפרעה הזו לפונקציה keyboard_handler, אותה נכתוב בקובץ ה-assembly.
כל ערך ב-IDT מורכב מ-64 סיביות. בכניסה התואמת לפסיקה, איננו מאחסנים את כל הכתובת של פונקציית המטפל. במקום זאת, חילקנו אותו לשני חלקים של 16 סיביות. הסיביות מסדר נמוך מאוחסנות ב-16 הסיביות הראשונות של ערך ה-IDT, ו-16 הסיביות מסדר גבוה מאוחסנות ב-16 הסיביות האחרונות של הערך. כל זה נעשה למען תאימות עם 286 מעבדים. כפי שאתה יכול לראות, אינטל מייצרת מספרים כאלה על בסיס קבוע ובהרבה מאוד מקומות!
בערך IDT, אנחנו רק צריכים לרשום את הסוג, ובכך לציין שכל זה נעשה כדי לתפוס את ההפרעה. אנחנו צריכים גם להגדיר את ההיסט של קטע קוד הליבה. GRUB מגדיר לנו את ה-GDT. כל ערך GDT הוא באורך 8 בתים, כאשר מתאר קוד הליבה הוא הקטע השני, כך שההיסט שלו יהיה 0x08 (הפרטים הם מעבר לתחום של מאמר זה). שער הפסיקה מיוצג כ-0x8e. 8 הביטים הנותרים באמצע מלאים באפסים. כך נאכלס את ערך ה-IDT המתאים לפסיקת המקלדת.
לאחר שסיימנו עם מיפוי ה-IDT, עלינו לומר למעבד היכן נמצא ה-IDT. יש הוראה להרכבה שנקראת lidt בשביל זה; זהו מצביע על מתאר של המבנה המתאר את ה-IDT.
אין קשיים עם המתאר. הוא מכיל את גודל ה-IDT בבתים ואת הכתובת שלו. השתמשתי במערך כדי להפוך אותו לקומפקטי יותר. באותו אופן, ניתן למלא מתאר באמצעות מבנה.
במשתנה idr_ptr יש לנו מצביע שאנו מעבירים להוראה lidt בפונקציה load_idt() .
Load_idt: mov edx, קצת 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) (סטטוס char unsigned; char keycode; /* כתוב EOI */ write_port(0x20, 0x20); status = read_port(KEYBOARD_STATUS_PORT); /* סיבית המצב התחתון יוגדר אם המאגר לא ריק */ if (סטטוס & 0x01) ( keycode = read_port(KEYBOARD_DATA_PORT); if(keycode< 0) return; vidptr = keyboard_map; vidptr = 0x07; } }
כאן אנו נותנים תחילה אות EOI (End Of Interrupt) על ידי כתיבתו ליציאת הפקודה PIC. רק אז ה-PIC יאפשר בקשות פסיקה נוספות. אנחנו צריכים לקרוא שתי יציאות: יציאת נתונים 0x60 ויציאת פקודה (המכונה גם יציאת מצב) 0x64.
קודם כל, קראנו את היציאה 0x64 כדי לקבל את הסטטוס. אם החלק התחתון של המצב הוא אפס, אז המאגר ריק ואין נתונים לקריאה. במקרים אחרים נוכל לקרוא את יציאת הנתונים 0x60. זה ייתן לנו את הקוד של המקש שנלחץ. כל קוד מתאים ללחצן אחד. אנו משתמשים במערך תווים פשוט המוגדר ב-keyboard_map.h כדי למפות את הקודים לתווים המתאימים. לאחר מכן הסמל מוצג על המסך באמצעות אותה טכניקה שבה השתמשנו בגרסה הראשונה של הקרנל.
כדי לשמור על הקוד פשוט, אני מעבד רק אותיות קטנות מ-a עד z ומספרים מ-0 עד 9. ניתן להוסיף בקלות תווים מיוחדים, Alt, Shift ו-Caps Lock. ניתן לגלות שמקש נלחץ או שוחרר מהפלט של יציאת הפקודה ולבצע את הפעולה המתאימה. באותו אופן, אתה יכול לאגד כל קיצורי מקשים לפונקציות מיוחדות כמו כיבוי.
עכשיו אתה יכול לבנות את הקרנל ולהפעיל אותו על מכונה אמיתית או על אמולטור (QEMU) באותו אופן כמו בחלק הראשון.
שלום רב, קוראים יקרים שלי!
אני בטוח שרבים מכם לא רק שמעו, אלא אפילו לא יודעים שיש דבר כזה ליבה סמנטית! ומה זה אתם שואלים? - אני אנסה להסביר לך את זה במילים פשוטות. הליבה הסמנטית היא קבוצה של מילות מפתח, ביטויים, משפטים פשוטים, ביטויים וכו', המוחזרים על ידי מנוע חיפוש (להלן ה-SE) כאשר אתה מזין שאילתה בשורת הדפדפן.
למה אתה צריך ליבה סמנטית? הליבה הסמנטית של אתר אינטרנט היא הבסיס לקידום וקידום הוא הכרחי לאופטימיזציה פנימית. ללא ליבה סמנטית, קידום הפרויקט (אתר) שלך לא יהיה יעיל. ככל שהליבה הסמנטית של האתר מורכבת בצורה מוכשרת יותר, כך תצטרך פחות כסף כדי לקדם אותו בהצלחה. שום דבר עדיין לא ברור, נכון? אל תיבהלו, אני אנסה לפרק הכל בפירוט רב ככל האפשר. קרא בעיון ותבין הכל!
הדבר הראשון שאתה צריך לעשות לאחר שהחלטת על נושא הבלוג שלך הוא ליצור ליבה סמנטית. לשם כך עליכם לקחת מחברת ועט ולרשום את כל המילים, הביטויים, המשפטים המאפיינים את נושא הבלוג שלכם. כל מילה, ביטוי או משפט הם בעצם כותרת עתידית לפוסטים שלך, וככל שתעלה יותר מילים, כך יהיו לך יותר אפשרויות בעת כתיבת מאמרים בעתיד.
וכדי ליצור רשימה די מוצקה (200-300 מילים) זה ייקח לך הרבה זמן. לכן, מטעמי נוחות, נשתמש בשירותים מיוחדים כגון Yandex wordstat, Google adwords, Rambler adstat הם יפשטו לנו מאוד את המשימה. כמובן שאפשר יהיה להסתדר רק עם Yandex ו-Google, כי... אלה ענקים בחיפוש אחר שאילתות מפתח בהשוואה ל-Rambler, אבל הסטטיסטיקה מראה ש-5-6% מהאנשים עדיין משתמשים ב-Rambler כמנוע חיפוש, אז בואו לא נזניח את זה.
כדי שיהיה לך הרבה יותר קל לשלוט בחומר, אראה הכל עם דוגמאות ספציפיות. מסכים, תיאוריה טובה, אבל כשזה מגיע לפרקטיקה, לאנשים רבים יש בעיות. לכן, יחד ניצור ליבה סמנטית כדי שבעתיד תוכל להעביר בקלות את הידע והניסיון הנרכשים לנושא הבלוג שלך. נניח שהנושא של הבלוג שלך הוא "פוטושופ » וכל מה שקשור בזה. לכן, כפי שנכתב למעלה, עליך להמציא ולרשום במחברת כמה שיותר מילים, ביטויים, ביטויים, ביטויים - אתה יכול לקרוא להם איך שאתה רוצה. אלו המילים המאפיינות את נושא הבלוג שלי על פוטושופ. כמובן, לא אפרט את כל רשימת המילים, אלא רק חלק, כדי שתוכל להבין את עצם המשמעות של הידור ליבה סמנטית:
מברשות לפוטושופ
מברשות לפוטושופ
מברשות פוטושופ
מברשות פוטושופ
אפקטים של פוטושופ
אפקטים של פוטושופ
פוטו אפקט
ציורי פוטושופ
ציורי פוטושופ
קולאז'
קולאז' תמונות
פוטומונטאז'
מסגרות תמונה
עיצוב תמונה
הרשימה נערכה. ובכן, בואו נתחיל. הרשו לי להזמין מקום מיד: הרשימה שלכם עשויה להיות שונה בהרבה משלי וצריכה להיות ארוכה בהרבה. ערכתי את רשימת המילים הזו לבהירות, כדי שתתפוס את המהות של איך לחבר ליבה סמנטית.
לאחר יצירת הרשימה שלך, יש צורך לנכש את כל המילים שאיננו צריכים, עבורן בהחלט לא נקדם את הבלוג שלנו. לדוגמא, לא אקדם שימוש במילים כגון (מברשות לפוטושופ טורנט, מברשות לאיפור פוטושופ), ביטויים אלו לא ברורים לי כלל, אנו מסננים גם ביטויים דומים כמו (מברשות לפוטושופ למברשות חינמיות וחינמיות עבור פוטושופ). אני חושב שהמשמעות של בחירת מילות מפתח ברורה לך.
לאחר מכן אתה רואה שלYandex wordstat יש שתי עמודות. העמודה משמאל מראה לך מה אנשים חיפשו כשהם הקלידו בשורת החיפוש, במקרה שלנו הביטוי "מברשות לפוטושופ". העמודה הימנית מראה מה עוד אנשים חיפשו כשחיפשו את הביטוי "מברשות לפוטושופ". אני ממליץ לך לא להתעלם מהעמודה הימנית, אלא לבחור ממנה את כל המילים שמתאימות לנושא שלך.
אוקיי, סידרנו גם את זה, בואו נמשיך הלאה. עוד נקודה חשובה מאוד, כפי שניתן לראות מתוצאת החיפוש של "מברשות פוטושופ" אנו רואים מספר עצום של 61,134 בקשות! אבל זה לא אומר שהביטוי "מברשות לפוטושופ" הוקלד בשורת החיפוש של Yandex כל כך הרבה פעמים בחודש. Yandex wordstat מעוצב בצורה כזו שאם תקליד את הביטוי "מברשות לפוטושופ", הוא ייתן לך את מספר השאילתות, כלומר כמה פעמים אנשים חיפשו צורת מילה כלשהי (מברשות פוטושופ, מברשות פוטושופ א, ציסטה בפוטושופ וכו'), ביטויים (משפטים) (מברשות חינם לפוטושופ, הורדת מברשות פוטושופ בחינם וכו'), המכילים את הביטוי "מברשות לפוטושופ". אני חושב שגם זה מובן.
כדי ש-Yandex wordstat ייתן לנו מספר מדויק (יחסית) של בקשות, ישנם אופרטורים מיוחדים כגון ("", "!"). אם תזין את הביטוי "מברשות לפוטושופ" במרכאות, תראה מספר שונה לחלוטין, שמראה לך כמה פעמים אנשים חיפשו את הביטוי "מברשות לפוטושופ" בצורות מילים שונות (מברשות לפוטושופ אוכו.).
כאשר תזין את המשפט "!מברשות!ל!פוטושופ" במרכאות ועם סימן קריאה, נקבל את המספר המדויק של הבקשות ל"!מברשות!לפוטושופ" בטופס כפי שהוא, כלומר. ללא כל גזרות, צורות מילים וביטויים. אני חושב שהבנת את המשמעות, לעסתי את זה כמיטב יכולתי.
אז, לאחר שיצרת רשימה מרשימה ב-Excel, עליך להחיל את האופרטור "!" על כל מילה (ביטוי). כשתסיים, תהיה לך רשימה עם המספר המדויק של בקשות/חודש, שאותה יהיה צורך להתאים שוב.
אבל עוד על זה קצת מאוחר יותר, לאחר שנסתכל על שתי מערכות אחרות לבחירת מילות מפתח (Google adwords ו- Rambler adstat). מכיוון שלאחר בחינתן, רשימת מילות המפתח שלך תתרחב משמעותית.
Google AdWords משמש גם לבחירת מילות מפתח. זהו שירות דומה ל-Yandex wordstat. בואו נמשיך גם כאן. חלון לבחירת מילות המפתח של גוגל אדוורדס ייפתח לפנינו. באותו אופן, הזינו את הביטוי הראשון מהרשימה שלנו "מברשות לפוטושופ" בשורת החיפוש. שים לב שבגוגל אדוורדס אין אופרטורים, אלא פשוט סמן את התיבה שליד המילה [מדויק] בעמודה "סוגי התאמה". כפי שאנו יכולים לראות, מספר הבקשות/חודש ב-Google adwords שונה באופן משמעותי מ-Yandex wordstat. זה מצביע על כך שיותר אנשים עדיין משתמשים במנוע החיפוש Yandex. אבל אם תסתכל על הרשימה כולה, תוכל למצוא את מילות המפתח ש-Yandex wordstat לא מציגה כלל.
גם בגוגל אדוורדס תוכלו לגלות עוד המון דברים מעניינים (למשל עלות משוערת לקליק), שגם אותם יש לקחת בחשבון בבחירת מילות המפתח. ככל שהעלות לקליק גבוהה יותר, כך הבקשה תחרותית יותר. אני לא אפרט כאן, העיקרון של בחירת מילות מפתח דומה ל-Yandex wordstat ועם קצת חפירה, אתה יכול להבין את זה בעצמך. לך על זה.
כפי שציינתי לעיל, Rambler adstat נחות בהרבה משני השירותים הקודמים, אבל אתה עדיין יכול ללקט ממנו קצת מידע. בוא נלך באותה הדרך ונזין את הביטוי הראשון מהרשימה שלנו "מברשות לפוטושופ" בשורת החיפוש. אני חושב שגם כאן לא כדאי לפרט. אני חוזר שוב על העיקרון של בחירת מילות מפתח עבור כל שלוש המערכות דומה.
התוודענו לשלושה שירותים לבחירת מילות מפתח. כתוצאה מכך, נוצרה לכם רשימה ענקית מכל שלושת השירותים, בה כבר ביצעתם בחירה עבור אותן בקשות שאינכם מתכננים לקדם ובקשות לשכפולים. כבר כתבתי על זה למעלה. אבל זה רק באמצע הדרך בהידור ליבה סמנטית. המוח שלך כנראה כבר דוהר, אבל למעשה, אם אתה מתעמק בו ותבין אותו, אין כאן שום דבר מסובך. תאמין לי, עדיף לחבר נכון את הליבה הסמנטית פעם אחת מאשר לתקן הכל בעתיד. ולתקן את זה הרבה יותר קשה מאשר לעשות הכל מאפס. אז היו סבלניים ותמשיכו הלאה.
בקשות HF, MF ו-LF או VChZ, SChZ ו-LF
בעת קומפילציה של ליבה סמנטית, ישנם גם מושגים כמו שאילתות בתדר גבוה, תדר בינוני ותדר נמוך, או שהם נקראים גם שאילתות בתדר גבוה, תדר בינוני ותדר נמוך, תדר בינוני וניתן למצוא גם שאילתות בתדירות נמוכה. אלו הן השאילתות שאנשים מכניסים למנועי החיפוש. ככל שיותר אנשים מזינים את אותה שאילתה בסרגל החיפוש, כך תדירות השאילתה גבוהה יותר (שאילתה בתדירות גבוהה), אותו הדבר עם שאילתות בתדירות בינונית ונמוכה. אני מקווה שגם זה ברור.
עכשיו זכור נקודה אחת מאוד חשובה. בשלב הראשוני של פיתוח הבלוג, יש לקדם אותו רק עבור שאילתות בתדירות נמוכה, לפעמים משתמשים גם בשאילתות בטווח הביניים, זה יהיה תלוי בתחרותיות של השאילתה. עבור בקשות HF סביר להניח שלא תוכל, פשוט אין לך מספיק כסף בשביל זה. אל תיבהל מבקשות בתדירות נמוכה, הגעה ל-TOP אפשרית מבלי להשקיע כסף. סביר להניח שיש לך שאלה: אילו בקשות נחשבות לבקשות HF, בקשות MF ובקשות LF?
אני לא חושב שמישהו יכול לתת תשובה מדויקת כאן! זה יהיה שונה עבור בלוגים בנושאים שונים. ישנם נושאים מאוד פופולריים שבהם המספר המדויק של בקשות ("!") מגיע ל-20 אלף הופעות/חודש או יותר (לדוגמה, "!הדרכות של פוטושופ"), וישנם נושאים פחות פופולריים שבהם המספר המדויק של הבקשות כן. אפילו לא להגיע ל-2000 הופעות/חודש (לדוגמה, "!שיעורי אנגלית!").
במקרה זה, אני דבק בנוסחה פשוטה שחשבתי לעצמי.
VK, SK ו-NK בקשות VKZ, SKZ ו-NKZ
בנוסף לבקשות HF, MF ו-LF, ישנה קטגוריה נוספת. ניתן למצוא גם בקשות תחרותיות מאוד (HC), תחרותיות בינוניות (SC) ובקשות תחרותיות נמוכות (LC). במקרה זה, נצטרך לקבוע את התחרותיות של אותן שאילתות שבגינן אנו מתכננים לעבור ל-TOP, אבל זה יהיה פוסט נפרד בנושא "". . לעת עתה, נניח שבקשות HF הן בקשות VC, MF הן SK ו-LF הן NK. ברוב המקרים, הנוסחה הזו עובדת, אבל יש יוצאים מן הכלל, כאשר, למשל, בקשות בתדר נמוך הן תחרותיות ביותר (HC) ולהפך, בקשות בתדירות גבוהה הן NC. הכל תלוי בנושא הבלוג.
למען הבהירות, בואו נסתכל על דוגמה סכמטית של ליבה סמנטית. כך אמורה להיראות בערך דיאגרמת ליבה סמנטית סטנדרטית.
אבל אל תתחבר יותר מדי לתכנית הזו, כי... זה עשוי להשתנות במהלך הבלוג. בשלב הראשוני, אולי יש לך, למשל, רק ארבע קטגוריות המכילות שלוש שאילתות בתדירות נמוכה, אבל עם הזמן הכל עשוי להשתנות.
רובכם יגידו ששום דבר לא ברור, במיוחד אלה שנתקלים בגרעין הסמנטי בפעם הראשונה. זה בסדר, גם לא הבנתי הרבה דברים בהתחלה עד שלמדתי את הנושא טוב מאוד. אני לא רוצה להגיד שאני מקצוען בנושא הזה, אבל למדתי הרבה. וכפי שהובטח, בואו נסתכל על הכל באמצעות דוגמה ספציפית ובהתאם לנושא שלנו.
אני רוצה לומר מיד שאני לא מומחה בפוטושופ, הנושא הזה פשוט עלה לי בראש בעת כתיבת הפוסט. לכן בחרתי שאילתות לפי משמעותן. אוקיי, הנה דיאגרמת הליבה הסמנטית שהמצאתי בנושא "פוטושופ". אתה אמור לסיים עם משהו כמו:
ניתן לחלק את כל השאילתות (מילות המפתח שלנו) לשלוש קטגוריות:
כעת עלינו לחלק את כל הרשימה לדפים. הָהֵן. עליך לבחור שאילתות ראשיות מכל מילות המפתח שלך, שיהוו את הכותרות של הבלוג שלך ויצרו כרטיסיות נפרדות באקסל. לאחר מכן, בחר את השאילתות הראשיות והעזרות הקשורות אליהן והצב אותן בדפים שונים במסמך האקסל שיצרת (כלומר, לפי קטגוריות). הנה מה שקיבלתי:
כפי שכבר כתבתי למעלה: בשלב הראשוני כדאי לקדם את הבלוג שלך באמצעות שאילתות בתדירות נמוכה או בתדירות נמוכה. אבל מה לעשות עם בקשות MF (SC) ו-HF (VK), אתם שואלים? הרשה לי להסביר.
לא סביר שתצליחו להתקדם באמצעות בקשות בתדירות גבוהה (VK), אז תוכלו למחוק אותן, אך מומלץ להשאיר בקשה אחת או שתיים בתדירות גבוהה (VK) לעמוד הראשי. הרשו לי לבצע הזמנה מיד: אינכם צריכים למהר לבקשה בתדירות הגבוהה ביותר, כגון "פוטושופ", שעבורה המספר המדויק של הופעות/חודש הוא 163,384. לדוגמה, אתם רוצים להשתמש בבלוג שלכם ללמד אנשים איך להשתמש בפוטושופ. אז קחו כבסיס את הבקשה בתדירות הגבוהה - "שיעורי פוטושופ", שמספר ההופעות המדויק שלהן/חודש הוא 7110. בקשה זו מאפיינת יותר את הנושא שלכם ויהיה לכם קל יותר להתקדם בו.
אבל שאילתות SCH (SC) יכולות להיות ממוקמות בדף נפרד באקסל. ככל שהבלוג שלך עולה בעיני ה-PS, הם (SC (SC) בקשות) יהפכו בהדרגה למבוקשות.
אני יודע שעכשיו מתחילים אפילו לא מבינים על מה אני מדבר, אני ממליץ לך לקרוא על זה מאמר, לאחר לימוד שבו הכל יתברר לך.
זה כנראה כל מה שיש בזה. כמובן, יש תוכנות שיעזרו לך הידור ליבה סמנטיתגם בתשלום (Key Kollektor) וגם בחינם (Slovoeb, Slovoder), אבל לא אכתוב עליהם בפוסט הזה. אולי יום אחד אכתוב עליהם מאמר נפרד. אבל הם יבחרו רק מילות מפתח עבורך, ותצטרך להפיץ אותן בין קטגוריות ופוסטים בעצמך.
איך יוצרים ליבה סמנטית? או שאולי אתה לא מלחין את זה בכלל? באילו תוכניות ושירותים אתה משתמש בעת הידור? אשמח לשמוע את תשובותיכם בתגובות!
ולסיום, צפו בסרטון המעניין הזה.
הליבה הסמנטית של אתר היא קבוצה שלמה של מילות מפתח התואמות לנושא של משאב האינטרנט, שבאמצעותן משתמשים יכולים למצוא אותו במנוע חיפוש.
סרטונים נוספים בערוץ שלנו - למד שיווק באינטרנט עם SEMANTICA
לדוגמה, לדמות האגדות באבא יאגה תהיה הליבה הסמנטית הבאה: באבא יאגה, אגדות באבא יאגה, אגדות רוסיות באבא יאגה, אגדות אישה עם סטופה, אישה עם מרגמה ומטאטא, קוסמת אישה רעה, כרעי עוף של באבא האט וכו'.
לפני שתתחיל לקדם, עליך למצוא את כל המפתחות שבאמצעותם מבקרי יעד יכולים לחפש אותו. על סמך הסמנטיקה נערך מבנה, מחלקים מפתחות, מטא תגיות, כותרות מסמכים, תיאורים לתמונות ומפותחת רשימת עוגן לעבודה עם מסת הייחוס.
בעת יצירת סמנטיקה, אתה צריך לפתור את הבעיה העיקרית: לקבוע איזה מידע יש לפרסם כדי למשוך לקוח פוטנציאלי.
עריכת רשימה של מילות מפתח פותרת בעיה חשובה נוספת: עבור כל ביטוי חיפוש, אתה קובע עמוד רלוונטי שיכול לענות באופן מלא על שאלת המשתמש.
ניתן לפתור בעיה זו בשתי דרכים:
על פי הסטטיסטיקה, 60-80% מכל הביטויים והמילים שייכים ל-LF. העבודה איתם בעת קידום זולה וקלה יותר. לכן, עליך ליצור את הליבה הנרחבת ביותר של ביטויים, שתתווסף כל הזמן בתדרים נמוכים חדשים. אין להתעלם גם מהטרבל והבינוני, אלא לשים את הדגש העיקרי על הרחבת רשימת הדרייברים בתדר נמוך.
יש צורך להדגיש את המונחים העיקריים של צרכי העסק והמשתמש שלך. למשל, לקוחות מכבסה מעוניינים בכביסה ובניקיון.
לאחר מכן, עליך להגדיר את הזנבות והמפרט (יותר מ-2 מילים לכל שאילתה) שמשתמשים מוסיפים למונחי ראש. זה יגדיל את טווח ההגעה שלכם לקהל היעד ויפחית את תדירות המונחים (כביסה של שמיכות, שטיפת ז'קטים וכו').
השתמש בשיטה זו כשיטה נוספת כדי לקבוע את הבחירה הנכונה של קצר חשמלי מסוים. הכלים BuzzSumo, Searchmetrics, SEMRush, Advse יעזרו לך בכך.
בואו נסתכל על כמה מהשירותים הפופולריים ביותר.
קודם כל, אתה צריך להגדיר את המושגים של "מילות מפתח", "מפתחות", "מפתח או שאילתות חיפוש" - אלו מילים או ביטויים שבהם לקוחות פוטנציאליים של האתר שלך מחפשים את המידע הדרוש.
ערכו את הרשימות הבאות: קטגוריות של סחורות או שירותים (להלן TU), שמות של TU, המותגים שלהם, מונחים מסחריים ("קנה", "הזמנה" וכו'), מילים נרדפות, תעתיק בלטינית (או רוסית , בהתאמה), ז'רגון מקצועי ("מקלדת" - "קלאב" וכו'), מאפיינים טכניים, מילים עם שגיאות הקלדה ושגיאות אפשריות ("אורנבורג" במקום "אורנבורג" וכו'), הפניות למיקום (עיר, רחובות וכו'). .).
בעבודה עם רשימות התמקדו בתנאי ההתייחסות מחוזה הקידום, במבנה משאב האינטרנט, מידע, מחירונים, אתרים מתחרים וניסיון קודם בקידום אתרים.
התחל לבחור סמנטיקה על ידי ערבוב של הביטויים שנבחרו בשלב הקודם, באמצעות השיטה הידנית או שימוש בשירותים.
צור רשימה של מילות עצירה והסר מילות מפתח בלתי הולמות.
קבץ קורות חיים לדפים רלוונטיים. עבור כל מפתח נבחר העמוד הרלוונטי ביותר או שנוצר מסמך חדש. רצוי לבצע עבודה זו באופן ידני. עבור פרויקטים גדולים, שירותים בתשלום כגון Rush Analytics זמינים.
עבור מגדול לקטן יותר. ראשית, הפזר את ה-RF על פני הדפים. לאחר מכן עשה את אותו הדבר עם טווח הביניים. ניתן להוסיף LFs לדפים עם HF ו-LF מפוזרים עליהם, וניתן גם לבחור עבורם דפים בודדים.
לאחר ניתוח התוצאות הראשונות של העבודה, אנו יכולים לראות כי:
בעת קיבוץ KZ, עבוד עם כל הסעיפים האפשריים במשאב האינטרנט, מלא כל עמוד במידע שימושי ואל תיצור טקסט כפול.
יחד עם זאת, הדירוג מתדרדר, האתר עלול להיענש על ספאם יתר, ואם למשאב האינטרנט יש מבנה שגוי, אז יהיה קשה מאוד לקדם אותו.
זה לא משנה איך אתה בוחר את הסמנטיקה. עם הגישה הנכונה, תקבל את ה-FL הנכון הדרוש לקידום אתרים מוצלח.