arrow_forwardאוטומציה / מקרה בוחן

בניתי מכונה שמפרסמת מאמרים לוורדפרס — ולמה הפסקתי לתת לה לרוץ לבד

הזרימה עובדת: רעיון בגיליון נכנס, ודף מפורסם יוצא — עם כותרת ותמונה ראשית. בניתי אותה, היא עשתה בדיוק את מה שביקשתי, ואז למדתי בדרך הקשה למה זה לא מספיק. זה התיעוד של שניהם.

n8n WordPress REST API Google Sheets DALL-E

מה הזרימה עושה

נקודת ההתחלה היא גיליון Google Sheets שמשמש כתור: כל שורה היא רעיון לתוכן עם הפרומפט שלו. הזרימה לוקחת שורה, מייצרת ממנה מאמר, מייצרת כותרת, יוצרת דף בוורדפרס, מייצרת תמונה, מעלה אותה לספריית המדיה, משייכת אותה כתמונה ראשית — ולבסוף מסמנת בגיליון שהרעיון נוצל.

שבעה שלבים, ובסוף יש דף חי. בלי לגעת בוורדפרס, בלי לפתוח עורך, בלי לחפש תמונה.

הזרימה

Google Sheets  (idea queue)
      |
      v
  Set prompt
      |
      v
  OpenAI  --> article body
      |
      v
  OpenAI  --> title   (written FROM the finished article)
      |
      v
  WordPress  --> create page        => returns page id
      |
      v
  DALL-E  --> cover image
      |
      v
  POST /wp-json/wp/v2/media         => returns media id
      |
      v
  POST /wp-json/wp/v2/pages/<id>    featured_media = media id
      |
      v
  Google Sheets  --> mark row as done

שלוש החלטות שמשנות את התוצאה

גיליון כתור, לא בסיס נתוניםexpand_more

הפיתוי הוא להקים טבלה במסד נתונים. אבל תור התוכן הוא הדבר היחיד בזרימה שאדם צריך לערוך כל הזמן — להוסיף רעיון, לשנות ניסוח, למחוק שורה. גיליון עושה את זה מהטלפון, בלי ממשק שצריך לבנות. כשהמשתמש היחיד הוא אתה, כלי שכבר קיים מנצח כלי נכון יותר.

הכותרת נכתבת אחרי המאמר, לא לפניוexpand_more

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

הדף נוצר לפני התמונהexpand_more

זה נראה הפוך אבל זו אילוץ של ה-API: כדי לשייך תמונה ראשית צריך מזהה דף, וכדי לקבל מזהה דף צריך שהדף כבר יתקיים. לכן הדף נוצר קודם, ורק אז התמונה מיוצרת, מועלית למדיה ומשויכת. הצד השני של המטבע: אם שלב התמונה נכשל, נשאר דף חי בלי תמונה — ולכן שווה שהדף ייווצר כטיוטה.

שלוש מלכודות שתפסו אותי

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

1. שני אתרים באותה זרימה

צומת העלאת התמונה הצביע לדומיין אחד וצומת השיוך לדומיין אחר. התמונה נחתה בספריית המדיה של אתר אחד, והדף חיכה לה באתר אחר. קל מאוד לפספס כשמשכפלים זרימה בין פרויקטים.

2. featured_media שמקבל מזהה דף במקום מזהה מדיה

שני הערכים נראים זהים — מספר. אבל featured_media מצפה למזהה של הקובץ שהועלה, לא של הדף. השדה מתמלא, ה-API מחזיר 200, ופשוט אין תמונה. שגיאה שקטה, וזו הגרועה מכולן.

3. לוכסן כפול בכתובת

example.com//wp-json/. חלק מהשרתים סלחניים, חלק לא. שווה לנרמל את כתובת הבסיס במקום אחד ולהשתמש בה בכל הצמתים.

החלק שלא נעים לכתוב

הזרימה הזו פותרת בעיה טכנית במלואה. מה שהיא לא פותרת — ולא יכולה — היא השאלה האם כדאי לפרסם את מה שהיא מייצרת.

Google מתייחסת במפורש לייצור תוכן בקנה מידה. הניסוח שלה הוא "שימוש בכלי AI ליצירת דפים רבים ללא הוספת ערך למשתמשים". שימו לב שהקריטריון אינו "נוצר ב-AI" אלא "ללא הוספת ערך". זרימה כמו זו לא יודעת להבחין בין השניים. היא תפרסם מאמר מצוין ומאמר חסר ערך באותה יעילות בדיוק.

זה לא נשאר תיאורטי אצלי. אתר אחר שלי נדחה מ-AdSense בדיוק על העילה הזו, וכשירדתי לפרטים מצאתי דפים שנוצרו אוטומטית ופשוט נחתכו באמצע — HTML שלא נסגר, טקסט שנעצר באמצע משפט. המכונה דיווחה על הצלחה. אף אחד לא קרא את התוצר.

המסקנה שלי: אוטומציה של פרסום היא בסדר. אוטומציה של ההחלטה לפרסם היא לא.

איך אני מריץ אותה היום

  • טיוטה, לא פרסום. הדף נוצר כ-draft. הפרסום נשאר פעולה אנושית, וזה השער היחיד שבאמת עובד.
  • בדיקת שלמות לפני שמירה. אם התוכן לא נגמר כמו שצריך — הזרימה נכשלת במקום לפרסם. פלט חתוך גרוע מאין פלט.
  • הפעלה ידנית, לא מתוזמנת. טריגר ידני מכריח נוכחות. תזמון מייצר נפח, ונפח הוא בדיוק מה שמסומן.
  • הרעיונות בגיליון הם שלי. המודל כותב; הוא לא בוחר על מה. ברגע שגם הבחירה אוטומטית — יש מפעל תוכן.

שאלות נפוצות

האם פרסום אוטומטי יפגע בדירוג שלי בגוגל?

לא בגלל האוטומציה עצמה. המדיניות מכוונת לייצור דפים רבים ללא ערך מוסף. דף אחד טוב שנוצר בעזרת AI ונערך — בסדר. חמישים דפים גנריים בשבוע — בעיה, בלי קשר לאיך נוצרו.

למה WordPress REST API ולא צומת WordPress מובנה?

הצומת המובנה מצוין ליצירת הדף. העלאת מדיה ושיוך תמונה ראשית דורשים כותרות ושדות שהוא לא חושף, ולכן שני השלבים האלה נעשים בקריאות HTTP ישירות.

מה קורה אם הזרימה נכשלת באמצע?

תלוי איפה. אחרי יצירת הדף כבר קיים דף — ולכן עדיף שייווצר כטיוטה. עדכון הגיליון הוא השלב האחרון בכוונה: כל עוד הוא לא רץ, השורה נשארת פתוחה וניתן להריץ אותה שוב.

אפשר להשתמש בזה בעברית?

כן, והפרומפט הוא רוב העבודה. שווה לבקש במפורש מבנה כותרות, ולוודא שהתוכן שנוצר מתאים ל-RTL. תמונות שנוצרות ב-DALL-E עם טקסט עברי כמעט תמיד יוצאות משובשות — עדיף לבקש תמונות בלי טקסט.