פלאש, פריימים, AJAX וקידום אתרים


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

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

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

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

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

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

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

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

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

  1. עמוד ראשי עם תג של שמגדיר את הפריימים
  2. .
  3. תפריט שממוקם בצד או בראש העמוד ומכיל קישורים לעמודים השונים באתר
  4. .
  5. עמודי תוכן שמתחלפים בהתאם לבחירה בתפריט
  6. .

ככה זה נראה בקוד:

index.html (עמוד ראשי)
<html>
<frameset cols = "25%, *">
   <frame src ="menu.html" name="site-menu" />
   <frame src ="main.html" name="site-body" />
</frameset>
</html>

menu.html (תפריט)
<html>
<body>
   <a href="main.html">main</a>
   <a href="page1.html">page 1</a>
   <a href="page2.html">page 2</a>
</body>
</html>

page1.html (עמוד תוכן 1)
<html>
<body>
   <h1>page 1</h1>
</body>
</html>


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

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

אז מה זה בעצם AJAX
בשלהי שנת 2005 שטף Buzz חדש את עולם האינטרנט הרווי Buzz-ים לעייפה - AJAX - Asynchronous JavaScript and XML. מדובר בעצם בטכניקת פיתוח ל-WEB, שהיתה קיימת כבר בשנת 2000, שמטרתה לאפשר עדכון תוכן בצורה דינאמית בתוך עמוד אינטרנט מבלי לטעון מחדש את העמוד.

שימוש ב-AJAX מתבסס על אובייקט בשם XMLHTTP, אשר ניתן לעשות בו שימוש בצד הלקוח על מנת לשלוח קריאת HTTP לכתובת URL ולקבל בחזרה את התוכן שהתקבל מהשרת. XMLHTPP מאפשר גם העברת מידע טקסטואלי מן הלקוח לשרת תוך שימוש ב-GET או ב-POST, כאשר בחלק מהמקרים המידע נשלח בצורת XML.

להלן שתי דוגמאות של אפליקציות מוכרות העושות שימוש ב-AJAX:

  1. Google Suggest - מאפשר לגולש להקליד התחלה של מונח ולקבל תיבת בחירה עם אפשרויות להשלמה אוטומטית של המשפט. Google Suggest עושה שימוש ב-AJAX על מנת לשלוח לשרת את התחלת המונח שהגולש הקליד, לקבל חזרה רשימה של מונחים ולהציג אותם לגולש, וכל זאת מבלי לטעון מחדש את העמוד.
  2. Google Calendar - מאפשר לגולש להזין פגישות בממשק שמזכיר בצורתו את Outlook Calendar. הפגישות המוזנות נשלחות לשרת תוך שימוש ב-AJAX, מבלי לטעון מחדש כל פעם את העמוד, דבר שמייעל בצורה ניכרת את זמן התגובה של הממשק.

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

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

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

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

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

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

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

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

במקרה שמיקום האתר בתוצאות החיפוש מהווה פקטור חשוב (במילים אחרות, ברוב המוחלט של המקרים) הרי שנעדיף לבנות את האתר תוך שימוש בטכניקות "פשוטות" יותר.

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