WEBA

SEO טכני: רשימת הבדיקות לאתר, מ-canonical ועד JavaScript

מה בודקים באתר לפני שכותבים תוכן: כתובות, canonical, הפניות, JavaScript שגוגל לא רואה, מהירות, ומובייל. מהתיעוד של גוגל.

858 מילים4 מקורות

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

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

מנגנון הרינדור ומשאבי מחשוב

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

זה דורש כוח עיבוד. הרינדור אינו מתרחש מיד.

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

כדי לבדוק בדיוק מה גוגל רואה כשהוא מבקר בדפים שלכם, כדאי לכם להשתמש בכלי URL Inspection שנמצא בתוך Search Console. הכלי מציג את גרסת ה-HTML המרונדרת ומאפשר לזהות חסימות של סקריפטים או קובצי CSS.

רכיב טכניתקן רצוישגיאה נפוצההשפעה בגוגל
קישוריםתגית a עם hrefשימוש ב-hash fragmentsאי חילוץ כתובות
קוד שגיאההחזרת 404 בשרתעמוד ריק עם קוד 200יצירת שגיאת soft 404
הגדרת קנוניקלתגית rel=canonical ב-HTMLדריסה סותרת ב-JSהתעלמות מההנחיה
פרמטריםמפרידים מסוג = ו-&שימוש בנקודתיים וסוגרייםחוסר הבנת מבנה כתובת
אותיות בכתובתאותיות קטנות בלבדערבוב אותיות גדולותפיצול לכתובות נפרדות

קנוניזציה וטיפול בתוכן כפול

קנוניזציה היא תהליך שבו גוגל בוחר כתובת מייצגת אחת מתוך קבוצה של דפים כפולים או דומים מאוד. כפילויות נוצרות בעקבות גרסאות פרוטוקול של HTTP ו-HTTPS, גרסאות מובייל מול מחשב, או מנגנוני סינון בקטלוגים. גוגל בוחן שורת אותות כמו הפניות 301, מפות אתר ותגיות rel=canonical כדי לקבוע את הדף הראשי. הבחירה שלכם מהווה רק רמז ולא פקודה מחייבת. אם יש גרסה שמתאימה יותר למשתמש מובייל, גוגל עשוי להציג דווקא אותה.

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

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

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

סדר בדיקת עמוד

  1. אימות הרשאות סריקה ב-robots.txt
  2. בדיקת קוד סטטוס HTTP
  3. אימות תגיות קנוניקל ומטא
  4. בדיקת תקינות קישורי a
  5. אימות רינדור ב-URL Inspection

מבנה כתובות ותפריטי ניווט

גוגל מזהה קישורים אך ורק אם הם מופיעים כרכיבי a ב-HTML עם מאפיין href תקין. באפליקציות עמוד יחיד שמשתמשות בניתוב לקוח, חובה להשתמש ב-History API ולא במקטעי סולמית. קישור שמכיל סולמית אינו מאפשר לבוט לזהות ולחלץ את הכתובת החדשה בצורה אמינה. השאירו את הסולמיות לעוגנים פנימיים בלבד. אם יש קישורים שאינכם רוצים שגוגל יגלה או יסרוק, השתמשו במנגנון nofollow.

מבנה הכתובות שלכם חייב לציית לתקן IETF STD 66, וגוגל מתייחס לכתובות כרגישות לאותיות גדולות וקטנות. כתובת עם אותיות גדולות נחשבת לעמוד נפרד לחלוטין מכתובת עם אותיות קטנות. מומלץ להפריד מילים באמצעות מקפים רגילים ולא בקווים תחתונים. קווים תחתונים משמשים לעיתים קרובות בשפות תכנות לחיבור מושגים, ולכן מקף רגיל ברור יותר למנועי חיפוש. תווים שאינם בטווח ASCII, כמו אותיות בשפות מקומיות, יש לקודד באמצעות percent encoding בתוך מאפיין ה-href.

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

ניהול שגיאות ומטמון משאבים

באפליקציות צד לקוח, קריאת API שנכשלת עלולה להציג הודעת שגיאה על המסך בלי שהשרת יחזיר קוד 404 מתאים. במצב כזה נוצרת שגיאת soft 404 שפוגעת באינדוקס האתר שלכם. כדי למנוע זאת, עליכם לבצע הפניית JavaScript לכתובת שמחזירה 404 אמיתי מהשרת, למשל נתיב ייעודי כמו not-found, או להזריק לקוד תגית meta robots שכוללת הוראת noindex ברגע שמתברר שהנתונים לא חזרו מהשרת.

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

שמות קבצים ייחודיים פותרים את הבעיה. הבוט יוריד תמיד את הקוד העדכני.

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

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

מקורות

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