---
name: private-home-case-study
description: "העלאת מאמר (מקרה בוחן) על בית פרטי שהסתיימה בנייתו לאתר i-feel.co.il — מהתמונות הגולמיות ועד דף חי ומאומת: עיבוד ואנונימיזציה של תמונות (טשטוש פנים ולוחיות רישוי, חיתוך רצפות עם פסולת בנייה), דף Astro מלא עם סכמה, שילוב בגלריית הבתים הפרטיים, sitemap, build, deploy כולל קובצי _astro, אימות באוויר וטיוטת מייל לקרן. השתמש בסקיל בכל פעם שאורן: כותב 'תעלה פרויקט של [מקום]', 'סיימנו בית ב...', 'תוסיף את הבית לאתר', 'מאמר על הפרויקט', 'מקרה בוחן חדש', 'תצרף לגלריית הבתים הפרטיים'; מעלה סדרת תמונות של בית/וילה שהושלמו; או מזכיר פרויקט מגורים פרטי שצריך להופיע באתר. גם בלי המילה 'סקיל' — כל בית פרטי גמור שצריך דף באתר עובר דרך הסקיל הזה. (לתמונות בודדות לגלריה בלי מאמר — השתמש ב-gallery-add במקום.)"
---

# מאמר מקרה-בוחן לבית פרטי — מהתמונות ועד דף חי

מטרה: קלט = סדרת תמונות מפרויקט שהסתיים + פרטים מאורן (מיקום, מערכות, סיפורים).
פלט = דף `/projects/smart-villa-[slug]/` חי ומאומת + כרטיס בגלריית הבתים הפרטיים +
טיוטת מייל לקרן להפצה. **בלי להמציא עובדות, בלי לחשוף פרטיות, בלי לשבור את האתר.**

הריפו הקנוני במחשב הזה: `C:\Users\USER\i-feel-site`. **קודם `git pull origin main`** —
סשנים אחרים דוחפים לריפו במקביל. דף לדוגמה שמשמש תבנית:
`src/pages/projects/smart-villa-ramot-hashavim.astro` (או `smart-villa-caesarea.astro`).

## שלב 0 — איסוף עובדות מאורן

מה שאורן לא סיפק — שואלים או משמיטים. לא ממציאים מיקום, מותגים, כמויות או סיפורים.

- **מיקום** (יישוב) ו-slug באנגלית: `smart-villa-ramot-hashavim`.
- **מערכות ומותגים** שאורן ציין (Control4 / DALI / TRIAC / SpeakerCraft / Aruba וכו').
  מותג שנראה בבירור בתמונה (קופסה, לוגו) מותר להזכיר; מותג מנוחש — לא.
- **סיפורים מהשטח** — אלה הלב של המאמר (למשל: ארון רדוד ששוטח, סאב שקוע בדשא,
  מצלמות שמזהות ילדים ליד הבריכה). כל סיפור כזה הופך לסקשן "האתגר" או לבולט ברשימה.
- **שמות לקוחות לעולם לא מתפרסמים** — גם אם אורן מזכיר אותם בהודעה ("הפרויקט של X").
  זהות הלקוח נשארת מחוץ לאתר; כותבים "פרויקט יוקרתי דומה" וכד'.
- הוראות עריכה פר-תמונה ("תטשטש פנים בתמונה 3") — לרשום ולבצע אחת-אחת.

## שלב 1 — איתור קבצי התמונות (זהירות: מלכודת!)

התמונות בדרך-כלל ב-`Downloads` עם שמות עבריים ממוספרים: `רמות השבים1 (3).jpeg`.
המספור של אורן ("תמונה 5") מתייחס למספר שבסוגריים.

**לקח מתקלה אמיתית (07/2026):** בחירת קובץ עם wildcard כמו `-Filter "*1 (1).jpeg"`
תפסה קובץ אחר לגמרי ("WhatsApp Image ... (1).jpeg" — צילום מסך של מייל פיננסי!)
שכמעט עלה לאתר. לכן:

- בוחרים קבצים **רק** בנתיב מלא עם `-LiteralPath`, או לפי גודל בייטים מדויק
  (`Where-Object { $_.Length -eq <size> }`) אחרי שרשמת את הגדלים מ-`Get-ChildItem`.
- **כל תמונה מעובדת חייבת אימות חזותי** עם Read לפני build. בלי יוצא מהכלל —
  זה מה שתפס את התקלה.

## שלב 2 — אנונימיזציה וניקוי (לפני הכול)

עוברים על כל תמונה ובודקים:

| מה מחפשים | פעולה |
|-----------|-------|
| פנים של אנשים — כולל **תמונות/פורטרטים תלויים על קיר** | פיקסול אזור |
| לוחיות רישוי של רכבים | פיקסול אזור |
| מסמכים/מסכים עם מידע קריא | פיקסול או פסילת התמונה |
| פסולת בנייה, ארגזים, כבלים על רצפה | חיתוך (crop) — לא טשטוש, זה נראה רע |
| תמונה שנראית מבית אחר (סגנון אדריכלי שונה) | לא מעלים; מדווחים לאורן |

כלי העבודה: `scripts/process-images.ps1` שבתיקיית הסקיל — פונקציות `Pixelate`,
`CropBmp`, `SaveResized` על ‎.NET System.Drawing (אין תלות ב-ImageMagick).
קואורדינטות מוצאים ע"י Read של התמונה (הפלט מציין את יחס התצוגה→מקור).

**הערת PowerShell:** סקריפט ‎.ps1 שמכיל עברית חייב UTF-8 עם BOM, אחרת powershell.exe
נשבר על ה-parsing. עדיף לכתוב סקריפטים בלי מחרוזות עבריות בכלל (בחירה לפי גודל קובץ).

## שלב 3 — אופטימיזציה ושמות

- יעד: JPG, רוחב עד 1600px, איכות ~82, עד ~500KB לקובץ.
- שמות: אנגלית, kebab-case, תיאורי — `ramot-hashavim-pool.jpg`, לא `IMG (6).jpeg`.
- תיקיית יעד: `public/projects/smart-villa-[slug]/`.

## שלב 4 — דף ה-Astro

העתק את המבנה מ-`src/pages/projects/smart-villa-ramot-hashavim.astro` והתאם:

- **meta + jsonLd** — גרף מלא: LocalBusiness (‏i-feel, טלפון `+972-3-508-9553`),
  BreadcrumbList, CreativeWork, Article, FAQPage. ה-canonical וה-og:image לפי הדף החדש.
- **הירו** — התמונה החזקה ביותר (חזית/בריכה), כותרת H1 עם המיקום.
- **כרטיסי נתונים** — סוג נכס / מיקום / פלטפורמה / מותג בולט.
- **סקשנים**: מה i-feel תכננה וביצעה → האתגר (הסיפור מהשטח!) → המערכות שהותקנו
  (רשימת בולטים) → גלריית תמונות עם `<figure>`+`<figcaption>` בעברית → עבודת
  האינטגרציה → התוצאה ללקוח → FAQ (4-5 שאלות) → CTA עם `03-508-9553`.
- alt לכל תמונה: עברית, תיאורי ואמיתי.
- קישורים פנימיים לדפי-אב: `/smart-home/`, `/projects/private-homes/`,
  `/brands-and-technologies/`, `/service-and-maintenance/`.

## שלב 5 — שילוב באתר (הדף לא חי לבד)

1. **גלריית הבתים הפרטיים** (`public/projects/private-homes/index.html` — HTML סטטי):
   כרטיס מוביל עם תמונה, תיאור קצר וקישור לדף החדש. לעדכן גם את סכמת ה-ItemList
   (רשומה חדשה + `numberOfItems`) — מספרים מפורסמים חייבים להישאר אמת.
2. **sitemap** — `public/sitemap.xml` הוא ידני! להוסיף `<url>` לדף החדש. בלעדיו
   גוגל לא מגלה את הדף.
3. אופציונלי: שורת קישור מדפים רלוונטיים נוספים (כמו שנעשה לקיסריה
   ב-`public/structure-control/projects/index.html`).

## שלב 6 — Build + Deploy (הלקח הקריטי)

```powershell
cd C:\Users\USER\i-feel-site
npm run build
```

Commit + push (זהות git: `Oren Levy` / `oren@i-feel.co.il`; ייתכן צורך ב-pull --rebase).
ההעלאה עצמה לפי הצ'קליסט של **/deploy-ifeel** (FTP כירורגי, בלי מחיקות). מה שמעלים:

- `dist/projects/smart-villa-[slug]/index.html`
- כל התמונות `dist/projects/smart-villa-[slug]/*.jpg`
- `dist/projects/private-homes/index.html` (הגלריה שעודכנה)
- `dist/sitemap.xml`
- **קובצי `dist/_astro/*.css` חדשים!** — לקח מתקלה אמיתית (07/2026): דף חדש גורם
  ל-build לייצר קובצי CSS עם hash חדש. הדף הועלה בלי ה-CSS, נטען עירום מעיצוב,
  ואורן דיווח "הדף לא עולה". לפני סיום — משווים אילו `/_astro/` הדף החי מפנה אליהם
  ומוודאים שכולם מחזירים 200; מה שחסר מעלים.

## שלב 7 — אימות באוויר

`curl.exe` עם `--ssl-no-revoke` (במחשב הזה schannel נכשל בלעדיו):

1. הדף החדש: 200 + מחרוזת ייחודית מהתוכן (כותרת ה-H1).
2. כל נכסי `/_astro/` שהדף מפנה אליהם: 200.
3. 2-3 תמונות מהדף: 200.
4. הגלריה המעודכנת: 200 + הכרטיס החדש מופיע.
5. `sitemap.xml` באוויר כולל את ה-URL החדש.

## שלב 8 — סגירה

1. `git tag -f live HEAD` (נקודת הייחוס לדיפלוי הבא).
2. תזכורת לאורן: **GSC → URL Inspection → Request Indexing** לדף החדש.
3. **טיוטת מייל לקרן** (kerenelboher@gmail.com, עותק לאורן) דרך Gmail create_draft:
   קישור למאמר + תקציר + הערה שהתמונות מתאימות לרשתות ולניוזלטר. טיוטה בלבד —
   הקונקטור לא שולח, ואורן לוחץ שלח.
4. להזכיר: התמונות הן חומר גלם לפוסטים ברשתות (social-media-poster).

## אל-תעשה (סיכום)

- לא לבחור קבצי תמונות עם wildcard — נתיב מלא או גודל מדויק בלבד.
- לא להעלות תמונה מעובדת בלי אימות חזותי ב-Read.
- לא לפרסם שמות לקוחות, פנים (גם בפורטרטים על קירות!) או לוחיות רישוי.
- לא להמציא מותגים/כמויות/סיפורים שאורן לא סיפק.
- לא לסיים deploy בלי לוודא שכל נכסי `/_astro/` של הדף מחזירים 200.
- לא לשכוח sitemap — דף בלי sitemap הוא דף שגוגל לא רואה.
