האם סורקי AI יכולים לקרוא תוכן שמוצג על ידי JavaScript?

פורסם

תשובה קצרה

לעיתים קרובות לא. Googlebot מרנדר JavaScript בשלב מאוחר יותר, אבל רוב סורקי ה-AI לא מתעדים שהם עושים זאת, וגם Google עצמה מציינת שלא כל הבוטים יכולים להריץ JavaScript. אם הטקסט שלכם מופיע רק אחרי הרצת סקריפטים, סורק AI עלול לקבל עמוד ריק. הגישו את התוכן הראשי ב-HTML הראשוני באמצעות רינדור בצד השרת או עמודים סטטיים.

אפליקציות עמוד יחיד ופריימוורקים בצד הלקוח נמצאים בכל מקום, ובדפדפן הם נראים תקינים. סורק שקורא רק את ה-HTML שהשרת שלכם שולח רואה משהו אחר: <div id="root"></div>, כמה תגי סקריפט וטקסט מועט או בלתי קיים. לתשובות AI אין בעמוד כזה מה לצטט.

בעמוד זה
  1. למה סורקי AI מפספסים תוכן JavaScript?
  2. איך בודקים מה סורק מקבל?
  3. אילו עמודים בסיכון הגבוה ביותר?
  4. איך מתקנים תוכן שקיים רק ב-JavaScript?
  5. האם מסכי התחברות, הסכמה וחומת תשלום חוסמים גם סורקי AI?
  6. איך AISeeWhy מזהה עמודים שתלויים ב-JavaScript?

למה סורקי AI מפספסים תוכן JavaScript?

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

OpenAI, Anthropic ו-Perplexity לא קובעות בתיעוד הסורקים שלהן שהסוכנים שלהן מריצים JavaScript. Apple אומרת ש-Applebot עשוי לרנדר עמודים בדפדפן. בלי הצהרה ברורה, ההנחה הבטוחה לגבי סורקי AI היא שהם קוראים רק את ה-HTML הראשוני.

איך בודקים מה סורק מקבל?

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

curl -s -o page.html \
  -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" \
  https://example.com/page

# Is a sentence from your main text in the raw HTML?
grep -c "a sentence from your main content" page.html

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

אילו עמודים בסיכון הגבוה ביותר?

איך מתקנים תוכן שקיים רק ב-JavaScript?

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

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

הימנעו מלהגיש לסורקים עמוד שונה מזה שמשתמשים מקבלים, על סמך ה-user agent. רינדור אותו HTML לכולם פשוט יותר לתחזוקה ומונע כל ספק לגבי cloaking.

האם מסכי התחברות, הסכמה וחומת תשלום חוסמים גם סורקי AI?

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

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

איך AISeeWhy מזהה עמודים שתלויים ב-JavaScript?

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

שאלות נפוצות

האם Googlebot מרנדר JavaScript?

כן. Google סורקת את ה-HTML, מעמידה עמודים בתור לרינדור ומרנדרת אותם עם Chromium ללא ממשק כשהמשאבים מאפשרים. Google עדיין ממליצה על רינדור בצד השרת או רינדור מראש.

האם הסורקים של ChatGPT, Claude ו-Perplexity מריצים JavaScript?

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

האם רינדור דינמי לבוטים הוא רעיון טוב?

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

האם JSON-LD שנוסף על ידי JavaScript נחשב?

Google יכולה לקרוא אותו אחרי רינדור, אבל סורקים שלא מריצים סקריפטים לא יראו אותו. שימו את ה-JSON-LD ב-HTML הראשוני.

מקורות

מאמרים נוספים