שורה תחתונה
מה השתנה
האתר המקורי היה קובץ HTML אחד במשקל 2.2MB, עם עשר תמונות מוטמעות בתוכו, בלי בסיס נתונים, בלי עמודים משפטיים ובלי הסכמה לדיוור. האתר החדש הוא אפליקציה על Cloudflare Workers עם בסיס נתונים D1, קבצים נפרדים הניתנים לשמירה במטמון, ושלושה עמודים משפטיים מלאים.
שתי החשיפות המשפטיות שנסגרו
נגישות. באתר המקורי שמונה מתוך תשעה שדות טופס היו בלי תיוג, לא היה אזור תוכן ראשי מסומן, ולא הייתה הצהרת נגישות. באתר החדש כל תשעת השדות מתויגים, יש אזור תוכן ראשי אחד, סדר כותרות תקין, סימון מיקוד גלוי וניווט מלא במקלדת, ויש הצהרת נגישות לפי ת"י 5568 ברמה AA.
דיוור בלי הסכמה. טופס ההצטרפות אסף שם וטלפון בלי תיבת הסכמה. באתר החדש ההסכמה היא שדה חובה, והיא נשמרת בבסיס הנתונים יחד עם חותמת זמן, כאסמכתה שניתנה. בקשה בלי הסכמה נדחית בצד השרת, לא רק בדפדפן.
מדידה
מה תוקן, במספרים
כל שורה נמדדה פעמיים באותה הרצה: פעם על האתר המקורי ופעם על החדש.
| מדד | לפני | אחרי | שינוי |
|---|---|---|---|
| ביצועים | |||
| משקל קובץ העמוד | 2,245 KB | 27 KB | פי 83 קטן יותר |
| נפח הורדה כולל | 1,805 KB | 982 KB | -46% |
| DOMContentLoaded | 615 ms | 128 ms | -79% |
| טעינה מלאה | 627 ms | 197 ms | -69% |
| הצגה ראשונה של תוכן | 376 ms | 156 ms | -59% |
| תמונות מוטמעות ב־base64 | 10 מתוך 10 | 0 | קבצים אמיתיים |
| תמונות בטעינה עצלה | 0 | 9 | רק ההירו נטען מיד |
| תמונות עם רוחב וגובה | 0 | 10 | אין קפיצות פריסה |
| אבטחה | |||
| כותרות אבטחה | 1 מתוך 6 | 6 מתוך 6 | מלא |
| Content-Security-Policy | חסר | קיים | בלי unsafe-inline |
| X-Frame-Options | חסר | DENY | הגנת clickjacking |
| X-Content-Type-Options | חסר | nosniff | |
| Referrer-Policy | חסר | קיים | |
| Permissions-Policy | חסר | קיים | מצלמה/מיקרופון/מיקום חסומים |
| נראות בגוגל וברשתות | |||
| תיאור עמוד | חסר | קיים | |
| כתובת קנונית | חסר | קיים | |
| תגיות שיתוף (Open Graph) | חסר | מלא | תצוגה מקדימה בוואטסאפ |
| Twitter Card | חסר | קיים | |
| נתונים מובנים (JSON-LD) | 0 | 7 ישויות | עסק + 5 מוצרים + אתר |
| robots.txt | 404 | 200 | |
| sitemap.xml | 404 | 200 | |
| favicon.ico | 404 | 200 | + apple-touch-icon |
| נגישות | |||
| שדות טופס מתויגים | 1 מתוך 9 | 11 מתוך 11 | מלא |
אזור תוכן ראשי <main> | 0 | 1 | |
| דילוגים בסדר הכותרות | 1 | 0 | סדר רציף H1 → H2 → H3 |
| קישור דילוג לתוכן | אין | יש | |
| כתובת משאב שבורה | 1 | 0 | ERR_INVALID_URL תוקן |
| משפטי | |||
| תיבת הסכמה לדיוור | אין | חובה | נשמרת עם חותמת זמן |
| מדיניות פרטיות | אין | יש | עמוד מלא |
| תקנון אתר | אין | יש | עמוד מלא |
| הצהרת נגישות | אין | יש | ת"י 5568 רמה AA |
| זיהוי עסקי בתחתית | אין | יש | שם, כתובת, ח.פ/עוסק |
| בסיס נתונים לפרטים | אין | Cloudflare D1 | הסכמה + חותמת זמן |
איך חושב הציון 18 מול 96
הציון מחולק לחמש קטגוריות: ביצועים (25 נקודות), נראות בגוגל (20), אבטחה (15), נגישות (20) ומשפטי (20). שני האתרים נוקדו באותה שיטה בדיוק, על סמך המדידות בטבלה למעלה.
האתר המקורי: ביצועים 8, נראות 1, אבטחה 2, נגישות 7, משפטי 0. סך הכל 18.
האתר החדש: ביצועים 24, נראות 20, אבטחה 15, נגישות 19, משפטי 18. סך הכל 96.
הדוח הראשון שפורסם כאן הציג 44/100 בסולם איכותני מוקדם יותר. הסולם הנוכחי מחמיר יותר ונשען רק על מדידות, ולכן שני האתרים נוקדו בו מחדש. ההפרש בין 18 ל־96 הוא ההשוואה הרלוונטית, לא ההפרש מול 44.
ארבע הנקודות שחסרות לאתר החדש: התמונות עדיין מוגשות כ־JPEG ולא בפורמט מודרני יותר (WebP/AVIF); לא בוצעה בדיקת נגישות ידנית עם קורא מסך אמיתי; ומספר העוסק המורשה עדיין ערך זמני שממתין להחלפה.
לגבי זמני הטעינה. הדוח הראשון ציין כ־29 שניות עד שהעמוד "מוכן" באתר המקורי, ואילו כאן מופיע 753ms. שני המספרים נכונים, והם מודדים דברים שונים: 29 השניות שיקפו חיבור איטי מדומה, כפי שחווה גולשת בסלולר. המספרים בטבלה כאן הם זמני ניווט ללא האטה מלאכותית, כדי ששתי העמודות יהיו ניתנות להשוואה זו לזו. היחס בין העמודות הוא מה שחשוב, לא הערך המוחלט.
שורה אחת בטבלה לא הגיעה מהרצת המדידה: "כתובת משאב שבורה". כתובת data פגומה לעולם אינה הופכת לבקשת רשת, ולכן מונה הבקשות הכושלות הראה אפס בשני האתרים. הממצא הזה הגיע מבדיקה ידנית של קוד המקור, שם נמצאו התווים _BAN בסוף כתובת התמונה.
אותו עיצוב
המראה לא השתנה
כל הטקסטים, שמות המוצרים, המחירים והתמונות נשארו זהים למקור. מה שהשתנה הוא מה שמתחת למכסה המנוע. שני הצילומים צולמו באותו רוחב מסך.
ממצא אחר ממצא
מה נמצא בבדיקה הראשונה
כל ממצא מהדוח המקורי, והמצב שלו היום.
חשיפה לתביעת נגישות
שדות טופס בלי תיוג, בלי הצהרת נגישות ובלי סימון מיקוד. זו הייתה החשיפה הקרובה ביותר, כי בישראל די בכך שאדם עם מוגבלות לא הצליח להשתמש באתר.
איסוף פרטים בלי הסכמה
טופס ההצטרפות אסף שם וטלפון בלי תיבת הסכמה מפורשת לדיוור, מה שהפך כל הודעת שיווק עתידית להפרה של סעיף 30א לחוק התקשורת.
אין מדיניות פרטיות ואין תקנון
חובה לפי חוק הגנת הפרטיות כשאוספים פרטי לקוחות, ולפי חוק הגנת הצרכן לעסק שמוכר אונליין.
אין זיהוי עסקי
שם העסק המלא, מספר עוסק מורשה וכתובת לא הופיעו באתר.
קובץ עמוד של 2.2MB
עשר התמונות היו מוטמעות כטקסט base64 בתוך העמוד עצמו, כך שהדפדפן היה חייב להוריד את כולן לפני שהציג משהו, ולא יכול היה לשמור אותן במטמון בנפרד.
האתר בלתי נראה לגוגל
בלי תיאור עמוד, בלי robots.txt, בלי sitemap ובלי תגיות שיתוף. שיתוף קישור בוואטסאפ לא הציג תצוגה מקדימה.
כותרות אבטחה חסרות
רק אחת מתוך שש כותרות האבטחה הסטנדרטיות הייתה קיימת.
כתובת משאב שבורה
הדפדפן דיווח ERR_INVALID_URL באתר המקורי. המקור: לתמונה אחת נוספו התווים _BAN בסוף כתובת ה־data, מה שפסל את הכתובת כולה והתמונה לא נטענה.
אין favicon
לא היה אייקון בכרטיסיית הדפדפן, והכתובת /favicon.ico החזירה 404.
לא היה בסיס נתונים
הפרטים מהטופס נשלחו לשירות הטפסים של Netlify. לא הייתה בעלות על המידע ולא הייתה דרך להוכיח מתי ניתנה הסכמה.
מה עוד צריך לפני עלייה לאוויר
שלושה דברים שאי אפשר להשלים בלי מידע ממך:
מתחת למכסה
איך האתר בנוי עכשיו
- Cloudflare Worker מגיש את כל העמודים ומוסיף את כותרות האבטחה במקום אחד, כך שאי אפשר לשכוח אותן בעמוד חדש.
- Cloudflare D1 שומר נרשמות והזמנות, כולל ההסכמה וחותמת הזמן שמשמשות כאסמכתה.
- קבצים נפרדים לעיצוב, לקוד ולתמונות, כך שהדפדפן שומר אותם במטמון ולא מוריד אותם שוב בכל ביקור.
- גופנים מתארחים באתר עצמו, בתת־קבוצה עברית בלבד. אין פנייה לשרת חיצוני, ולכן מדיניות האבטחה יכולה להיות הדוקה.
- ארבעה עמודים אמיתיים עם כתובת משלהם: הבית, פרטיות, תקנון ונגישות. עד היום היה עמוד אחד בלבד.
- תפריט נייד עובד. במקור היה כפתור המבורגר בקוד העיצוב, אבל בלי תפריט שייפתח.
- הסל נשמר בין ביקורים, וההזמנה נרשמת בבסיס הנתונים לפני המעבר לוואטסאפ.
- לא הותקן תפריט נגישות חיצוני מסוג ווידג'ט. ההנגשה נעשתה בקוד עצמו, כדי לא לדרוס את הכלים שכבר מותקנים אצל הגולשת.