robots.txt: שליטה במה שגוגל סורק באתר

robots.txt מכוון בוטים לאן ללכת ולאן לא. בלעדיו או עם הגדרה שגויה, מבזבזים crawl budget וחושפים אזורים פנימיים.

robots.txt הוא קובץ טקסט קטן בשורש האתר שמורה לבוטים אילו נתיבים לסרוק ואילו לדלג. אתר ללא robots.txt מקבל ברירת מחדל "סרוק הכל" - בוטים נכנסים גם ל-/wp-admin/, /wp-includes/, ולפרמטרי חיפוש פנימיים.

למה זה משנה

גוגל מקצה לכל אתר crawl budget מוגבל - מספר URLs שהוא יסרוק בכל ביקור. בלי robots.txt טוב, הוא מבזבז את התקציב הזה על דפי אדמין, שאילתות חיפוש פנימי (/?s=...), ועמודי attachment של מדיה - דפים שלא צריכים להיות בחיפוש בכלל. בעיקר באתרים גדולים, זה מאט את קצב גילוי תוכן חדש בימים-שבועות.

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

השפעה עקיפה על האבטחה: בוטים זדוניים סורקים את /wp-admin/ ו-/xmlrpc.php כדי למצוא חולשות. robots.txt לא חוסם אותם (הם מתעלמים מ-robots.txt), אבל הוא מאט בוטים לגיטימיים שלא צריכים לסרוק שם, ומפנה את משאבי השרת לתוכן.

איך לזהות

בדיקה מהירה: גלוש אל https://YOUR-SITE/robots.txt - אמור להחזיר תוכן. אם החזיר ריק, 404, או רק User-agent: *\nDisallow:, יש בעיה.

בדיקה משלימה: ב-Google Search Console > Settings > robots.txt (החדש) - מציג את התוכן שגוגל רואה ואת השגיאות. אם יש שגיאות תחביר, הוא מודיע.

בדיקה שלישית: ב-Coverage report של Search Console חפש את הסעיף "Crawled - currently not indexed" - אם יש שם הרבה URLs של חיפוש פנימי או wp-admin, robots.txt לא חוסם נכון.

איך לתקן

וורדפרס 5.5+ מייצר robots.txt וירטואלי אוטומטית. הוא תקין למינימום, אבל לרוב צריך הרחבה. שתי גישות:

גישה 1 - תוסף SEO: Yoast / Rank Math / RankPlus כולם מאפשרים עריכה של robots.txt דרך הממשק. ב-Yoast: SEO > Tools > File editor > robots.txt. ב-Rank Math: General Settings > Edit robots.txt.

גישה 2 - קובץ פיזי: צור קובץ בשם robots.txt בשורש האתר (public_html/). זה מחליף את הוירטואלי. דוגמה לקובץ תקין:

User-agent: *
Allow: /
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Disallow: /wp-content/plugins/
Disallow: /readme.html
Disallow: /wp-login.php

Sitemap: https://example.com/sitemap.xml

הוסף שורת Sitemap: שמצביעה על sitemap.xml האמיתי - גוגל קורא אותה אוטומטית.

אחרי שינוי, בדוק את הקובץ ב-Google Search Console > Settings > robots.txt - הוא מציג את הסטטוס "Fetched" עם זמן הסריקה האחרון.

טעויות נפוצות

הטעות הראשונה והנפוצה ביותר: שימוש ב-robots.txt כדי "להסתיר" דפים רגישים. הקובץ עצמו ציבורי וכל אחד יכול לקרוא אותו - מה שאומר שהאקרים יראו בדיוק את הנתיבים שניסית להסתיר. לחסימה אמיתית השתמש ב-meta robots noindex או הגנת סיסמה (.htaccess Basic Auth).

הטעות השנייה: Disallow: /wp-includes/. תיקייה זו מכילה JavaScript ו-CSS שגוגל צריך כדי לרנדר את הדף נכון. חסימתה פוגעת ב-rendering ובתוצאה ב-SEO. אל תחסום אותה.

הטעות השלישית: Disallow: / בטעות. שורה כזו חוסמת את כל האתר. ראיתי אתרים בייצור עם Disallow: / שיורש מ-staging - כל ה-SEO נעלם בלילה. תמיד בדוק אחרי דיפלוי שאין שורה כזו.

הטעות הרביעית: התעלמות מ-noindex על דפי תוצאות חיפוש פנימי. Disallow: /?s= ב-robots.txt טוב, אבל אם דף החיפוש הפנימי כבר הופיע באינדקס - הוא לא יוסר. תוסיף meta robots noindex כדי להסיר.

הטעות החמישית: שכחה לעדכן אחרי שינוי דומיין. אם האתר עבר מ-example.com ל-example.co.il, ודא ש-Sitemap: מצביע לדומיין החדש.

בדיקה לאחר תיקון

גלוש שוב ל-/robots.txt וודא שהתוכן נכון. ב-Search Console > Settings > robots.txt - וודא שהסטטוס "Fetched" ושאין שגיאות. השתמש ב-URL Inspection על דף שצריך להיסרק (כמו דף הבית) - וודא שאין הודעת "Blocked by robots.txt". אחרי שבועיים, עקוב אחרי Coverage report - מספר URLs בקטגוריה "Excluded by robots.txt" צריך להתאים למה שתכננת לחסום.

טיפ: אל תחסום ב-robots.txt דפים שיש להם noindex. אם גוגל לא יכול לסרוק את הדף, הוא לא יראה את ה-noindex - והדף יכול להישאר בחיפוש לתקופה ארוכה. השאר אותם נסרקים, אז הם יזוהו כ-noindex ויוסרו.