למה המודעה ב-ChatGPT לא מאושרת בגלל האתר

מנהל שיווק בחנות אונליין ישראלית מעלה קמפיין ראשון ב-ChatGPT. הכותרת מדויקת, התמונה חדה, רמזי ההקשר כתובים לפי הספר, התקציב היומי מוגדר. המודעה לא עוברת אישור. הוא מחליף תמונה, מקצר את הכותרת, מנסח מחדש את התיאור, ושום דבר לא זז. הבעיה לא נמצאת באף מקום שהוא מחפש בו. היא יושבת בהגדרות השרת של האתר שאליו המודעה מפנה, ושום הודעת שגיאה לא מפנה אותו לשם.
בקצרה: כדי שמודעה ב-ChatGPT תאושר, הזחלן של OpenAI בשם OAI-AdsBot חייב להצליח לפתוח את דף הנחיתה ולקרוא אותו. הוא בודק שהדף עומד במדיניות הפרסום, וגם משתמש בתוכן שלו כדי להחליט מתי המודעה רלוונטית. אם הגנות האתר חוסמות אותו, המודעה לא מאושרת ואין הודעת שגיאה שמסבירה למה. שלוש שכבות עושות את זה: קובץ robots.txt, הגנת הבוטים של ספק האבטחה, ואימות אנושיות כמו CAPTCHA.
מה הזחלן מחפש בדף הנחיתה
זחלן הוא תוכנה שנכנסת לעמוד באתר, מורידה את הטקסט שלו וקוראת אותו, בדיוק כמו שגוגל עושה כדי לבנות את תוצאות החיפוש. ל-OpenAI יש כמה כאלה, ושניים נוגעים למפרסמים: OAI-AdsBot שמטפל במודעות, ו-OAI-SearchBot שמשמש את החיפוש. התיעוד של OpenAI קובע שחובה לאפשר את הראשון, וממליץ לאפשר גם את השני.
לזחלן המודעות יש שני תפקידים, ושניהם נשענים על אותה פעולה פשוטה של פתיחת הדף. הראשון הוא אימות: לוודא שדף הנחיתה עצמו עומד במדיניות, ולא רק שהמודעה עומדת בה. מודעה מאושרת שמובילה לדף עם תוכן אסור היא בדיוק המקרה שהמדיניות באה למנוע. התפקיד השני הוא רלוונטיות: המערכת קוראת את תוכן הדף כדי להבין מתי המודעה מתאימה לשיחה. דף שלא נקרא הוא גם דף שלא מספק את החומר הזה.
הנקודה השנייה מפתיעה מפרסמים שמגיעים מגוגל. בזירה הזאת אין טירגוט לפי מילת מפתח. המפרסם כותב רמזי הקשר שמתארים את המוצר ואת מי שהוא מתאים לו, והמערכת משלימה את התמונה מתוך דף הנחיתה עצמו. דף שלא נפתח משאיר אותה עם חצי מהמידע, ולכן חסימה פוגעת פעמיים: פעם באישור, ופעם ביכולת של המערכת להתאים את המודעה לשיחות הנכונות.
התמונה הרחבה של הפלטפורמה, מי רואה את המודעות ואיך המכרז עובד, יושבת במדריך על הזירה הפרסומית החדשה של ChatGPT. כאן מפרקים את החוליה האחת שנשברת בשקט.
שלוש השכבות שחוסמות, וכולן שותקות
השכבה הראשונה היא robots.txt. זה קובץ טקסט קטן שיושב בשורש האתר ומספר לזחלנים מה מותר להם לקרוא. אם הקובץ מכיל איסור גורף על כל מה שאינו מוכר, הזחלן של OpenAI נכלל בו בלי שאף אחד התכוון לכך. הקובץ הזה כבר מחליט היום גם מי מהמנועים הגנרטיביים יכול בכלל לראות את האתר, וההיגיון שלו מפורק לעומק במדריך ה-GEO.
השכבה השנייה היא הגנת בוטים. ספקי אבטחה ורשתות הפצה כמו קלאודפלייר ואקמאי חוסמים תנועה אוטומטית כדי להגן על האתר, ומחזירים קוד 403. במילים פשוטות: השרת ענה, והוא מסרב. ההגנה הזאת לא יודעת להבדיל לבד בין סורק זדוני לבין זחלן שמגיע כדי לאשר מודעה, אלא אם מישהו הגדיר לה את ההבדל. כאן יש בשורה טובה: OAI-AdsBot מאומת ומורשה רשמית אצל קלאודפלייר, כלומר אפשר לאשר אותו כבוט מוכר בלי לפתוח את האתר לכל תנועה אוטומטית.
השכבה השלישית היא אימות אנושיות. מסכי CAPTCHA ואתגרי JavaScript קיימים כדי לוודא שבצד השני יושב אדם. זחלן לא יסמן תיבה ולא יעבור אתגר שנועד לרוץ בדפדפן, ולכן דף שמוגן כך פשוט לא נקרא. זה נפוץ במיוחד בדפי נחיתה עם טופס, בדיוק הדפים שקמפיינים מפנים אליהם.
לא כל כישלון הוא חסימה
יש שלוש נפילות נוספות שדומות לחסימה מבחוץ ומקורן אחר לגמרי.
הראשונה היא סוג היעד. קישורי חנות אפליקציות, דיפ לינקים ויעדים שדורשים התחברות אינם מתאימים כדף נחיתה. מה שהזחלן לא יכול לפתוח בלי להתחבר, המערכת לא יכולה לאמת.
השנייה שייכת למי שמפרסם מקטלוג. בקמפיין שמבוסס על פיד מוצרים צריך לאפשר ל-OAI-SearchBot גישה גם לכתובות של תמונות המוצר. 403 על מארח התמונות חוסם את עיבוד הפיד גם כשדפי המוצר עצמם פתוחים, ולכן שווה לעבור על ההגדרות של פיד המוצרים ולא רק על האתר.
השלישית היא קוד 429, שאומר שהשרת קיבל יותר מדי בקשות בזמן קצר. הוא מופיע כשמעלים הרבה מודעות במרוכז, כי כל מודעה שולחת את הזחלן אל הדף שלה. הפתרון הוא להעלות באצוות קטנות, ולא לגעת בשום הגדרה.
הדף עצמו נבדק, לא רק המודעה
המדיניות של OpenAI מחייבת עקביות מקצה לקצה: מודעה מאושרת לא יכולה להוביל לדף נחיתה שמכניס תוכן אסור. הדוגמה שמופיעה בתיעוד היא מודעת משלוחי אוכל שמובילה למשלוחי אלכוהול. המשמעות המעשית היא שכדאי לעבור על דף הנחיתה לפני ההעלאה ולא רק על הקריאייטיב, ולוודא שאין בו הצעה שנופלת מחוץ למותר. לעסק ישראלי זה קריטי במיוחד, כי שירותים פיננסיים, רפואיים ומשפטיים אסורים לפרסום מחוץ לארצות הברית נכון לעכשיו. דף שמדבר על מוצר מותר ומקשר בתחתיתו להצעה אסורה הוא בדיוק המקרה שהכלל הזה בא למנוע, וגם הוא ייפול בלי שיוסבר למה.
עד כאן מה שכתוב בתיעוד הרשמי. מה שהתיעוד לא אומר הוא כמה אתרים ישראליים באמת נופלים בזה, ולכן נבדקו 31 דומיינים ישראליים כדי לראות מה קורה בפועל כשהזחלן דופק בדלת.
הבדיקה: 28 אתרים ישראליים מול הזחלן
השיטה. לכל דומיין נשלחה בקשה רגילה לעמוד הבית עם תעודת הזהות של OAI-AdsBot, כלומר שדה ה-User-Agent, השורה שבה כל תוכנה מציגה את עצמה בפני השרת. במקביל נשלחה בקשת ביקורת עם תעודת זהות של דפדפן כרום רגיל. ההשוואה בין שתי התשובות היא הלב של הבדיקה: אתר שדוחה את שתיהן פשוט לא זמין לפניות אוטומטיות, ואתר שמקבל את הדפדפן ודוחה את הזחלן חוסם אותו ספציפית. בנוסף נבדק קובץ robots.txt של כל אתר.
המדגם. 31 דומיינים ישראליים מתחומי מסחר, קמעונאות, תקשורת, תיירות, פיננסים, שירותים ותוכן. שלושה מהם לא נפתרו בכלל בשמות המתחם והוצאו מהספירה, ולכן המדגם הפעיל עומד על 28 אתרים.
התוצאות.
- 26 מתוך 28 החזירו 200 לזחלן. כלומר הרוב המכריע תקין, והזחלן היה נכנס ללא בעיה.
- 2 אתרים לא היו עוברים. אחד, מאחורי קלאודפלייר, מחזיר 403 לכל פנייה אוטומטית, גם כשהיא מתחזה לדפדפן. השני, מאחורי מערכת הגנה מסוג BigIP, מגיש 200 לדפדפן ולא נענה כלל לזהות של הזחלן.
- 27 מתוך 28 לא מזכירים את הזחלנים של OpenAI ב-robots.txt בכלל. זו לא חסימה, כי מה שלא נאסר מותר. זה רק אומר שאף אחד עוד לא בדק.
המסקנה, בלי לנפח אותה. התופעה צרה בהרבה ממה שהיא נשמעת: בערך אתר אחד מכל 14. מי שקורא כותרת מבוהלת ורץ לשנות הגדרות אבטחה עושה עבודה מיותרת ברוב המקרים. אבל כשזה כן קורה, זה קורה בשקט מוחלט. אין התראה, אין הודעה, ואין דרך לנחש שהתשובה נמצאת בשרת ולא במודעה. בדיקה של שנייה אחת מוציאה את הנושא מהספק, וזו בדיוק הסיבה שהיא שווה את הזמן.
הפקודה שנותנת תשובה בשנייה
הפקודה הבאה שולחת בקשה אחת לאתר בזהות של הזחלן, ומדפיסה רק את קוד התשובה. היא רצה מחלון הטרמינל של מק או לינוקס, בלי להתקין כלום. במקום YOUR-DOMAIN.co.il נכנסת הכתובת שנבדקת.
curl -s -o /dev/null -w "%{http_code}\n" \
-A "Mozilla/5.0 (compatible; OAI-AdsBot/1.0; +https://openai.com/adsbot)" \
-L "https://YOUR-DOMAIN.co.il/"
200 אומר שהדף נפתח כרגיל, והכול תקין. 403 אומר שהשרת ענה וסירב, כלומר הזחלן נחסם. 000 אומר שלא התקבלה תשובה בכלל, ובפועל גם זו חסימה. כדאי להריץ את הפקודה גם על עמוד הבית וגם על הכתובת המדויקת של דף הנחיתה, כי לפעמים חוק ההגנה מוגדר על נתיב אחד ולא על כל האתר.
שורות robots.txt להדבקה
אלה השורות מהתיעוד הרשמי של OpenAI. הן נכנסות לקובץ robots.txt שבשורש האתר, וקבוצה שנרשמת בשם של זחלן מסוים גוברת על הכלל הכללי שחל על כולם.
User-agent: OAI-SearchBot
Allow: /
User-agent: OAI-AdsBot
Allow: /
ההוספה הזאת מסירה ספק גם כשהאתר כבר פתוח, ומונעת מצב שבו עדכון עתידי של הקובץ יחסום את הזחלן בטעות. פתיחת OAI-SearchBot משרתת גם את הצד האורגני, כי זה הזחלן שמזין את מה ש-ChatGPT יודע להגיד על העסק בלי שמשלמים על כך, נושא שמפורק בנפרד במדריך על איך גורמים ל-ChatGPT להמליץ על העסק.
מתי מריצים את הבדיקה
שלוש נקודות זמן מצדיקות הרצה. הראשונה, לפני העלאת הקמפיין הראשון, כי זו הבדיקה הזולה ביותר בכל תהליך ההקמה. השנייה, אחרי כל שינוי בספק האבטחה, באחסון או בתוספי האתר, כי אתר שעבר היום יכול להיחסם מחר בלי שאף אחד הגדיר חסימה במפורש. השלישית, בכל פעם שנוסף דף נחיתה חדש, במיוחד כשהוא יושב על נתיב או על דומיין משנה שלא נבדקו קודם. הבדיקה לוקחת שנייה, ולכן היא שווה גם כשהתשובה צפויה.
אם הבדיקה חזרה אדומה
בקלאודפלייר, האישור נעשה ברשימת הבוטים המאומתים, ולא בפתיחה גורפת של התנועה האוטומטית. במערכות הגנה אחרות שאין בהן זיהוי מובנה, OpenAI מפרסמת רשימות כתובות IP יציבות בכתובות openai.com/adsbot.json ו-openai.com/searchbot.json, ואפשר להסתמך עליהן ברשימת ההיתרים של חומת האש. אם החסם הוא אתגר אנושיות, מחריגים ממנו את דף הנחיתה או מזיזים את האימות לרגע שליחת הטופס במקום לרגע הכניסה לדף.
מי שיש לו גישה להגדרות השרת סוגר את כל זה בחצי שעה. מי שאין לו, מעביר את הבקשה למי שמתחזק לו את האתר, עם שני דברים ברורים: שורות ה-robots.txt שמופיעות למעלה, ואישור הזחלן בממשק ההגנה. זה הפרש של חצי שעה מול שבוע של חיפוש במקום הלא נכון.
שאלות נפוצות
למה מודעה ב-ChatGPT לא עוברת אישור בלי שמופיע הסבר?
אחת הסיבות השכיחות שקשה לעלות עליהן היא שהזחלן של OpenAI לא הצליח לפתוח את דף הנחיתה. הזחלן חייב לקרוא את הדף כדי לאמת שהוא עומד במדיניות הפרסום, ובלי קריאה מוצלחת אין על מה לאשר. מכיוון שהחסימה קורית ברמת השרת של האתר ולא ברמת המודעה, המפרסם ממשיך לערוך כותרות ותמונות בזמן שהבעיה יושבת במקום אחר לגמרי. לפני שמשנים משהו במודעה, שווה לבדוק שהדף עצמו נגיש לפנייה אוטומטית.
מה זה OAI-AdsBot ולמה הוא צריך גישה לדף הנחיתה?
OAI-AdsBot הוא הזחלן של OpenAI שמיועד למודעות, כלומר תוכנה שנכנסת לדף, מורידה את הטקסט שלו וקוראת אותו. יש לו שני תפקידים: לאמת שדף הנחיתה עומד במדיניות הפרסום, ולהשתמש בתוכן הדף כדי להחליט מתי המודעה רלוונטית לשיחה. התיעוד של OpenAI קובע שחובה לאפשר לו גישה, וממליץ לאפשר גם ל-OAI-SearchBot. שני התפקידים האלה אומרים שדף חסום לא רק נופל באישור, הוא גם לא נותן למערכת את החומר שלפיו היא מחליטה למי להציג את המודעה.
איך בודקים אם האתר חוסם את OAI-AdsBot?
שולחים לעמוד בקשה אחת שמציגה את עצמה בתור הזחלן, ובודקים איזה קוד תשובה חוזר. הפקודה נמצאת בגוף המאמר והיא רצה מכל מחשב מק או לינוקס בלי להתקין כלום. 200 אומר שהדף נפתח כרגיל, 403 אומר שהשרת ענה וסירב, ו-000 אומר שלא התקבלה תשובה בכלל. כדאי להריץ אותה גם על עמוד הבית וגם על הכתובת המדויקת של דף הנחיתה, כי לפעמים ההגנה מוגדרת על נתיב מסוים ולא על כל האתר.
אילו שורות צריך להוסיף ל-robots.txt?
שתי קבוצות קצרות: אחת בשם OAI-SearchBot ואחת בשם OAI-AdsBot, ולכל אחת שורת Allow עם לוכסן, שמשמעותה שכל האתר פתוח. הקובץ יושב בשורש האתר בכתובת robots.txt, וקבוצה שנרשמת בשם של זחלן מסוים גוברת על הכלל הכללי שחל על כולם. אם באתר אין כרגע איסור גורף, ההוספה לא משנה כלום בפועל, אבל היא מסירה ספק ומונעת מצב שבו שינוי עתידי בקובץ יחסום את הזחלן בטעות.
האם קלאודפלייר חוסמת את OAI-AdsBot כברירת מחדל?
לא בהכרח. OAI-AdsBot מאומת ומורשה רשמית אצל קלאודפלייר, כלומר היא מזהה אותו כבוט לגיטימי ולא כתנועה חשודה. עם זאת, הגדרות הגנה אגרסיביות שנקבעו ידנית באתר מסוים עדיין יכולות לחסום כל פנייה שאינה דפדפן, וזה בדיוק מה שהופיע באחד משני האתרים שנפלו בבדיקה. הדרך הנכונה היא לאשר את הזחלן כבוט מאומת בממשק ההגנה, במקום לפתוח את האתר כולו לתנועה אוטומטית.
אתגר CAPTCHA על דף הנחיתה מפריע לאישור המודעה?
כן, ובצורה שקשה לזהות. אימות אנושיות בנוי כדי לוודא שמי שנמצא בצד השני הוא אדם, וזחלן לא יכול לסמן תיבה או לעבור אתגר JavaScript שנועד לדפדפן. התיעוד של OpenAI מונה את אימות האנושיות כאחת משלוש השכבות שחוסמות את הזחלן, לצד robots.txt והגנת ה-WAF. הפתרון הוא להחריג את דף הנחיתה מהאתגר, או להעביר את האימות לשלב מאוחר יותר במשפך, למשל לרגע שליחת הטופס ולא לרגע הכניסה לדף.
יש לי פיד מוצרים. מה עוד צריך להיות פתוח?
בקמפיין שמבוסס על פיד מוצרים צריך לאפשר ל-OAI-SearchBot גישה גם לכתובות של תמונות המוצר, ולא רק לדפי המוצר עצמם. אם מארח התמונות מחזיר 403, עיבוד הפיד נחסם גם כשהאתר עצמו פתוח לגמרי. זה קורה לא מעט כשהתמונות יושבות על דומיין נפרד או על שירות אחסון חיצוני עם חוקי הגנה משלו, שאף אחד לא נגע בהם מאז שהוקמו.
אפשר להפנות מודעה ב-ChatGPT לחנות אפליקציות או לאזור אישי?
לא. לפי התיעוד של OpenAI, קישורי חנות אפליקציות, דיפ לינקים ויעדים שדורשים התחברות אינם מתאימים כדף נחיתה. ההיגיון זהה להיגיון של החסימה: מה שהזחלן לא יכול לפתוח ולקרוא הוא גם מה שהמערכת לא יכולה לאמת מול המדיניות. אם המוצר חי מאחורי התחברות, בונים עמוד ציבורי שמסביר אותו ומפנים אליו, וההתחברות מתרחשת אחרי הקליק.
קיבלתי 429 בזמן העלאת מודעות. מה זה אומר?
429 הוא קוד שאומר שהשרת קיבל יותר מדי בקשות בזמן קצר וביקש להאט. לפי התיעוד הוא יכול להופיע כשמעלים הרבה מודעות במרוכז, כי כל מודעה שולחת את הזחלן אל דף הנחיתה שלה. הפתרון פשוט: להעלות באצוות קטנות במקום הכול בבת אחת. זה לא סימן שהאתר חסום, וזה גם לא דורש שינוי בהגדרות השרת.
ודאו שדף הנחיתה שלכם לא חוסם מודעות
לשיחת ייעוץ ללא עלות השאירו פרטים
