למה יש לי מאות עמודים ואפס תנועה

אתר עם הרבה עמודים שלא מביא אף אחד מגוגל נכשל כמעט תמיד באותה נקודה, ולא בקוד: אין בעמוד מספיק תוכן ייחודי כדי לדרג. ה-Skill הזה נותן את הרף המספרי, את הדרך למדוד אותו לפני שמתקנים, ואת הבדיקה שאף אחד לא עושה, שבה בודקים אם מה שהטקסט מבטיח באמת קיים באתר. זהו Skill ל-Claude: תיקייה עם קובץ SKILL.md, שנטענת אוטומטית כשהמשימה מתאימה לתיאור שבראש הקובץ. בניגוד לפרומפט שמדביקים בכל פעם מחדש, Skill מותקן פעם אחת וממשיך לעבוד לבד.

בניית אתרים · SEO · תוכן · גוגל · עברית

מתי הוא נכנס לפעולה

---
name: hebrew-seo
description: "Diagnose why a Hebrew content site has many pages but little search traffic, and fix it. Use when a site is not ranking, when writing or reviewing page copy and FAQ content, when adding pages to a catalog or library, or when asked to improve SEO."
---

# תוכן דליל, ולא בעיה טכנית

## למדוד לפני שמתקנים

```js
const med = (a) => [...a].sort((x, y) => x - y)[Math.floor(a.length / 2)]
console.log('חציון שאלות:', med(items.map((t) => (t.faq ?? []).length)))
console.log('חציון אורך תיאור:', med(items.map((t) => t.longDesc.length)))
console.log('עמודים דלילים:', items.filter((t) => (t.faq ?? []).length < 3).length)
```

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

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

**הרף:** ארבע שאלות נפוצות ו-350 תווים ומעלה של תיאור ייחודי.

## שאלה נפוצה שמביאה ערך

נכתבת ממה שמשתמש **באמת שואל לפני שהוא לוחץ**, ומהמגבלות האמיתיות של
המוצר. לא ממילות מפתח.

- למה השיער יוצא חתוך בהסרת רקע
- למה התאריך העברי זז ביום
- למה אי אפשר לסמן טקסט אחרי דחיסת PDF

כל אחת עונה על התנגדות אמיתית, וכל אחת מורידה גם פניות לתמיכה. שאלה שאיש
לא שאל היא מילוי מקום.

## הבדיקה שאף אחד לא עושה

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

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

לרשום את ההבטחות הקונקרטיות מתוך הקופי, ולהפוך אותן לבדיקה:

```js
const PROMISES = [['everyday', 'המרת מטבע'], ['video', 'לחתוך']]
for (const [category, term] of PROMISES) {
  const q = term.toLowerCase()
  const hit = items.some(
    (t) =>
      t.category === category &&
      [t.name, t.shortDesc, t.longDesc, ...t.keywords].some((f) =>
        f.toLowerCase().includes(q),
      ),
  )
  check(`${category}: ${term}`, hit, 'התיאור מבטיח משהו שאינו קיים')
}
```

**לאמת שהבדיקה נכשלת על מונח שאינו קיים**, ולא רק שהיא עוברת. בדיקה שלא
ראיתם נכשלת אינה בדיקה.

## שלוש כותרות, לא אחת

1. ה-H1 שהמשתמש רואה
2. `<title>` בלשונית ובתוצאת גוגל
3. ה-H1 בגרסה הסטטית, אם יש רינדור מקדים

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

## עברית

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

## שלושה דברים שעובדים, בסדר הזה

**עמוד אחד מדורג שווה יותר מהמוצר הבא.** לפני שמוסיפים פריט 117, להעמיק
את 20 המובילים.

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

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

איך מתקינים

  1. צרו תיקייה בשם hebrew-seo בתוך ‎.claude/skills/‎ בפרויקט, או בתיקיית הבית לשימוש בכל הפרויקטים.
  2. שמרו בתוכה את הקובץ בשם SKILL.md.
  3. זהו. אין צורך להפעיל כלום, והוא ייטען לבד כשהמשימה תתאים לתיאור.