aiadsby boostit דברו איתנו
הצד הטכני והסריקה

ניתוח לוגים

Log file analysis

קריאת יומני השרת כדי לראות אילו סורקים הגיעו בפועל, לאילו עמודים ובאיזו תדירות. זו הדרך היחידה לדעת אם OAI-SearchBot או Claude-SearchBot באמת נכנסו אליכם. ראו בדיקת robots.txt.

עודכן:

העדות היחידה שאינה השערה

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

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

בין השאלה האם ChatGPT מכיר אותנו לבין תשובה עובדתית יש דבר אחד: קובץ טקסט שכבר יושב אצלכם בשרת. משם מתחילה הבדיקה שהסורקים באמת מגיעים.

השדות, ומה עושים עם כל אחד

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

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

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

קודי התגובה, ומה כל אחד מספר

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

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

429 היא הגבלת קצב, וכשהיא עקבית ההגדרה חונקת גם את מי שרציתם. 503 ו-500 הן תקלות אצלכם, וסורק שנתקל בהן מאט.

אמיתי, או מישהו שכתב את השם

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

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

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

השמות שמעניינים אתכם מעטים. אצל OpenAI: GPTBot לאיסוף למטרות אימון, OAI-SearchBot לחיפוש, ChatGPT-User כשמשתמש ביקש במפורש לפתוח כתובת. אצל Anthropic אותה חלוקה: ClaudeBot, Claude-SearchBot ו-Claude-User. אצל גוגל, Googlebot הוא שקובע את ההכללה, ו-Google-Extended נוגע לאימון ולעיגון במוצרי Gemini. ופרפלקסיטי מפעילה את PerplexityBot ואת Perplexity-User.

מאיפה משיגים את היומנים, ואיפה הם משקרים

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

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

איך זה נראה בפועל

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

הוא פותח את היומנים של חודש. Googlebot מופיע הרבה, עם קוד 200. OAI-SearchBot מופיע, וכל השורות שלו נושאות קוד 403. Claude-SearchBot מופיע מעט, גם הוא 403. PerplexityBot לא מופיע כלל.

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

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

זוויות שונות

לאתר על אחסון שיתופי

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

לאתר שיושב מאחורי רשת הפצה

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

לחנות על פלטפורמה סגורה

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

מה זה אומר בפועל

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

איך בודקים את זה לבד

  1. השיגו את הקבצים. בלוח בקרה מסוג cPanel זה יושב תחת מדדים, באזור שנקרא גישה גולמית. בשרת משלכם, תחת var/log.
  2. ודאו שהרישום כולל את מזהה הלקוח. אם השורות מסתיימות בקוד ובגודל, בקשו מספק האחסון להפעיל רישום מלא, אחרת אין מה לבדוק.
  3. ספרו כמה בקשות הגיעו מכל סורק: grep -ci "oai-searchbot" access.log ואחריו אותו דבר עבור claude-searchbot, perplexitybot ו-googlebot. אפס הוא ממצא.
  4. פרקו לפי קוד תגובה: grep -i "oai-searchbot" access.log | awk '{print $9}' | sort | uniq -c. תוצאה שכולה 403 היא חסימה בשכבת ההגנה.
  5. הסתכלו על גודל התשובה, השדה שאחרי הקוד. אם כל התשובות באותו גודל קטן על נתיבים שונים, מוגש עמוד אתגר ולא תוכן.
  6. בדקו אילו נתיבים נסרקו: grep -i "oai-searchbot" access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -30. רשימה קצרה מדי מצביעה על גילוי שבור, לא על הרשאה.
  7. אמתו שורה חשודה לפי הכתובת שבתחילתה, מול רשימות טווחי הכתובות שהחברות מפרסמות. אצל גוגל אפשר גם לבדוק את שם המארח בשני הכיוונים.
  8. אם המספר הכולל אפס והאתר חי, אל תסיקו שאף אחד לא ניסה. פתחו את תצוגת הבקשות של רשת ההפצה או שכבת ההגנה, וחפשו שם את אותם שמות.
  9. אששו בבדיקה חיה: curl -A "OAI-SearchBot" -I https://www.example.co.il/ והסתכלו על הקוד שחוזר. אחר כך הריצו בלי הדגל ובדקו שגוף התשובה מכיל משפט אמיתי מהעמוד.

המלכודת

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

מתי זה לא רלוונטי לכם

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

שאלות נפוצות

כמה זמן אחורה צריך להסתכל, וצריך כלי בתשלום?

שלושים יום נותנים תמונה סבירה, ובאתר קטן שהסריקה בו נדירה שווה למשוך רבעון. כלי בתשלום אינו נחוץ: grep ו-awk מספיקים.

ראיתי GPTBot ביומן, אז אני מופיע ב-ChatGPT?

לא נובע מזה. GPTBot נוגע לאיסוף למטרות אימון. מי שקובע אם אתם מועמדים בתשובה שנבנית בזמן אמת הוא סורק החיפוש, ואצל OpenAI שמו OAI-SearchBot. שני השמות מופיעים באותו קובץ ואומרים דברים שונים.

איך אני יודע שהשורה אמיתית ולא מישהו שהתחזה?

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

פתחתי חסימה, כמה זמן עד שאראה שינוי ביומן?

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

מה עושים כשספק האחסון לא נותן גישה?

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

מונחים קשורים

סורק

תוכנה שמושכת עמודים מהאתר בשביל מנוע חיפוש או מנוע AI.

מזהה סורק

המחרוזת שהסורק מציג בכל בקשה, וגם השם שכותבים מולו ב-robots.txt.

קובץ robots.txt

קובץ טקסט בשורש הדומיין שמצהיר לאילו סורקים מותר למשוך אילו נתיבים.

אינדקס

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

עיבוד בצד השרת

בניית ה-HTML המלא בשרת לפני שהוא נשלח, כך שהתוכן קיים בתגובה הראשונה ואינו תלוי בהרצת JavaScript.

להרחבה

הערך נבדק מול המקורות הרשמיים של הפלטפורמות. כשמשהו אינו ידוע, כתוב כאן שהוא אינו ידוע. שינויים מתועדים בארכיון העדכונים.

בואו נדבר.

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

  • מה המוצר ומי הלקוח שלכם
  • איך נמדדת אצלכם המרה היום
  • מאיזה תקציב זה מתחיל להיות הגיוני

לא בקטע של טפסים? [email protected]