robots.txt לסורקי AI: מה להתיר ומה לחסום
תנו לכל סורק AI שחשוב לכם קבוצת User-agent משלו. התירו סורקי חיפוש כמו OAI-SearchBot, Claude-SearchBot ו-PerplexityBot אם אתם רוצים להיות מצוטטים, והחליטו בנפרד לגבי טוקני אימון כמו GPTBot, ClaudeBot, Google-Extended ו-Applebot-Extended. קבוצה בשם מחליפה את הקבוצה * עבור אותו סורק.
robots.txt הוא קובץ טקסט פשוט שראשיתו ב-1994 והפך לתקן רשמי, RFC 9309, ב-2022. רוב ספקי ה-AI אומרים שהסורקים שלהם מצייתים לו, וכמה מהם מפרסמים טוקנים נפרדים לחיפוש ולאימון. זה הופך את robots.txt למקום הפשוט ביותר להצהיר על מדיניות AI, בתנאי שהכללים אכן אומרים את מה שאתם חושבים שהם אומרים.
בעמוד זה
באילו טוקנים של robots.txt משתמשים סורקי AI?
אלה הטוקנים שהספקים מתעדים. ההתאמה אינה תלויה ברישיות לפי RFC 9309.
- OpenAI:
OAI-SearchBot(חיפוש ChatGPT),GPTBot(אימון),ChatGPT-User(ביקורים לפי בקשת משתמש; OpenAI אומרת ש-robots.txt אולי לא חל). - Anthropic:
Claude-SearchBot(חיפוש),ClaudeBot(אימון),Claude-User(ביקורים לפי בקשת משתמש). - Perplexity:
PerplexityBot(חיפוש),Perplexity-User(ביקורים לפי בקשת משתמש; Perplexity אומרת שהוא מתעלם בדרך כלל מ-robots.txt). - Google:
Googlebot(החיפוש, כולל יכולות ה-AI שלו) ו-Google-Extended, טוקן בלי סורק משלו ששולט בשימוש באימון Gemini ובהארקה (grounding). - Apple:
Applebot(Spotlight, Siri, חיפוש ב-Safari) ו-Applebot-Extended, שאינו סורק אך שולט בשימוש לאימון מודלי היסוד של Apple. - Meta:
meta-externalagent(אימון ואינדוקס מוצרים) ו-meta-webindexer(חיפוש Meta AI). - Common Crawl:
CCBot, שבונה את הארכיון הציבורי והחינמי של Common Crawl לנתוני רשת.
איך נראה robots.txt טוב ל-AI?
הדוגמה הזאת מכניסה חיפוש AI והבאה לפי משתמש, יוצאת מטוקני האימון העיקריים ושומרת אזור פרטי אחד סגור לכולם:
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Allow: /
Disallow: /account/
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
כמה שורות User-agent ברצף יוצרות קבוצה אחת, ולכן הכללים שמתחתיהן חלים על כל הסורקים האלה. אם אתם כן רוצים שהתוכן ישמש לאימון, פשוט השמיטו את הקבוצה השנייה. חסימת Google-Extended לא משפיעה על חיפוש Google: Google אומרת שהיא לא משפיעה על ההכללה בחיפוש ואינה אות דירוג. באופן דומה, Apple אומרת שעמודים שחוסמים את Applebot-Extended עדיין יכולים להופיע בתוצאות החיפוש שלה.
איך סורקים בוחרים אילו כללים חלים עליהם?
RFC 9309 מגדיר זאת במדויק, והפרטים מסבירים את רוב ההפתעות:
- סורק מחפש את הקבוצה ש-
User-agentשלה תואם לטוקן המוצר שלו, בלי להבחין בין אותיות גדולות לקטנות. אם כמה קבוצות תואמות, הכללים שלהן מתאחדים לקבוצה אחת. - רק אם אף קבוצה לא תואמת, הסורק פועל לפי הקבוצה
User-agent: *. קבוצה בשם לא יורשת דבר מ-*. - בתוך הקבוצה, הכלל עם הנתיב התואם הארוך ביותר מנצח.
Allow: /blog/גובר עלDisallow: /עבור/blog/post. - אם כלל
AllowוכללDisallowתואמים באותו אורך, יש להשתמש ב-Allow. *בנתיב תואם כל תווים, ו-$מעגן את הסוף, ולכןDisallow: /*.pdf$מכסה כל קובץ PDF.
מהן הטעויות הנפוצות ביותר ב-robots.txt?
- ציפייה שקבוצה בשם תירש מ-
*. קבוצה שלOAI-SearchBotעםAllow: /בלבד פותחת כל נתיב, כולל כאלה שחסמתם תחת*. - כתובת robots.txt שמחזירה עמוד HTML, לעיתים קרובות עמוד 404 שמוגש עם סטטוס 200. סורקים לא מוצאים בו כללים תקפים.
- robots.txt שמחזיר שגיאת שרת. לפי RFC 9309, סורק חייב אז להניח שכל האתר אסור לסריקה. 404 שונה: משמעותו שאין הגבלות.
- חסימת טוקן חיפוש מתוך כוונה לחסום אימון, למשל חסימת
PerplexityBotאוClaude-SearchBotכדי להימנע מאימון מודלים. - הסתמכות על robots.txt כדי לעצור הבאה לפי בקשת משתמש. OpenAI ו-Perplexity שתיהן אומרות שה-user agents שלהן אולי לא מצייתים לו.
- שכחת תת-דומיינים. לכל host יש robots.txt משלו; התיעוד של Anthropic מזכיר לבעלי אתרים להוסיף כללים לכל תת-דומיין.
אפשר להצהיר על מדיניות שימוש ב-AI מעבר ל-allow ו-disallow?
Cloudflare הציעה שורת Content-Signal ל-robots.txt עם שלושה אותות: search (בניית אינדקס חיפוש והצגת קישורים ותקצירים קצרים), ai-input (שימוש בתוכן בזמן אמת בתשובות AI) ו-ai-train (אימון או כוונון מודלים). ה-robots.txt המנוהל של Cloudflare יכול להוסיף אותה בשבילכם.
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
כמו כל דבר ב-robots.txt, אלה העדפות ולא בקרות טכניות. Cloudflare עצמה מציינת שהציות ל-robots.txt הוא וולונטרי. השורה אופציונלית ולא מזיקה, אבל היא לא מחליפה את הקבוצות לכל סורק שלמעלה.
כמה זמן לוקחים שינויים, ואיך בודקים אותם?
RFC 9309 קובע שסורקים לא צריכים להשתמש בעותק שמור של robots.txt יותר מ-24 שעות, ו-OpenAI ו-Perplexity אומרות ששינויים יכולים לקחת כיום אחד להיכנס לתוקף. זכרו גם ש-robots.txt אינו בקרת גישה: חומת אש עדיין יכולה לחסום סורק שהכללים שלכם מתירים.
AISeeWhy מנתח את ה-robots.txt שלכם לפי RFC 9309 עבור כל סורק שהוא בודק, מסמן קבצים שאי אפשר להגיע אליהם או שמוגשים כ-HTML, מראה איפה הכללים שלכם והשרת שלכם חלוקים, ונותן diff מוכן לשינוי.
שאלות נפוצות
האם חסימת GPTBot או ClaudeBot פוגעת בנראות שלי בתשובות AI?
לא ישירות. שני הספקים משתמשים בסורקי חיפוש נפרדים, OAI-SearchBot ו-Claude-SearchBot. חסימת סורק האימון היא בחירת מדיניות.
האם Google-Extended עוצר את AI Overviews?
לא. Google אומרת שיכולות ה-AI בחיפוש משתמשות ב-Googlebot ובבקרות החיפוש הרגילות כמו nosnippet ו-noindex. Google-Extended מכסה אימון Gemini והארקה במוצרים אחרים של Google ואינו משפיע על החיפוש.
האם סורקי AI תומכים ב-Crawl-delay?
הוא אינו חלק מ-RFC 9309. Anthropic אומרת שהיא תומכת ב-Crawl-delay כהרחבה לא תקנית; לגבי ספקים אחרים, בדקו בתיעוד שלהם.
איפה robots.txt צריך להיות?
בשורש של כל host, למשל https://example.com/robots.txt. קובץ בתיקיית משנה מתעלמים ממנו, ולכל תת-דומיין צריך קובץ משלו.
מקורות
- RFC 9309: פרוטוקול Robots Exclusion
- OpenAI: סקירת הסורקים של OpenAI
- Google: סורקים נפוצים, כולל Google-Extended
- Apple: על Applebot
- Cloudflare: robots.txt מנוהל ו-Content Signals