תגי hreflang הם הדרך של גוגל להבין שיש כמה גרסאות שפה של אותו תוכן, ואיזו גרסה להציג לאיזה משתמש לפי שפת הדפדפן והמיקום שלו. שגיאות בהגדרה גורמות לגוגל להציג את הגרסה הלא נכונה או לסמן את כל הגרסאות כ-duplicate content.
למה זה משנה
אתר רב-לשוני בלי hreflang תקין נופל לאחת משלוש בעיות. ראשית, גוגל מציג למשתמש ישראלי המחפש בעברית את הגרסה האנגלית - כי האנגלית קיבלה יותר backlinks היסטורית. שנית, גוגל רואה שלוש גרסאות של אותו דף (he, en, fr) ומסמן את כולן duplicate content - כל הגרסאות יורדות בדירוג. שלישית, ה-link equity מתפצל בין הגרסאות במקום להתאחד.
בנוסף, hreflang קריטי ל-Google Discover ולחיפוש קולי. גוגל לא ידחוף תוכן ב-Discover אם לא ברור שהוא בשפה של המשתמש. ב-Bing ו-Yandex hreflang הוא הסיגנל היחיד לגרסת שפה - בלעדיו, החיפוש בארצות זרות לא יציג את האתר כלל.
איך לזהות
פתח View Source על דף עם תרגומים, וחפש <link rel="alternate" hreflang=. אמורות להופיע שורות כמו:
<link rel="alternate" hreflang="he" href="https://example.com/he/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page" />בדוק שיש שורה לכל שפה, כולל self-reference (הגרסה הנוכחית מפנה אל עצמה), ושורה אחת עם x-default. אם חסר משהו, יש בעיה.
בדיקה משלימה: ב-Google Search Console > Legacy tools > International Targeting (אם זמין) או ב-Ahrefs Site Audit, יש דוח hreflang שמסמן שגיאות נפוצות: missing self-reference, return tag missing, מספר תווים שגוי בקוד שפה.
בדיקה שלישית: כלי בחינם https://www.aleydasolis.com/english/international-seo-tools/hreflang-tags-generator/ או https://technicalseo.com/tools/hreflang/ - מאמתים את ה-hreflang ומציגים בעיות.
איך לתקן
אם משתמש בתוסף multilingual (Polylang, WPML, TranslatePress, Weglot), hreflang אמור להיווצר אוטומטית. בדוק בהגדרות התוסף:
- Polylang > Settings > URL modifications - וודא שאופציית hreflang פעילה.
- WPML > Languages > SEO Options - הפעל "Add hreflang attributes".
- TranslatePress > SEO Pack add-on (premium) מוסיף hreflang אוטומטית.
אם בנית תרגום ידני בלי תוסף, צור פילטר ב-functions.php של התבנית או בתוסף Code Snippets שמוסיף את התגים ל-wp_head. כל גרסת שפה צריכה להפנות אל כל הגרסאות, כולל אל עצמה.
הוסף שורה אחת עם hreflang="x-default" שמצביעה על גרסת ברירת המחדל - זוהי הגרסה שגוגל יציג למשתמשים בשפות שלא מוגדרות במפורש.
טעויות נפוצות
הטעות הראשונה: קוד שפה שגוי. הסטנדרט הוא ISO 639-1 לשפה (he, en, fr) ואופציונלית תקן קודי המדינות הבינלאומי-1 alpha-2 לאזור (he-IL, en-US, en-GB). לעולם לא he_IL עם קו תחתון, ולא iw (קוד ישן לעברית), ולא jp ליפנית (זה ja).
הטעות השנייה: חוסר ב-self-reference. כל גרסה חייבת להפנות גם לעצמה. אם הגרסה האנגלית מפנה רק לעברית ולצרפתית בלי לעצמה, גוגל מתעלם מכל ה-cluster.
הטעות השלישית: hreflang שמצביע על URL שמחזיר 404 או 301. אם הוא מצביע על גרסה שלא קיימת או על גרסה שמופנה לאחרת, זה מבטל את כל ה-cluster. כל ה-URLs ב-hreflang חייבים להחזיר 200.
הטעות הרביעית: חוסר ב-return tag. אם דף A מצביע על דף B כ-hreflang, דף B חייב להצביע על A בחזרה. בדוק את שני הכיוונים.
הטעות החמישית: שילוב hreflang עם canonical שגוי. ה-canonical של כל גרסה חייב להצביע על עצמה, לא על גרסה אחרת. canonical=he ו-hreflang=en על אותו דף יוצרים סתירה.
בדיקה לאחר תיקון
הרץ את הדף ב-https://technicalseo.com/tools/hreflang/ ואמת שאין שגיאות. ב-Google Search Console > Legacy tools > International Targeting, עקוב אחרי דוח השגיאות במשך 4-6 שבועות - אמור לרדת לאפס. בדוק ב-Performance > Search Type לפי מדינה - ראה אם התנועה מהמדינות הזרות עולה.