בלוג שיווק דיגטלי

המדריך לכתיבת קובץ רובוטס Robots.txt

ניווט לפי תוכן

קובץ Robots.txt מנחה את מנועי החיפוש אילו דפים או קבצים לסרוק ועל אילו לפסוח, הקובץ נועד בעיקר כדי למנוע עומס של בקשות מהאתר ולכוון את מנוע החיפוש לדפים הנכונים,  אך לא בשביל למנוע אינדוקס בגוגל, בשביל הסרת דפים מאינדוקס נועדה התגית:

<meta name="robots" content="noindex">

במדריך זה אסביר על קבצי Robots.txt, מה הם עושים ואיך הם בנוים, כך שתוכלו להבין אותם טוב יותר ולהנחות את מקדם האתר שלכם לבנות לכם קובץ מסודר שעושה את העבודה, לאמיצים בינינו אולי אפילו לנסות לבנות קובץ כזה לבד.

התנהגות הסורקים של גוגל

  1. מה משפיע על כמויות הסריקה של גוגל:
    • אם בפרק זמן מסוים האתר מגיב מהר יותר, כמות הסריקות שגוגל יבצע תהיה גדולה יותר
    • אפשר להשפיע על כמויות הסריקה גם בעזרת הגדרת הגבלה ב-SEARCH CONSOLE – אפשר למצוא את הכלי בלינק הבא: https://www.google.com/webmasters/tools/settings
  2. מה משפיע על תדירות סריקה מצד גוגל:
    • כתובות אינטרנט פופולריות שמתעדכנות בתדירות גבוהה ייצרו תדירות מהירה יותר לסריקה
    • בנוסף, מניעה מכתובות URL להעלות אבק באינדקס של גוגל, כדי למנוע זאת כל תקופה מתבצעת בדיקה אם משהו השתנה במידע הקיים, האם יש מידע חדש, אם הדף עדיין קיים, וכן הלאה

סוגי הדפים \ קבצים שצריך לשים לב אליהם

בעזרת קובץ Robots.txt אנחנו יכולים להגביל את תנועת הסורקים באתר, ואיך שספיידרמן אומר ״עם כח גדול באה אחריות גדולה״, זו אחריותו של מקדם האתר לדעת בדיוק אילו דפים או קבצים צריך לחסום לסריקה, חסימה של דפים קריטיים באתר, עלולה להביא לתוצאות נוראיות בקידום האורגני.

ישנם 3 סוגי קבצים עיקריים שנרצה לשים לב אליהם כשנעבוד עם קובץ Robots.txt:

  • דף אינטרנט
    קבצי HTML, ASPX, PDF, וכל כתובת שמייצגת דף באתר
  • קובץ מדיה
    קבצי סאונד, קבצי תמונה, קבצי וידאו, וכן הלאה
  • קבצים שנחוצים לטעינת הדף
    קבצי CSS, קבצי JS וכן הלאה

חשוב מאוד! באחוז גדול מהמקרים נרצה לתת לגוגל לסרוק קבצים הנחוצים לעליית הדף, מפני שגוגל זקוק להם בשביל לראות את הדף בצורה תקינה.

כדי למנוע תקלות ולשפר יעילות - חשוב לזכור:

  • קובץ ה-Robots.txt צריך להיות ממוקם בספרייה הראשית של האתר, כלומר:
    domain.com/robots.txt
  • הקובץ חייב להיות מקודד ב- UTF-8
  • כדי שקובץ Robots.txt יתחיל לעבוד כמו שצריך, הוא צריך לפחות 2 פקודות: שורה שמגדירה את סוג העכביש שיחסם (פקודת User-agent), ואת הכתובות שאותן נרצה לחסום לאותו עכביש (פקודת Disallow)
  • כדי לקבוע אילו כתובות לחסום
    נשתמש בכתובות URL יחסיות (כתובות ללא הדומיין)
    כתובת אבסולוטית: www.example.com/nicepage.html
    כתובת יחסית: nicepage.html/
  • כתובות ה-URL רגישות לאותיות גדולות וקטנות, כלומר:
    הכתובת NicePage/
    והכתובת nicepage/
    הן שתי כתובות שונות לחלוטין
  • כל דומיין וכל סאבדומיין צריך קובץ Robots.txt משל עצמו
    סדר השורות בקובץ משפיע על התנהגות הסריקה

מגבלות קובץ Robots.txt

  • המשקל המקסימלי של קובץ רובוטס לא יעלה על 512Kb
  • רוב מנועי החיפוש מכבדים את קובץ הרובוטס, אך ישנם סורקים (בוטים – Bots) שמתעלמים ממנו, בקישורים הבאים תמצאו רשימה של בוטים שמתעלמים ממנו:
  • סורקים שונים מפרשים את הקובץ אחרת – חפשו מידע לגבי התחביר הנכון לכתיבת פקודות לכל אחד מהסורקים שאליהם מכוונים, בבסיס המידע של www.robotstxt.org תוכלו למצוא מידע ואת שמות הסורקים (בוטים \ עכבישים) של רוב מנועי החיפוש, למשל לסורקים של גוגל נפנה בשמות הבאים:
    גוגל כללי – Googlebot
    גוגל תמונות – Googlebot-Image
    גוגל חדשות – Googlebot-News
    כאן תמצאו שמות ומידע על שאר העכבישים של גוגל.
  • אם ישנה כתובת שאונדקסה ורק לאחר מכן נחסמה לסריקה, הדף יופיע בתוצאות החיפוש ללא Title וללא Description, ניתקל בתופעה דומה גם אם ישנו קישור חיצוני לדף שחסום בעזרת קובץ הרובוטס
  • החל מאמצע 2019 פקודת Noindex לא נתמכת על ידי קובץ Robots.txt
  • סורקי גוגל לא מתחשבים בפקודת Crawl-Delay

הנחיות לכתיבת הקובץ

פקודות

  • פקודת User-agent
    הגדרת סוג העכביש\מנוע חיפוש שאליו מיועדות הפקודות שמופיעות מיד אחרי.

User-agent: Googlebot

  • פקודת Disallow
    הגדרת הכתובות שאותן אנו מעוניינים לחסום (נשתמש בכתובות יחסיות).

Disallow: /nicepage.html

סימני עזר בהגדרת כתובות URL לחסימה:

בפקודת Disallow ישנם סימנים שיכולים לעזור לנו לדייק ולשפר את יעילות הקובץ ולהקל עלינו, הסימנים הם:

    • הסימן דולר $
      שימוש בסימן זה יגדיר שהכתובת שלפני הסימן היא כתובת מדוייקת לחסימה, וכל כתובת שונה או עם תוספת תיסרק רגיל,
      לדוגמה:
      הפקודה Disallow: /nicepage$
      תחסום את הכתובת https://example.com/nicepage
      אבל לא תחסום את הכתובת https://example.com/nicepage2
    • הסימן כוכבית *
      שימוש בסימן זה אומר שהכתובות בתוספת כל מה שכתוב במקום הסימן * יחסם (לא רק תווים, אלא גם מילים וסימנים), לדוגמה:
      הפקודה Disallow: /nicepage*
      תחסום את כל הכתובות באתר שמתחילות עם https://example.com/nicepage
    • קצת על חסימת כתובות בעברית, הכתובות הבאות זהות לחלוטין אך מקודדות אחרת:

https://example.com/%D7%A2%D7%91%D7%A8%D7%99%D7%AA
https://example.com/עברית

באיזו דרך נגיד לסורקים שאנו מעוניינים לחסום כתובת בעברית?

בגלל שקובץ ה-Robots.txt מקודד ב- UTF-8, נשתמש בכתובת בעברית
ומנוע החיפוש יבין לאיזו כתובת אנו מתכוונים, היות ושתי הכתובות זהות הוא יחסום את שתיהן למרות שהן מקודדות בצורה שונה.

  • פקודת Sitemap
    פקודת Sitemap מגדירה איפה נמצאת מפת האתר שלנו, או במקרים מסויימים מפות האתר שלנו.
    אפשר לקרוא עוד על נושא מפות אתר כאן.

Sitemap: http://www.example.com/sitemap.xml

  • פקודת Allow
    לא כל מנועי החיפוש מכבדים פקודה זו, אבל חשוב לדעת שגוגל מכבד אותה, פקודה זו מאפשרת סריקה אפילו אם יש חסימה כללית יותר, כמו למשל במצב שרוצים שיסרק דף ספציפי בתוך ספריה שכולה חסומה.

יש לשים לב! הפקודה Allow צריכה להופיע לפני החסימה הכללית.

Allow: /bestpage

  • פקודת Crawl-Delay
    קובעת את הפרשי הזמן (בשניות) שמותר למנוע החיפוש לגשת לאתר ולסרוק אותו – הפקודה לא נתמכת על ידי גוגל.

Crawl-delay: 50

הערות

בנוסף לפקודות בקובץ הרובוטס, ישנה אפשרות להוסיף הערות, כך שאם מישהו אחר יקרא את הקובץ הוא יבין בדיוק למה חסמנו או אפשרנו כתובות או מנועי חיפוש מסויימים, נסמן הערות בעזרת סולמית #, כך נראה התחביר של הערה:

# This is stopping Yandex from crawling our site

תחביר לפקודות המתאימות לסיטואציות ספציפיות

  • חסימת כל האתר

User-agent: *
Disallow: /

  • חסימת ספרייה ספציפית באתר

User-agent: *
Disallow: /directory-name/

  • מניעת סריקה למנוע חיפוש ספציפי

User-agent: bingbot
Disallow: /

  • אפשרות סריקה למנוע חיפוש גוגל בלבד

User-agent: Googlebot
Allow: /

User-agent: *
Disallow: /

  • חסימת סריקה לדף ספציפי

User-agent: *
Disallow: /nicepage.html

במקרים מסויימים בהם אין סיומת html. נרצה להשתמש בסימן דולר $ בסוף הכתובת, כדי למנוע חסימות של דפים נוספים שהכתובות שלהן מתחילות אותו דבר.

  • חסימת תמונה ספציפית לסריקה של גוגל תמונות

User-agent: Googlebot-Image
Disallow: /images-directory/funnyface.jpg

  • חסימת קבצי תמונה לסריקה של גוגל תמונות

User-agent: Googlebot-Image
Disallow: /

  • חסימת דפים עם יותר משני פרמטרים

User-agent: *
Disallow: /*?*&*&

מקרי SEO שבהם נשתמש ב-Robots.txt:

  • באתרים שבהם יש תפריט עם אפשרויות פילטור, יכולה להיווצר תוצאה של כתובות URL עם פרמטרים מרובים שנוצרים משימוש של מספר פילטרים במקביל כמו אמזון, הגולשים לא הולכים לחפש חיפוש כל כך ארוך בגוגל:

    למשל הדף הבא מכיל ״מוצרי טיפוח לעור לתינוקות מבית Lansinoh עם 4 כוכבים ומעלה מהסוחר bzsmile"

https://www.amazon.com/s?i=baby-products-intl-ship&bbn=16225005011&rh=n%3A16225005011%2Cn%3A17720255011%2Cn%3A17720257011%2Cn%3A166740011%2Cp_89%3ALansinoh%2Cp_6%3AA32RUSM8LSDPYF%2Cp_72%3A1248867011&dc&qid=1573902623&rnid=1248865011&ref=sr_nr_p_72_1

שימו לב! דפים עם שני פרמטרים כמו ״מוצרי טיפוח לעור לתינוקות״ כנראה יהיו מחופשים לגוגל, ולכן

נרצה שגוגל כן יאנדקס אותם, ואותם לא נחסום בקובץ ה-Robots, הדפים היחידים שנחסום יהיו דפים

שרוב הסיכוים שלא יהיו מחופשים בגוגל או שלא מוסיפים ערך לגולש.

  • דפים שלא מוסיפים ערך או מכילים תוכן דל:
    • כתובות ה-URL המכילות פרמטרים מסוג Session, Time ופרמטרים דומים אחרים, הכוונה פה היא לכתובות URL שהפרמטרים בהם לא משנים או מסדרים מחדש את תוכן הדף
    • יומן שמכיל קישורים עם כתובת URL שונה לכל יום, במיוחד אם אין תוכן בדף של כל תאריך
    • דפים המכילים תוכן דל או לא רלבנטי, כמו טפסים למילוי ושליחה לשירות לקוחות, דפי תודה וכדומה
    • תוכן כפול – למשל אם יש לנו גירסת הדפסה באתר שמובילה לכתובת שונה עם אותו תוכן
  • סביבת פיתוח – סביבות פיתוח יכולות ליצור מצב של הכפלת תוכן ולכן כדאי לחסום אותן לסריקה, מומלץ אפילו לחסום אותן בעזרת משתמש וסיסמה כדי שגוגל לא יוכל לבדוק אותן באופן כללי
  • הסתרת דפים שנוצרים כתוצאה מחיפוש פנימי באתר
    למשל באתר מחסני חשמל (https://www.payngo.co.il) כשמחפשים את המילה טלויזיה, מקבלים את הכתובת הבאה:

https://www.payngo.co.il/catalogsearch/result/?q=טלויזיה 

כתובות כאלה עלולות ליצור בעיות משלוש סיבות:

    • לפעמים יהיה דפים שיכילו תוצאה אחת או שאין בהם תוצאה בכלל בהתאם לחיפוש, דף כזה מכיל תוכן דל מידי
    • דפים שהתוצאות שבהם מופיעות בדפים האחרים באתר באותה צורה, לדוגמה החיפוש ״טלוויזיות 4K״ יציג דף עם אותם מוצרים כמו דף הטלוויזיות 4K שנמצא בתפריט הראשי, זה יחשב להכפלת תוכן כי לשני הדפים תהיה כתובת URL שונה

https://www.payngo.co.il/tv-and-entertainment/led-4k-screens/tv-screens.html

https://www.payngo.co.il/catalogsearch/result/?q=טלויזיה 4k

    • אם המתחרים יחליטו לפגוע לנו באתר, הם יכולים להריץ הרבה חיפושים שאין להם תוצאות ואז לאנדקס אותם בגוגל, כך יצא מצב שיש לנו עליה בדפים בעלי תוכן דל באתר, כמובן בשביל למנוע זאת אנו יכולים גם להשתמש בתגית Canonical.

יש לשים לב!
אגע בנושא דפי 404, ו-Soft 404 בכתבה נפרדת, אלו לא בעיות שיש לטפל בהן עם קובץ Robots.txt

כלי בדיקת קובץ הרובוטס ב-Google Search Console

Robots.txt Checker in Google Search Console

כדי למנוע תקלות ותוצאות לא רצויות, גוגל יצרו את כלי בדיקת קבצי Robots.txt, בכלי זה נוכל להעלות את כל השורות שאנו מתכוונים שיופיעו בקובץ, ולאחר מכן לבדוק את התנהגות הקובץ מול כתובות ספציפיות באתר.

כאן תמצאו את כלי בדיקת קבצי רובוטס והסברים על השימוש בו:

https://support.google.com/webmasters/answer/6062598?hl=en

שליטה בתקציבי סריקה ואיך זה תורם ל-SEO של האתר

ידוע שגוגל מוגבל במספר הדפים שהוא מסוגל לסרוק ביום, ובגלל מגבלת הסריקה, נרצה שגוגל יסרוק את הדפים החשובים, אלה עם התוכן הייחודי שגולשים מחפשים, ולא יבזבז את תקציבי הסריקה שלנו על דפים שאין להם ערך אמיתי לתרום לאתר שלנו.

מכירים מישהו שהמידע יעזור לו?
שיתוף ב facebook
שיתוף ב twitter
שיתוף ב linkedin
שיתוף ב whatsapp
שיתוף ב email
שיתוף ב print
צור קשר
דילוג לתוכן