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
אתר ללקוח, שלב אחרי שלב
הדוגמה: עורך דין לדיני עבודה. אותו סדר לכל לקוח; מה שמשתנה הוא הזרעים.
- 01
מילות זרע: מה הלקוחות שלו מקלידים
10-20 מילים שהלקוחות של הלקוח מחפשים, לא "בניית אתר לעורך דין" (ככה מחפשים אותנו, לא אותו). אצל עורך דין לדיני עבודה: "עורך דין דיני עבודה", "פיצויי פיטורים", "שימוע לפני פיטורים", "הלנת שכר", "זכויות בהריון". המקור הכי טוב הוא מה ששואלים אותו בטלפון. כל תחום עיסוק שלו הוא זרע.
- 02
הרעיונות: מה באמת מחפשים
npm run kw -- --ideas "עורך דין דיני עבודה" "פיצויי פיטורים" … --limit 500 --json > rank/lawyer-ideas.json. חוזרים מאות ניסוחים עם נפח. מוחקים מה שלא שלו: עיר אחרת, "חינם", "טופס", שם של מתחרה, מה שמחפש עובד ולא לקוח. מה שנשאר הוא השאלות שהאתר צריך לענות עליהן.כ-$0.07 לכל 20 זרעים - 03
העץ: כל קבוצה דף
קובץ
rank/lawyer-keywords.txtבמבנה שלrank/volume-keywords.txt: שורת# שם הדף (/הכתובת)ומתחתיה המילים שלו. אבא = תחום (דיני עבודה), בן = נושא (פיטורים), נכד = שאלה (פיצויי פיטורים: מי זכאי). הכללים: כל מילה בדף אחד בלבד; ניסוחים קרובים באותה קבוצה (הם מקבלים ממילא אותו מספר); שאלה עם פחות מ-10 חיפושים היא עדיין נכד אם באמת שואלים אותה; ולא ממציאים מילים כדי למלא דף. - 04
נפח לפי דף: מה בונים קודם
npm run kw -- --file rank/lawyer-keywords.txtנותן את הנפח לכל מילה והסכום לכל דף, ונשמר ב-rank/volume-lawyer-<date>.json. סדר הבנייה הוא לפי המילה החזקה של כל דף, לא לפי הסכום (ניסוחים קרובים מקבלים אותו מספר, אז סכום סופר את אותם אנשים פעמיים). דף שכל המילים שלו מתחת ל-10 מחכה, אלא אם הלקוח ביקש אותו. הקובץ הזה הוא מפת האתר.כ-$0.09, בקשה אחת - 05
בונים מהעץ
כל דף על תבנית אחת (FLOOD collection page): הכותרת היא המילה המובילה של הקבוצה, הגוף עונה על השאלות של הבנים, וכל סקשן מופיע רק כשיש לו תוכן בשורה של הדף. דף שיש לו בנים מראה אותם לבד, אז מבוא ועומק הם אותה תבנית, ופירורי הלחם, האחים והבנים נגזרים מהעץ. תבנית אחת לצורה, לא לטקסט: לכל דף טקסט משלו, לא שם תחום מתחלף (הכללים).
- 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.local | DATAFORSEO_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 בחודש הם דף רק כשיש מי שיענה, והתוכן משלו.
