דילוג לתוכן הראשי
Quality & tools

DataForSEO

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

#dfs-what

מה זה נותן

המספרמאיפההפקודההמחיר (10.2026)
כמה מחפשים מילה בחודשנתוני Google Ads (Keyword Planner), ישראל, עבריתnpm run kwכ-$0.09 לבקשה, עד 1,000 מילים
אילו צירופים מחפשים סביב מילהאותו מקור: מאות ניסוחים קרובים, כל אחד עם הנפח שלוnpm run kw -- --ideasכ-$0.07 לבקשה, עד 20 מילות זרע
באיזה מקום אתר עומד על מילהבדיקה ישירה בגוגל ישראל, תוצאה אחרי תוצאהnpm run serpכ-$0.006 למילה עד מקום 100 בתור; פי 3 מיידי

$50 טעינה מינימלית, והיתרה ב-app.dataforseo.com או npm run kw -- --balance. אתר של לקוח, 300 מילים: הרעיונות, הנפח ובדיקת מקום חודשית, כ-$2 בחודש.

#dfs-client

אתר ללקוח, שלב אחרי שלב

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

  1. 01

    מילות זרע: מה הלקוחות שלו מקלידים

    10-20 מילים שהלקוחות של הלקוח מחפשים, לא "בניית אתר לעורך דין" (ככה מחפשים אותנו, לא אותו). אצל עורך דין לדיני עבודה: "עורך דין דיני עבודה", "פיצויי פיטורים", "שימוע לפני פיטורים", "הלנת שכר", "זכויות בהריון". המקור הכי טוב הוא מה ששואלים אותו בטלפון. כל תחום עיסוק שלו הוא זרע.

  2. 02

    הרעיונות: מה באמת מחפשים

    npm run kw -- --ideas "עורך דין דיני עבודה" "פיצויי פיטורים" … --limit 500 --json > rank/lawyer-ideas.json. חוזרים מאות ניסוחים עם נפח. מוחקים מה שלא שלו: עיר אחרת, "חינם", "טופס", שם של מתחרה, מה שמחפש עובד ולא לקוח. מה שנשאר הוא השאלות שהאתר צריך לענות עליהן.

    כ-$0.07 לכל 20 זרעים
  3. 03

    העץ: כל קבוצה דף

    קובץ rank/lawyer-keywords.txt במבנה של rank/volume-keywords.txt: שורת # שם הדף (/הכתובת) ומתחתיה המילים שלו. אבא = תחום (דיני עבודה), בן = נושא (פיטורים), נכד = שאלה (פיצויי פיטורים: מי זכאי). הכללים: כל מילה בדף אחד בלבד; ניסוחים קרובים באותה קבוצה (הם מקבלים ממילא אותו מספר); שאלה עם פחות מ-10 חיפושים היא עדיין נכד אם באמת שואלים אותה; ולא ממציאים מילים כדי למלא דף.

  4. 04

    נפח לפי דף: מה בונים קודם

    npm run kw -- --file rank/lawyer-keywords.txt נותן את הנפח לכל מילה והסכום לכל דף, ונשמר ב-rank/volume-lawyer-<date>.json. סדר הבנייה הוא לפי המילה החזקה של כל דף, לא לפי הסכום (ניסוחים קרובים מקבלים אותו מספר, אז סכום סופר את אותם אנשים פעמיים). דף שכל המילים שלו מתחת ל-10 מחכה, אלא אם הלקוח ביקש אותו. הקובץ הזה הוא מפת האתר.

    כ-$0.09, בקשה אחת
  5. 05

    בונים מהעץ

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

  6. 06

    אחרי העלייה לאוויר: המקום, פעם בחודש

    npm run serp -- --site lawyer.co.il --file rank/lawyer-keywords.txt --depth 100 בודק כל מילה בגוגל ושומר ב-rank/serp-lawyer-<date>.json. הדוח של הסטודיו (מיפוי מילים) נבנה היום רק מהרשימה של הסטודיו; דוח ללקוח קוראים מקובץ ה-serp שלו, עד ש-seo-map יקבל --file. מילה שעלתה לעמוד הראשון יוצאת מהתור; מילה חדשה נכנסת רק אחרי שהלקוח אישר.

    כ-$1.80 ל-300 מילים עד מקום 100, בתור

#dfs-commands

הפקודות

npm run kw -- "מילה" "מילה"הנפח של המילים האלה, מודפס.
npm run kw -- --file rank/<name>-keywords.txtרשימה לפי קבוצות; נשמר ל-rank/volume-<name>-<date>.json. הרשימה של הסטודיו (rank/volume-keywords.txt) נשמרת בלי שם, volume-<date>.json: זה מה ש-seo-map קורא.
npm run kw:treeהעץ של השירותים של הסטודיו: כותב את rank/tree-keywords.txt מ-data/branches.ts ומ-data/tree-words.ts (קבוצה לכל דף, אז הרשימה תמיד תואמת את הדפים) ומודד אותה ל-rank/volume-tree-<date>.json. ביד, כשדף או מילים משתנים. הנפח של כל דף: /docs/the-flood/tree.
npm run kw -- --ideas "זרע" … [--limit N] [--json]הצירופים שגוגל מקשר לזרעים (עד 20), לפי נפח.
npm run kw -- --balanceכמה נשאר בחשבון.
npm run serp [-- --file <list>] [--depth N]המקום של האתר על כל מילה ברשימה (ברירת המחדל: הרשימה של הסטודיו), בתור: התשובות חוזרות תוך דקות. עומק עד 200.
npm run serp -- --live …אותו דבר מיידית, 10 מילים בבת אחת, פי 3 במחיר. להריץ ברקע: ריצה שנהרגת באמצע לא שומרת כלום והכסף הלך.
npm run serp -- --site <domain> …אתר של לקוח במקום הסטודיו. הקובץ נשמר בשם הרשימה (serp-<name>-<date>.json), אז הוא לא נכנס לחודש של הסטודיו.
npm run serp -- --collectלאסוף מה שריצה קודמת השאירה בתור (rank/serp-pending.json).
npm run seo-map [-- --month yyyy-mm]מחבר נפח ומקום לדוח החודש של הסטודיו, rank/map-<yyyy-mm>.json, שמוצג ב-/beta/seo-map. חינם.

#dfs-files

הקבצים

rank/volume-keywords.txtהרשימה של הסטודיו: דף קיים = קבוצה, עד 5 מילים מהכותרת שלו.
rank/volume-keywords-ideas.txtרעיונות לדפים חדשים, מחכים לאישור.
rank/volume-<date>.json · rank/serp-<date>.jsonהנפח והמקומות של הסטודיו, לפי תאריך. ריצה שנייה באותו יום מתמזגת.
rank/map-<yyyy-mm>.jsonהחודש: הנפח האחרון עם הבדיקה האחרונה של כל מילה.
rank/ideas-<date>.json · rank/volume-fields-<date>.jsonהצירופים סביב מילות זרע; התחומים שנמדדו לדמואים.
rank/volume-<name>-<date>.json · rank/serp-<name>-<date>.jsonשל לקוח, לפי שם הרשימה שלו.
data/tree-words.ts · rank/tree-keywords.txt · rank/volume-tree-<date>.jsonהעץ של השירותים של הסטודיו, לא של לקוח: המילים של כל דף, הרשימה שנכתבת מהן (לא עורכים ביד), והמדידה שהטאב "העץ" וה-badge קוראים (הקובץ האחרון).
.env.localDATAFORSEO_LOGIN ו-DATAFORSEO_PASSWORD (סיסמת ה-API מהדשבורד, לא של האתר). לא בגיט, לא בצ׳אט.

#dfs-traps

מלכודות

  • עברית: ב-Keywords Data היא language_code iw, ב-SERP היא he. language_name "Hebrew" נדחה (40501).
  • "-" בנפח = מתחת לסף של גוגל (כ-10 בחודש), לא אפס. ניסוחים קרובים מקבלים אותו מספר, אז דף נמדד לפי הקבוצה שלו ולא לפי הסכום.
  • עומק הבדיקה עד 200. גוגל עצמו מציג 24-199 תוצאות: "לא מופיע" = לא בין מה שגוגל הציג.
  • ריצה חיה (--live) ברקע תמיד: ריצה שנהרגה בטיים-אאוט לא שומרת כלום והכסף הלך.
  • חשבון חדש צריך אימות מייל וטלפון (40104). 40200 Payment Required קרה פעם אחת עם כסף בחשבון; ניסיון חוזר עבד.
  • ב-Git Bash ארגומנט שמתחיל ב-/ הופך לנתיב של Windows: בלי הסלאש הראשון.
  • עד 1,000 מילים בבקשת נפח אחת; 100 בבקשת תור אחת של SERP.

#dfs-not

מה לא עושים

  • מקום בגוגל אף פעם לא מ-Search Console: הממוצע שלו מסתיר חיפושים נדירים ויודע רק על מילה שהאתר כבר הופיע עליה. Search Console רק כדי לגלות מה חיפשו.
  • לא מבזבזים על מילים מומצאות או לא שלנו ("אתר מגנטו", מילים של סוכנות קידום). מילה חדשה נבדקת רק אחרי אישור.
  • דף לא נבנה בגלל מספר לבד: גם 30 בחודש הם דף רק כשיש מי שיענה, והתוכן משלו.