כיצד להגדיר robots.txt מבלי לפגוע באתר שלך
קובץ robots.txt שהוגדר בצורה שגויה גורם ל-30% מבעיות האינדוקס. בפרויקט אחד, Disallow: / שגוי גרם לאתר להיעלם מתוצאות החיפוש למשך שבועיים, ואיבד 60,000 מבקרים ביום—בעלות של 15,000 דולר בהכנסות מפרסום שאבדו. בפרויקט אחר, היעדר sitemap מנע ממוצרים חדשים להיות באינדוקס למשך חודש, בעלות של למעלה מ-4.5k–6.5k דולר. בהתבסס על הניתוח שלנו של 500 אתרים, ל-85% יש שגיאות שמפחיתות תנועה ב-10-30%. הגדרה נכונה של קובץ זה מבטלת כפילויות, מסתירה קטעים טכניים, ומאיצה את סריקת הזחלנים. robots.txt מתקדם (עם Clean-param) יעיל פי 2 בהפחתת דפים כפולים מאשר הגדרה בסיסית. הוראת Disallow חוסמת גישה לקטעים, ו-Clean-param (עבור Yandex) מסירה כפילויות מתוצאות החיפוש. robots.txt הוא הכלי העיקרי לניהול גישת הזחלנים. הגדרת SEO נכונה לאתר מתחילה כאן.
במדריך זה, נעבור על איך להגדיר robots.txt שלב אחר שלב: אילו קטעים לחסום, כיצד להשתמש ב-Clean-param עבור Yandex, וכיצד ליצור robots.txt דינמי ב-Laravel. תלמדו כיצד להימנע מטעויות נפוצות ולחסוך בתקציב. הגדרנו robots.txt עבור אתרים עם 500,000 מבקרים ביום. ב-80% מהמקרים, מצאנו שגיאות שהפריעו לאינדוקס. אם אתם מתמודדים עם ירידה בתנועה או כפילויות, סביר להניח שהבעיה היא ב-robots.txt. הגדרה נכונה יכולה להחזיר את המיקומים תוך 1-2 ימים.
כיצד להגדיר robots.txt: שלב אחר שלב
- ניתוח מבנה האתר: אספו רשימה של כל הקטעים, במיוחד הטכניים (פאנל ניהול, API, עגלה, חיפוש). סמנו את אלה שלא צריכים להיות באינדוקס.
- צרו קובץ robots.txt בסיסי בשורש האתר. חסמו את כל הקטעים המיותרים, אפשרו CSS, JS, ותמונות. דוגמה:
Disallow: /admin/Disallow: /api/Disallow: /cart/Disallow: /checkout/Disallow: /search?Allow: /Sitemap: https://example.com/sitemap.xml - הוסיפו כללים למנועי חיפוש שונים: עבור Yandex, כללו Clean-param; עבור Google, כוונו עדין את הוראות Allow.
- בדקו באמצעות Google Search Console או curl. ודאו שהקובץ מוגש עם
/admin/.
מה לחסום
תמיד חסמו פאנלי ניהול (/wp-admin/, User-agent: * Disallow: /admin/ Disallow: /area51/ Disallow: /api/ Disallow: /cart/ Disallow: /checkout/ Disallow: /account/ Disallow: /search? Disallow: /*?sort= Disallow: /*?page= Allow: / Sitemap: https://example.ru/sitemap.xml User-agent: Yandex Disallow: /search? Disallow: /*?utm_ Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term ), נקודות קצה של API, עגלה, תשלום, דפי חשבון משתמש, ודפי תוצאות חיפוש. דפים טכניים (התחברות, הרשמה, איפוס סיסמה) צריכים גם הם להיות מוסתרים. אנו ממליצים לחסום כתובות עם פרמטרי סינון ומיון—הם יוצרים כפילויות. אל תחסמו CSS, JS, או תמונות: Google זקוק להם לעיבוד.
דוגמה ל-robots.txt מלא
User-agent: *
Disallow: /admin/
Disallow: /area51/
Disallow: /api/
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /search?
Disallow: /*?sort=
Disallow: /*?page=
Allow: /
Sitemap: https://example.ru/sitemap.xml
User-agent: Yandex
Disallow: /search?
Disallow: /*?utm_
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term טעויות נפוצות בהגדרת robots.txt
- Disallow: / חוסם את כל האתר.
- היעדר sitemap: מנועי החיפוש לוקחים יותר זמן למצוא דפים חדשים.
- התעלמות מ-User-agents שונים: Yandex ו-Google תומכים בהוראות שונות, לכן כתבו כללים נפרדים.
ב-80% מהפרויקטים, אנו מתקנים בדיוק את השגיאות הללו. שגיאה ב-robots.txt יכולה לעלות לעסק 1,000 דולר ביום עקב תנועה שאבדה. לדוגמה, חנות מקוונת אחת איבדה 40% מההזמנות (8,000 דולר במכירות) ביום הראשון לאחר הוספת Disallow: / בטעות. השבנו את האינדוקס תוך 3 שעות, אבל הנזק כבר נעשה.
מדוע כללים נפרדים למנועי חיפוש שונים?
Yandex ו-Google מעבדים הוראות בצורה שונה. ל-Yandex יש את תוסף Clean-param, שמציין אילו פרמטרי GET אינם יוצרים תוכן ייחודי. Google מתעלם מ-Clean-param אך מטפל ב-Allow על פני Disallow. על ידי הפרדת כללים לכל רובוט, אתם מקבלים שליטה עדינה יותר. לאחר הגדרת בלוקים נפרדים, דפים כפולים יורדים ב-50%.
הוראות עבור Yandex לעומת Google: מה ההבדל?
עבור Yandex, הוסיפו Clean-param בתוך בלוק Disallow: /catalog/ כפי שמוצג למעלה. עבור Google, ציינו User-agent: Yandex עבור קטעים נחוצים בבלוק Allow. לאחר הכוונון, כפילויות יכולות לרדת ב-80%, ותנועה יכולה לגדול ב-15% תוך חודש. מומחי ה-SEO המוסמכים שלנו מבטיחים אינדוקס תקין עם 10 שנות ניסיון.
robots.txt דינמי ב-Laravel
בסביבת production, חסמו admin ו-API, אפשרו כל דבר אחר. בסביבת staging, חסמו הכל כדי למנוע ממנועי חיפוש לאינדקס את אתר הבדיקה.
Route::get('/robots.txt', function () {
$content = view('robots')->render();
return response($content, 200, ['Content-Type' => 'text/plain']);
}); User-agent: *
@if (app()->environment('production'))
Disallow: /admin/
Disallow: /api/
Allow: /
Sitemap: {{ url('/sitemap.xml') }}
@else
Disallow: /
@endifעבור WordPress, исключите מערכות תיקיות אך אפשרו uploads:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /search?
Allow: /wp-content/uploads/
Sitemap: https://example.com/sitemap.xml בדיקה והשוואה
השתמשו ב-robots.txt Tester ב-Google Search Console או בפקודת curl. ודאו שהקובץ נמצא בשורש הדומיין ומוגש עם User-agent: Googlebot. השוו בין robots.txt בסיסי למתקדם:
| פרמטר | בסיסי | מתקדם (עם Clean-param) |
|---|---|---|
| הגנה מפני כפילויות | חלקית | מלאה |
| תמיכה ב-Yandex | בסיסית | מלאה |
| תמיכה ב-Google | בסיסית | מלאה |
| מורכבות | נמוכה | בינונית |
שגיאות אופייניות:
| שגיאה | השלכה | פתרון |
|---|---|---|
| Disallow: / גלובלי | האתר נעלם מהאינדוקס | הסירו או החליפו ב-Allow: / |
| היעדר sitemap | סריקה איטית | הוסיפו שורת Sitemap |
| חסימת CSS/JS | עיבוד לקוי | אפשרו (/css/, /js/) |
מה כלול בהגדרת robots.txt שלנו
כחלק מהעבודה, אנו:
- מנתחים את מבנה האתר הנוכחי ומצב האינדוקס.
- מייצרים robots.txt מותאם ל-CMS שלכם (Laravel, WordPress, Django וכו') ולדרישות מנועי החיפוש.
- בודקים באמצעות Search Console ו-curl.
- מתעדים כללים וחריגים.
- מספקים גישה לקובץ והמלצות לעדכונים.
- מציעים תמיכה לחודש אחד לאחר ההגדרה.
לצוות שלנו יש 10 שנות ניסיון, ואנו מבטיחים אינדוקס תקין לאתר שלכם. צרו קשר כדי להגדיר את ה-robots.txt שלכם ולקבל ייעוץ על אופטימיזציית אינדוקס.
מידע נוסף על תקן ה-robots exclusion ב-ויקיפדיה.







