חסום כתובות אתרים באמצעות robots.txt

יצירת קובץ robots.txt

התחלת העבודה

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

הנה קובץ robots.txt פשוט. הוא מכיל שני כללים שמוסברים למטה:

User-agent: Googlebot
/Disallow: /nogooglebot‏

* :User-agent
/ :Allow

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

 

הסבר:

  1. הסורק של סוכן משתמש בשם "Googlebot" אינו רשאי לסרוק את התיקייה http://example.com/nogooglebot/ או את ספריות המשנה.
  2. לכל שאר סוכני המשתמש יש גישה לאתר כולו. (ניתן להשמיט פרט זה והתוצאה תהיה זהה, בהתאם להנחה שיש לאפשר גישה מלאה).
  3. קובץ ה-Sitemap של האתר נמצא ב-http://www.example.com/sitemap.xml

דוגמה מפורטת יותר תוצג בהמשך.

כללים בסיסיים ל-robots.txt

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

פורמט ומיקום

ניתן להשתמש כמעט בכל עורך טקסט כדי ליצור קובץ robots.txt. צריך להשתמש בעורך טקסט שיכול ליצור קובצי טקסט בתקן ASCII או UTF-8. אין להשתמש במעבד תמלילים (לרוב, במעבדי תמלילים קבצים נשמרים בפורמט קנייני, וייתכן שיתווספו תווים לא צפויים, כגון מירכאות מסולסלות. תווים אלה עלולים לגרום בעיות לסורקים).

כללי פורמט ומיקום:

  • robots.txt הוא קובץ טקסט מסוג ASCII או UTF-8. אין להשתמש בתווים אחרים.
  • שם הקובץ חייב להיות robots.txt.
  • לכל אתר צריך להיות קובץ robots.txt אחד בלבד.
  • הקובץ robots.txt חייב להיות ממוקם בתיקיית הבסיס של מארח האתר שעליו הוא חל. לדוגמה, כדי לשלוט על הסריקה של תיקיית הבסיס בכל כתובות האתרים תחת http://www.example.com/, יש למקם את הקובץ robots.txt בנתיב http://www.example.com/robots.txt. אין למקם את הקובץ בספריית משנה (למשל בנתיב http://example.com/pages/robots.txt). אם לא בטוחים איך לגשת אל תיקיית הבסיס של האתר, או אם צריכים הרשאות לכך, יש ליצור קשר עם ספק שירותי האירוח של האתר. אם לא ניתן לגשת לתיקיית הבסיס של האתר, משתמשים בשיטת חסימה אחרת, כמו meta tags.
  • קובץ robots.txt יכול לחול על תת-דומיינים (לדוגמה, http://website.example.com/robots.txt) או על יציאות לא סטנדרטיות (לדוגמה, http://example.com:8181/robots.txt).

תחביר

  • קובץ robots.txt מורכב מקבוצת כללים אחת או יותר.
  • כל כלל מציין שם של סוכן משתמש אחד או יותר, ולאילו ספריות או קבצים הם רשאים או אינם רשאים לגשת.
  • הכללים מעובדים מלמעלה למטה, ולכל סוכן משתמש תותאם קבוצת כללים אחת בלבד – קבוצת הכללים הראשונה והספציפית ביותר שתתאים לו.
  • הנחת ברירת המחדל היא שסוכן המשתמש יכול לסרוק דף או תיקייה שאינם חסומים על ידי כלל :Disallow.
  • הכללים תלויים באותיות רישיות. לדוגמה, Disallow: /file.asp חל על http://www.example.com/file.asp, אבל לא על http://www.example.com/File.asp.

בקובצי robots.txt משתמשים במילות המפתח הבאות:

  • User-agent: [חובה להשתמש לפחות פעם אחת בכל כלל] שם הרובוט של מנוע החיפוש (תוכנת סורק אינטרנט) שהכלל חל עליו. רוב שמות ה-user agent רשומים במסד הנתונים של רובוטים באינטרנט או ברשימת סוכני המשתמש של Google. ניתן להשתמש בתו הכללי לחיפוש (*) כממלא מקום תחיליות, סיומות או מחרוזת שלמה. השימוש בכוכבית (*) כמו בדוגמה למטה מתאים לכל הסורקים פרט לסורקי AdsBot, אשר את שמם יש לכתוב במלואו. (ראו רשימת השמות של סורקי Google.)
    Block all but AdsBot crawlers #
    * :User-agent
  • Disallow: [חובה להשתמש לפחות פעם אחת ב-Disallow או ב-Allow בכל כלל] תיקייה או דף במיקום יחסי לדומיין הבסיס, שאין לסרוק אותם על ידי ה-user agent. במקרה של דף, יש לציין את שם הדף במלואו כפי שהוא מוצג בדפדפן. במקרה של ספרייה, שמה צריך להסתיים בסימן /.  ניתן להשתמש בתו הכללי לחיפוש (*) כממלא מקום תחיליות, סיומות או מחרוזת שלמה.
  • Allow: [חובה להשתמש לפחות פעם אחת ב-Disallow או ב-Allow בכל כלל] תיקייה או דף, המשוייכים לדומיין הבסיס, שיש לסרוק על ידי ה-user agent שהוזכר. הוראה זו משמשת לביטול Disallow, כדי לאפשר סריקה של ספריית משנה או דף בתיקייה לא מורשית. במקרה של דף, יש לציין את שם הדף במלואו כפי שהוא מוצג בדפדפן. במקרה של ספרייה, שמה צריך להסתיים בסימן /. ניתן להשתמש בתו הכללי לחיפוש (*) כממלא מקום תחיליות, סיומות או מחרוזת שלמה.
  • Sitemap: [אופציונלי, לא חובה להשתמש בכל קובץ] מיקום ה-sitemap של האתר. שורה אופציונלית. ניתן לציין קובצי sitemap מרובים, כל אחד בשורה נפרדת. קובצי Sitemap הם שיטה טובה לציין איזה תוכן Google צריכה לסרוק, בניגוד לתוכן שהיא רשאית או לא רשאית לסרוק. למידע נוסף בנושא קובצי Sitemap.

המערכת תתעלם ממילות מפתח לא מוכרות.

קובץ דוגמה נוסף

קובץ robots.txt מורכב מקבוצת כללים אחת או יותר, כל אחת מהן נפתחת בשורה User-agent המציינת מה יעד הכללים. הנה קובץ המכיל שני כללים; הערות בגוף הקובץ מסבירות כל כלל:

.../Block googlebot from example.com/directory1/... and example.com/directory2 #
.../but allow access to directory2/subdirectory1 #
.All other directories on the site are allowed by default #
User-agent: googlebot
/Disallow: /directory1
/Disallow: /directory2
/Allow: /directory2/subdirectory1

.Block the entire site from anothercrawler #
User-agent: anothercrawler
/ :Disallow

תחביר מלא של robots.txt

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

כללים שימושיים בקובצי robots.txt

הנה כמה כללים נפוצים ושימושיים בקובצי robots.txt:

כלל דוגמה
מניעת סריקה של האתר כולו. חשוב לזכור שבמקרים מסוימים עשויות כתובות אתרים להתווסף לאינדקס גם אם הן לא נסרקו. שימו לב: כלל זה לא תקף לגבי סורקי AdsBot שונים, אשר את שמם יש לציין באופן מלא.
User-agent: *‎
Disallow: /‎
מניעת סריקה של תיקייה והתוכן שלה על ידי קו נטוי אחרי שם התיקייה. יש לזכור שאין להשתמש בקובץ robots.txt כדי לחסום גישה לתוכן פרטי: למטרה זאת יש להשתמש באימות מתאים. כתובות אתרים שנחסמו בקובץ robots.txt עשויות להתווסף לאינדקס גם אם הן לא נסרקו. כמו כן, כל אחד יכול להציג את קובץ robots.txt, וכך לחשוף את מיקום התוכן הפרטי.
User-agent: *‎
Disallow: /calendar/‎
Disallow: /junk/‎
אפשרות גישה לסורק יחיד
User-agent: Googlebot-news
Allow:‎

User-agent: *‎
Disallow: /‎
אפשרות גישה לכל הסורקים, פרט לסורק יחיד
User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

מניעת סריקה של דף אינטרנט יחיד באמצעות ציון הדף אחרי קו נטוי:

Disallow: /private_file.html

חסימת תמונה מסוימת ל'תמונות Google‏':

User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

חסימת כל התמונות באתר ל'תמונות Google‏':

‎User-agent: Googlebot-Image
Disallow: /‎

מניעת סריקה של קבצים מסוג מסוים (לדוגמה: gif.):

User-agent: Googlebot
Disallow: /*.gif$

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

User-agent: *‎
Disallow: /‎

User-agent: Mediapartners-Google‎
Allow: /‎
להתאמה עם כתובות אתרים המסתיימים במחרוזת מסוימת, משתמשים ב-$. למשל, הקוד בדוגמה חוסם כתובות אתרים שמסתיימות ב-‎.xls:
User-agent: Googlebot 
Disallow: /*.xls$‎
האם המאמר היה מועיל?
איך נוכל לשפר את המאמר?