הדרך שבה אוספים מנועי החיפוש מידע אודות האתר שלכם היא באמצעות רובוטי סריקה (הנקראים גם Spiders, Crawlers וגם Bots), הסורקים את מיליארדי דפי האינטרנט כל הזמן. רובוטים אלו הם בעצם תוכנות שתפקידן להוריד דפי אינטרנט אל תוך מאגר נתונים אדיר, לחפש בהם קישורים לדפים חדשים, ולהוריד גם אותם (וכן הלאה).
רובוט הסריקה הפשוט של גוגל – גוגלבוט
רובוט הסריקה של גוגל נקרא גוגלבוט (GoogleBot). הרובוט סורק את דפי האינטרנט ומוריד את קוד ה-HTML המרכיב אותם לצורך ניתוח. היתרון הגדול של גוגלבוט הוא שהוא מהיר ולכן דורש משאבים מעטים באופן יחסי. הבעיה הגדולה של גוגלבוט היא שהוא לא סורק את כל הרכיבים הכלולים בתוך קוד ה-HTML, שהם אלו שיוצרים ביחד את הדף אותו רואה הגולש.
רכיבים אותם גוגלבוט לא סורק כוללים:
- קוד JavaScript – אתרים רבים משתמשים בשפת ה-JavaScript בכדי ליצור תוכן אינטראקטיבי המשתנה ומשנה את תוכן ועיצוב הדף.
- קוד CSS – קוד השולט בעיצוב של הדף.
- מדיה – תמונות או סרטוני וידאו הנמצאים בדף.
- כל קוד הנמצא בקובץ חיצוני – קודי JavaScript וקודי CSS יכולים להיות ממוקמים בקבצים חיצוניים נפרדים.
- רכיבי Flash – טכנולוגיה זו כבר כמעט ויצאה לגמרי משימוש.
- Cookies – מידע המאוחסן בדפדפן באמצעות Cookies לא יכול להיקרא על ידי הרובוט.
גוגלבוט סורק אתרים שונים ודפים שונים בתכיפות שונה, כאשר המטרה היא לסרוק יותר דפים מרכזיים, דפים חדשים ודפים המתעדכנים בצורה תכופה.
סריקת דף HTML על ידי דפדפן רובוט – Headless Browser
כבר מספר שנים שגוגל מפעילים רובוט בנוסף לגוגלבוט לצורך סריקת דפי אינטרנט מורכבים, המבוסס על דפדפן רובוט כרום המופעל ללא משתמש אנושי – Headless Browser. תהליך קריאה מלאה זה נקרא Rendering. דפדפן הכרום בו נעשה שימוש ברובוט זה הוא הגירסה היציבה האחרונה של כרום, והיא מתעדכנת בכל פעם שכרום מתעדכן (גירסת Evergreen).
תהליך ה-Rendering של הדף מתחיל בסריקת קוד ה-HTML שלו על ידי מערכת בשם קפאין.
לאחר קריאת קוד ה-HTML, מופעל שירות רשת בשם Web Rendering Service, היוצר בענן קבוצת דפדפני כרום רובוטיים. כל דפדפן רובוטי קורא מרכיב אחד מן הרכיבים המרכיבים את הדף, כך שלבסוף נאספים כל הרכיבים בדף, כולל הרכיבים שהרובוט הרגיל של גוגל לא יכול היה לקרוא.
השלב הבא הוא לבצע הרצה של הקודים השונים שנאספו, כגון קודי JavaScript וקודי CSS, עד להשלמתו המלאה של עץ ה-DOM, שהוא השלד של הדף, כפי שדפדפן רגיל בונה אותו בכדי להכין את הדף לתצוגה לגולש.
המערכת יודעת לזהות שגיאות בקריאה של רכיבים כדי לבצע נסיון קריאה מחודש, ויודעת להתמודד עם מצבים בהם יש שגיאות בקודים המופיעים בדף.
בשלב זה מועבר דך ה-HTML המלא (או למעשה ה-DOM המלא) בחזרה אל מערכת קפאין לצורך השלמת שליפת המידע מן הדף.
חשוב להבין כי סריקה כזו של דף דורשת מגוגל משאבים רבים בצורה משמעותית ביותר ביחס לגוגלבוט הפשוט, ולכן קצב הסריקה באמצעות דפדפני הרובוט נמוך בהרבה מקצב הסריקה של גוגלבוט.
שליפת מידע מדף ה-HTML
דפי האינטרנט שנאספים עוברים סינון ראשוני כדי לאתר דפי 404 "רכים", כדי לא להשקיע זמן עיבוד בהם. בשלב הבא מבוצעת שליפה של נתונים מן הדף.
השלב הראשון בשליפת המידע, שהוא בין השלבים החשובים ביותר לגוגל, הוא שליפת מידע מובנה (Structured Data) שסומן על ידי בעל האתר בדף. הנתונים הנראים על ידי הרובוט של גוגל רחבים יותר מאלו המוצגים על ידי כלי Rich Results Test של גוגל, מאחר ובשלב זה נסרק כל המידע המובנה הקיים בדף. מאחר ושליפת המידע מבוצעת על עץ ה-DOM המלא, גוגל מצליח לקרוא גם מידע מובנה הנמצא בקבצים חיצוניים או נוצר על ידי JavaScript.
השלב הבא בשליפת המידע מן הדף נקרא שליפת סיגנלים (Signal Extraction). מדובר בשלב בסיסי של איסוף סיגנלים, הכולל בין השאר את הרכיב הבא:
- זיהוי הגירסה הקנונית של הדף – האם מדובר בדף תוכן מקורי או שיכפול שלו? לצורך כך גוגל מבצעים בחינה מתמטית (Hashing) של התוכן היחודי בדף לצורך השוואתו לתכנים אחרים הקיימים ברשת.
אתר לא חברותי לרובוטים
מאחר והרובוטים די פרימיטיביים, אז הם אוהבים אתרים פשוטים. אתרים המבוססים על טכנולוגיות מתקדמות יותר מסתכנים בכך שהרובוטים לא יבינו אותם. טכנולוגיות מהם כדאי להימנע כוללות:
- פלאש – Flash – אף שחלה התקדמות ניכרת בשנים האחרונות, הרובוטים כיום מסוגלים לקרוא מעט מן הדברים המופיעים בתוך הפלאש. אתרים שלמים הבנויים על פלאש אחד יופיעו במנוע החיפוש כדף בודד, ללא רוב התוכן של האתר. קיים שיתוף פעולה חדש יחסית בין חברת אדובי, מפתחת תוכנת הפלאש, לבין ענקית החיפוש גוגל, שנועד להקל על קריאת קבצי פלאש, אולם שיתוף הפעולה עדיין לא נשא פרי והפלאש נשאר בינתיים אויב של רובוטי סריקה.
- פריימס – Frames – שיטה שכמעט ונעלמה מן העולם. הבעיה בשיטה זו היא כי הכתובת הכללית של הדף נשארת קבועה, והתוכן מתחלף בתוך ה-Frame. לכן, אי אפשר להגיע ישירות לדף מסויים בתוך האתר, ורק הדף הראשי יופיע. אם יופיע דף פנימי, אז הוא יופיע ללא המסגרת החיצונית. בכל מקרה, התוצאה היא לא טובה.
- איי-פריימס – IFrames – זוהי טכנולוגיה חדישה יותר – משמשת כיום את ענקיות הרשת החברתית יוטיוב (YouTube) ופייסבוק (facebook) להטמעת קבצים) – אך עדיין יוצרת אותה בעיה. התוכן מתחלף בתוך ה-IFrame, ולכן הרובוט לא יכול לראות את התכנים השונים. בהחלט לא מומלץ. אם המטרה היא רק להשיג מסגרת פנימית עם גלילה (בתוכה יש קוד שאיננו מובא מדף נפרד) אז עדיף להשתמש ב-DIV או SPAN שלגביהם מגדירים ב-CSS גלילה.
- דפים דינמיים עם Session ID – ישנם אתרים שעדיין משתמשים בנתון Session ID בתוך כתובת הדף הדינמי כדי לעקוב אחר משתמשים באתר. מצב זה גורם לרובוט לחשוב כי מדובר בדף חדש שאינו קיים עדיין במאגר שלו (כי ה-Session ID הוא חדש). דפים מסוג זה יעלמו בסופו של דבר מתוצאות החיפוש לחלוטין, כיוון שייחשבו לדפים שונים בעלי תוכן זהה, כלומר לתוכן כפול, ומכאן – מיותר.
- דרישת איפשור Cookies – אתרים מסוימים דורשים כי המשתמש יפעיל את אופציית ה-Cookies כדי לאפשר לו לראות את האתר. הרובוטים של מנועי החיפוש לא יודעים לייצר Cookies, ולכן לא יוכלו לקרוא דפים הדורשים אותם. זה לא שאסור להשתמש ב-Cookies – פשוט לא לחייב שימוש בהם.
- שימוש בקישורי JavaScript בלבד – רובוטים יודעים לזהות קישורים מסוג href בלבד, ואינם עוקבים אחר קישורי JavaScript. באתרים שבהם ישנם קישורים מסוג JavaScript לא יופיעו הדפים שאליהם אין קישור רגיל.
רובוט הסריקה של גוגל – גוגלבוט
הנה כמה נקודות אותם כדאי לדעת על רובוט הסריקה של גוגל – גוגלבוט:
- תכיפות הסריקה – גוגלבוט סורק אתרים שונים ודפים שונים בתכיפות שונה. הפרמטרים המשמשים את גוגלבוט כדי לקבוע אילו דפים לסרוק יותר הם ה-pagerank של הדף, כמו הלינקים לעמוד מסויים, ומספר הפרמטרים ב-url (אם מדובר בדף דינמי – asp או php לדוגמא). כמובן שיש עוד גורמים נוספים, אך קשה לקבוע מהם.
רמות סריקת האתר
הרובוטים המשמשים לסריקת האינטרנט מבצעים זאת בשלוש רמות שונות של ירידה לפרטים. קיימות שלוש רמות סריקה עיקריות:
- סריקה אחר דפים חדשים – סריקה זו מבוצעת על מנת לאתר דפים חדשים שעדיין לא מופיעים במאגר הדפים של מנוע החיפוש. הרובוט יכול "לגלות" את הדף החדש בעקבות הכנסתו בדף "הוסף אתר" של מנוע החיפוש, או בעקבות כך שהמנוע נתקל בקישור אל הדף החדש באחד הדפים שכבר קיימים אצלו במאגר הדפים.
- סריקה שיטחית של הדפים החשובים – סריקה זו עוברת על הדפים החשובים ביותר באתר (בדרך כלל דף הבית), ונעשית לעיתים תכופות יותר.
- סריקת עומק – בסריקה זו נסרקים כל דפי האתר המופיעים במסד הנתונים של מנוע החיפוש כדי לאתר דפים חדשים ושינויים בתוכן הדפים הקיימים. סריקה זו נעשית אחת לזמן ארוך יותר.
מניעת גישת רובוטים לאזורים מסוימים באתר
לעיתים קרובות מבקשים למנוע גישה של רובוטי החיפוש לאיזור מסוים בתוך האתר. דוגמא בסיסית לכך היא ספרייה המכילה חומר חסוי או סודי, או דף שכבר אינו מעודכן.
קיימות שתי דרכים עיקריות למניעת גישת הרובוטים לאיזורים מסויימים באתר:
קובץ robots.txt
לעיתים קרובות תהיו מעוניינים למנוע גישה של רובוט של מנוע חיפוש מסוים לאתר שלכם (או לחלק ממנו), או תהיו מעוניינים לחסום את הגישה של כל הרובוטים לאיזור מסויים. לשם כך נוצר קובץ robots.txt.
שימו לב: איסור גישה של מנוע חיפוש לדף מסוים אמנם ימנע את איסוף התוכן של הדף, אך לעיתים, אם יש הפניות לאותו דף בדפים בהם מנועי החיפוש כן יכולים להיכנס, אז הדף כן יופיע בתוצאות החיפוש, אך ללא המידע לגביו (כותרת, תיאור וכו'). אם אתם רוצים למנוע את הופעת הדף לחלוטין, יש להשתמש בשיטה השנייה (תג robots).
קובץ robotx.txt צריך להימצא בספרייה הראשית של האתר (בדרך כלל הוא לא קיים באופן טבעי, אלא צריך ליצור אותו). כל חלק בתוך הקובץ כולל את סוג הרובוט והגבלות על אותו רובוט. כמו-כן יהיו בקובץ מגבלות המוטלות על כל הרובוטים.
תג מטה (Robots Meta Tag)
כדי לשלוט על הדרך שבה רובוטי החיפוש מעבדים דפים מסויימים באתר, ניתן להשתמש בתג robots. הנושאים העיקריים שבהם שולט תג זה הם:
- האם להכניס את הדף למסד הנתונים של מנוע החיפוש או לא.
- האם לעקוב אחרי קישורים היוצאים מן הדף הזה או לא.