בקצרה
דחיסת תמונות מקטינה את משקל הקבצים בלי פגיעה נראית באיכות, ו-Lazy Load דוחה את טעינת התמונות שמתחת לקפל עד שהגולש מגיע אליהן. השילוב הנכון: מידות מותאמות, פורמט WebP או AVIF, תמונה ראשית שנטענת מיד, וטעינה עצלה לכל השאר.
דחיסת תמונות היא הקטנת משקל קובץ התמונה תוך שמירה על איכות שנראית טוב לעין, ו-Lazy Load (טעינה עצלה) היא דחיית הטעינה של תמונות שנמצאות מתחת לקפל עד שהגולש מתקרב אליהן. ברוב האתרים התמונות הן החלק הכבד ביותר בעמוד, ולכן שתי הפעולות האלה מביאות לרוב את השיפור הגדול ביותר במהירות האתר, במעט מאוד עבודה. הן משפיעות ישירות על מדד LCP, על צריכת הגלישה בנייד ועל חוויית הגולש.
בערך הזה נסביר איזה פורמט לבחור, כמה לדחוס, באיזה גודל להעלות, מתי Lazy Load עוזר ומתי הוא דווקא מזיק, איך עושים את זה בוורדפרס, ומה עוד צריך כדי שהתמונות יעבדו גם בשביל הקידום בגוגל.
נקודות מפתח
- לתמונות וצילומים משתמשים ב-WebP או AVIF. הם קלים בהרבה מ-JPEG ו-PNG באותה איכות נראית.
- החיסכון הגדול ביותר מגיע מהקטנת מידות התמונה לגודל התצוגה האמיתי, עוד לפני הדחיסה.
- Lazy Load מיועד לתמונות שמתחת לקפל בלבד. התמונה הראשית צריכה להיטען מיד, בעדיפות גבוהה.
- לכל תמונה מגדירים רוחב וגובה, כדי שהעמוד לא "יקפץ" בזמן הטעינה.
- וורדפרס מספק Lazy Load מובנה וגדלי תמונה אוטומטיים. תוסף דחיסה משלים את ההמרה לפורמטים מודרניים.
למה תמונות משפיעות כל כך על מהירות האתר?
בעמוד ממוצע, תמונות תופסות חלק גדול מהמשקל הכולל. תמונה אחת שהועלתה ישר מהמצלמה יכולה לשקול כמה מגה-בייט, יותר מכל הקוד של האתר ביחד. המשמעות מורגשת בשלושה מקומות:
- LCP: ברוב העמודים הרכיב הגדול במסך הראשון הוא תמונה. אם היא כבדה, המדד נכשל. הסבר מפורט על המדד בערך Core Web Vitals.
- גולשים בנייד: בחיבור סלולרי בינוני, כל מגה-בייט מורגש. גולש שמחכה לטעינה חוזר לתוצאות החיפוש.
- עלויות ושרת: תמונות קלות יותר חוסכות נפח תעבורה ושטח אחסון, ומקלות על האתר בשעות עומס.
איזה פורמט תמונה לבחור?
| פורמט | סוג דחיסה | שקיפות | מתי להשתמש |
|---|---|---|---|
| JPEG | הפסדית | אין | צילומים, כגיבוי למערכות ישנות. כבד יותר מ-WebP |
| PNG | ללא אובדן | יש | צילומי מסך עם טקסט וגרפיקה חדה. כבד מאוד לצילומים |
| WebP | הפסדית או ללא אובדן | יש | ברירת המחדל לרוב התמונות באתר. נתמך בכל הדפדפנים המודרניים |
| AVIF | הפסדית או ללא אובדן | יש | הדחיסה היעילה ביותר כיום, במיוחד לתמונות גדולות. קידוד איטי יותר |
| SVG | וקטורי | יש | לוגואים, אייקונים ואיורים פשוטים. חד בכל גודל |
| GIF | ללא אובדן, 256 צבעים | חלקית | כמעט אף פעם. לאנימציות עדיף קובץ וידאו קצר (MP4 או WebM) |
ההמלצה המעשית שלנו: WebP לרוב התמונות, AVIF כשהכלים שלכם תומכים בו (וורדפרס תומך בהעלאת AVIF מגרסה 6.5), SVG ללוגו ולאייקונים. PNG רק כשבאמת צריך דיוק מלא, למשל בצילום מסך של ממשק עם הרבה טקסט קטן.
דחיסה הפסדית מול דחיסה ללא אובדן
דחיסה ללא אובדן (Lossless) מסירה מידע מיותר מהקובץ בלי לשנות אף פיקסל. החיסכון קטן יחסית. דחיסה הפסדית (Lossy) מוותרת על פרטים שהעין כמעט לא מבחינה בהם, והחיסכון גדול בהרבה. לרוב התמונות באתר, דחיסה הפסדית מתונה היא הבחירה הנכונה.
| סוג תמונה | דחיסה מומלצת | נקודת פתיחה לאיכות |
|---|---|---|
| צילום ראשי בראש העמוד | הפסדית מתונה | WebP באיכות 75 עד 85 |
| תמונות תוכן ומוצרים | הפסדית | WebP באיכות 70 עד 80 |
| צילום מסך עם טקסט | ללא אובדן או הפסדית קלה | WebP ללא אובדן, או PNG אחרי אופטימיזציה |
| תמונות רקע גדולות | הפסדית חזקה יותר | AVIF או WebP באיכות 60 עד 70 |
המספרים הם נקודת פתיחה ולא כלל קשיח. כל כלי מחשב איכות קצת אחרת, ולכן תמיד משווים לפני ואחרי בגודל התצוגה האמיתי. אם לא רואים הבדל, אפשר לנסות לרדת עוד קצת.
הצעד שכולם מדלגים עליו: מידות נכונות
תמונה שמוצגת ברוחב 800 פיקסלים לא צריכה להיות ברוחב 4,000 פיקסלים. שום דחיסה לא תפצה על פי עשרה יותר פיקסלים מהנדרש. לכן הסדר הנכון הוא: קודם מקטינים למידות מתאימות, ורק אז דוחסים.
- מידות מקסימליות: רוחב התצוגה הגדול ביותר של התמונה באתר, כפול שתיים למסכים ברזולוציה גבוהה. תמונת רקע ברוחב מלא רוב הזמן מספיקה ב-1,920 עד 2,400 פיקסלים.
- srcset ו-sizes: מאפשרים לדפדפן לבחור את הגודל המתאים למסך, כך שהנייד יוריד גרסה קטנה והמחשב גרסה גדולה. וורדפרס מייצר את הגדלים ומוסיף srcset אוטומטית לתמונות מספריית המדיה.
- חיתוך: תמונה שמוצגת ביחס 3:2 כדאי להעלות כבר ביחס הזה, ולא להעלות תמונה גדולה שהדפדפן מסתיר חלק ממנה.
מה זה Lazy Load ואיך הוא עובד?
בטעינה רגילה הדפדפן מוריד את כל התמונות שבעמוד, גם את אלה שנמצאות בתחתית העמוד ושרוב הגולשים לא יגיעו אליהן. ב-Lazy Load התמונות שמתחת לקפל נטענות רק כשהגולש גולל ומתקרב אליהן. כך הדפדפן משקיע את הרשת ואת המעבד במה שהגולש רואה עכשיו.
היום אין צורך ב-JavaScript כדי לעשות את זה. כל הדפדפנים המודרניים תומכים במאפיין מובנה:
<img src="photo.webp" width="800" height="533" loading="lazy" decoding="async" alt="תיאור התמונה">
אותו מאפיין עובד גם על iframe, וזה שימושי במיוחד לסרטוני יוטיוב ולמפות מוטמעות, שהן מהרכיבים הכבדים ביותר שאפשר לשים בעמוד.
מתי Lazy Load מזיק?
זו הטעות הנפוצה ביותר שאנחנו רואים בבדיקות מהירות: Lazy Load על התמונה הראשית. כשתמונה מסומנת בטעינה עצלה, הדפדפן מחכה עם ההורדה עד שהוא מחשב את פריסת העמוד. בתמונה שנמצאת במסך הראשון זה רק מעכב, ומאריך ישירות את LCP.
| תמונה | Lazy Load? | מה כן לעשות |
|---|---|---|
| תמונת הפתיחה (Hero) או התמונה הראשית של מאמר | לא | fetchpriority="high" וטעינה רגילה |
| לוגו בהדר | לא | עדיף SVG קל |
| תמונות במסך הראשון בנייד | לא | לבדוק בנייד, כי המסך הראשון שם קצר יותר |
| תמונות בגוף המאמר מתחת לקפל | כן | loading="lazy" עם מידות |
| גלריות, תמונות מוצרים ברשימה | כן | חוץ מהשורה הראשונה |
| סרטונים ומפות מוטמעים | כן | או תמונת חזית שמחליפה את הנגן רק בלחיצה |
מידות לתמונות ומניעת קפיצות (CLS)
כשלתמונה אין רוחב וגובה מוגדרים, הדפדפן לא יודע כמה מקום לשמור לה. הטקסט נטען, וכשהתמונה מגיעה הוא נדחף למטה. עם Lazy Load הבעיה חמורה יותר, כי התמונות נטענות בזמן הגלילה. הפתרון פשוט: תמיד לכתוב width ו-height על תגית התמונה, או להגדיר aspect-ratio ב-CSS. הדפדפן מחשב מהם את היחס, שומר את המקום מראש, והתמונה עדיין רספונסיבית בזכות max-width. על התאמת תמונות למסכים שונים בערך אתר רספונסיבי.
דחיסת תמונות ו-Lazy Load בוורדפרס
מה וורדפרס עושה לבד
- גדלי תמונה: בכל העלאה נוצרים כמה גדלים, והדפדפן בוחר ביניהם דרך srcset.
- הקטנת תמונות ענק: תמונות רחבות מ-2,560 פיקסלים מוקטנות אוטומטית לגודל הזה.
- Lazy Load מובנה: מגרסה 5.5 וורדפרס מוסיף loading="lazy" לתמונות תוכן, ובגרסאות מאוחרות יותר הוא מנסה לדלג על התמונות הראשונות ומסמן את התמונה שנראית כרכיב ה-LCP בעדיפות גבוהה.
הזיהוי האוטומטי הזה עובד טוב בתבניות רגילות, אבל פחות טוב בבוני עמודים ובסליידרים, שם כדאי לבדוק ידנית את תמונת הפתיחה.
מה צריך להוסיף
וורדפרס לא ממיר ל-WebP באופן מלא ולא דוחס ברמה של תוסף ייעודי. לשם כך משתמשים באחת משתי דרכים:
| דרך | דוגמאות | יתרון | חיסרון |
|---|---|---|---|
| תוסף דחיסה | ShortPixel, Imagify, EWWW Image Optimizer, Converter for Media | דוחס וממיר בזמן העלאה, כולל המרה של ספריית מדיה קיימת | לחלקם מגבלת שימוש חודשית או תשלום |
| דחיסה ברמת CDN | Cloudflare, BunnyCDN | המרה והתאמת גודל בזמן אמת, בלי לשנות קבצים בשרת | תלות בשירות חיצוני, לרוב בתשלום |
חשוב לבחור פתרון אחד. שני תוספי דחיסה, או תוסף דחיסה יחד עם תוסף מטמון שמפעיל גם הוא Lazy Load, עלולים להתנגש וליצור תמונות שלא נטענות. עוד על בנייה נכונה בערך בניית אתרי וורדפרס.
תמונות ו-SEO: מעבר למהירות
תמונה מהירה היא חצי מהעבודה. כדי שגוגל יבין את התמונה ויציג אותה בחיפוש תמונות, צריך גם:
| רכיב | מה עושים | דוגמה |
|---|---|---|
| שם קובץ | מילים תיאוריות באנגלית, מופרדות במקף | website-speed-test.webp במקום IMG_4521.jpg |
| טקסט חלופי (alt) | תיאור קצר של מה שרואים, בלי העמסת מילות מפתח | דוח PageSpeed עם ציון LCP של 1.9 שניות |
| הקשר | התמונה משובצת ליד טקסט רלוונטי ומסבירה אותו | תרשים מתחת לכותרת שמדברת עליו |
| מפת אתר | תמונות נכללות במפת האתר של תוסף ה-SEO | מאפשר לגוגל לגלות אותן מהר |
טקסט חלופי הוא גם דרישת נגישות, כי קוראי מסך מקריאים אותו לגולשים עיוורים. תמונה דקורטיבית בלבד מקבלת alt ריק, כדי שתדולג. פירוט בערך נגישות אתרים.
תהליך עבודה מומלץ לכל תמונה
- בודקים באיזה רוחב התמונה תוצג בעמוד, במחשב ובנייד.
- מקטינים וחותכים לפי הרוחב המקסימלי ויחס התצוגה.
- ממירים ל-WebP או AVIF ודוחסים, למשל ב-Squoosh החינמי של גוגל, או נותנים לתוסף לעשות זאת.
- נותנים שם קובץ תיאורי לפני ההעלאה.
- מעלים וכותבים alt שמתאר את התמונה.
- מוודאים את אופן הטעינה: תמונה ראשית בלי lazy ועם עדיפות גבוהה, השאר עם lazy.
- בודקים ב-PageSpeed Insights שאין המלצות על תמונות בגודל לא מתאים או בפורמט ישן.
איך מוצאים את התמונות שמכבידות על האתר?
לפני שמתחילים לדחוס, כדאי לדעת איפה הבעיה. באתר עם מאות תמונות, לרוב כמה עשרות קבצים אחראים לרוב המשקל. שלוש דרכים פשוטות למצוא אותם:
| כלי | מה מחפשים | מה זה מגלה |
|---|---|---|
| PageSpeed Insights | המלצות על שיפור מסירת התמונות, גודל לא מתאים ופורמט ישן | אילו תמונות בעמוד מסוים גדולות מדי, וכמה אפשר לחסוך בכל אחת |
| כלי המפתחים של Chrome | לשונית Network, סינון Img, מיון לפי גודל | את כל התמונות שנטענו בפועל, מהכבדה לקלה |
| ספריית המדיה בוורדפרס | העלאות ישנות ב-JPEG ו-PNG | תמונות שהועלו לפני שהתחלתם לדחוס, ושעדיין מוצגות באתר |
מתחילים מהעמודים שמקבלים הכי הרבה תנועה, ובהם מהתמונה הראשית. את העמודים האלה מוצאים בדוח הביצועים של Google Search Console.
מתקדמים: תגית picture ותמונות שונות לנייד
srcset מגיש את אותה תמונה בגדלים שונים. לפעמים צריך יותר מזה: תמונת פתיחה רחבה ונמוכה במחשב, וחיתוך אנכי שמתמקד בעניין המרכזי בנייד. במקרים כאלה משתמשים בתגית picture, שמאפשרת להגדיר קובץ שונה לכל רוחב מסך, וגם להציע AVIF עם גיבוי ב-WebP לדפדפנים שלא תומכים:
<picture>
<source media="(max-width: 600px)" srcset="hero-mobile.avif" type="image/avif">
<source srcset="hero.avif" type="image/avif">
<img src="hero.webp" width="1600" height="700" fetchpriority="high" alt="תיאור התמונה">
</picture>
הדפדפן בוחר את המקור הראשון שמתאים לו, ומוריד קובץ אחד בלבד. בתנאי שמגדירים מידות נכונות, זו אחת הדרכים הטובות לשפר LCP בנייד בלי לוותר על תמונה חדה במחשב.
תמונות רקע ב-CSS: מקרה מיוחד
תמונות שמוגדרות כ-background-image ב-CSS לא מקבלות srcset, לא מקבלות alt, והדפדפן מגלה אותן רק אחרי שקובץ ה-CSS נטען. לכן הן מתאימות לעיטור בלבד. אם תמונת הפתיחה של העמוד מוגדרת כרקע, עדיף להפוך אותה לתגית img רגילה עם object-fit: cover. כך היא נטענת מוקדם יותר, מקבלת גדלים מותאמים, וגוגל יכולה לאנדקס אותה. זו בעיה נפוצה במיוחד באתרים שנבנו עם בוני עמודים, שם סקשן פתיחה עם תמונת רקע הוא ברירת המחדל.
טעויות נפוצות
- העלאת תמונות ישר מהמצלמה או מהטלפון בגודל מקורי, וסמיכה על התוסף שיסדר הכל.
- Lazy Load על תמונת הפתיחה, שמאריך את LCP במקום לקצר אותו.
- תמונות בלי מידות, שגורמות לתוכן לקפוץ.
- דחיסה חזקה מדי שמייצרת תמונות מטושטשות, בעיקר בתמונות מוצרים שבהן האיכות מוכרת.
- טקסט בתוך תמונה במקום טקסט אמיתי בעמוד. גוגל וקוראי מסך לא מבינים אותו היטב, והוא משונע בנייד.
- GIF מונפש ששוקל יותר מכל העמוד, כשקובץ וידאו קצר היה קל פי כמה.
תמונות הן רק חלק מהתמונה. על מטמון, אחסון, סקריפטים וגופנים בערך מהירות אתר.
שאלות נפוצות
מה הפורמט הכי מומלץ לתמונות באתר?
לרוב התמונות WebP הוא ברירת מחדל מצוינת: קל בהרבה מ-JPEG ו-PNG ונתמך בכל הדפדפנים המודרניים. AVIF דוחס טוב עוד יותר, במיוחד בתמונות גדולות. ללוגו ולאייקונים עדיף SVG.
האם דחיסת תמונות פוגעת באיכות?
דחיסה הפסדית מוותרת על פרטים, אבל ברמה מתונה העין כמעט לא מבחינה בהבדל, והקובץ קטן בהרבה. מומלץ להשוות לפני ואחרי בגודל התצוגה האמיתי ולבחור את רמת האיכות הנמוכה ביותר שעדיין נראית טוב.
האם וורדפרס עושה Lazy Load אוטומטית?
כן. מגרסה 5.5 וורדפרס מוסיף loading="lazy" לתמונות תוכן, ובגרסאות מאוחרות יותר הוא מנסה להשאיר את התמונות הראשונות בטעינה רגילה. בבוני עמודים ובסליידרים כדאי לבדוק ידנית שתמונת הפתיחה לא מסומנת בטעינה עצלה.
האם Lazy Load פוגע ב-SEO?
לא, כשמשתמשים במאפיין המובנה loading="lazy". גוגל מזהה ומאנדקסת את התמונות. הפגיעה מגיעה כשמפעילים אותו על התמונה הראשית ומאריכים את LCP, או כשמשתמשים בסקריפט ישן שמסתיר את כתובת התמונה מגוגל.
באיזה גודל להעלות תמונות לאתר?
ברוחב של עד פעמיים רוחב התצוגה המקסימלי באתר. תמונת תוכן מספיקה לרוב ברוחב 1,200 עד 1,600 פיקסלים, ותמונת רקע ברוחב מלא ברוחב 1,920 עד 2,400 פיקסלים. וורדפרס ייצר מהן גדלים קטנים יותר לנייד.
האם צריך תוסף לדחיסת תמונות בוורדפרס?
לא חובה, אבל זה הפתרון הפשוט ביותר. תוסף דחיסה ממיר ודוחס כל תמונה בהעלאה, ומטפל גם בספריית המדיה הקיימת. חלופה אחרת היא לדחוס ידנית לפני העלאה, או להשתמש בשירות תמונות של CDN.
סיכום
דחיסת תמונות נכונה מתחילה במידות: מעלים תמונה בגודל שבאמת מוצג, ממירים ל-WebP או AVIF ודוחסים עד הנקודה שבה העין עדיין לא מבחינה בהבדל. Lazy Load משלים את זה כשמפעילים אותו רק על תמונות שמתחת לקפל, בזמן שהתמונה הראשית נטענת מיד ובעדיפות גבוהה. מידות קבועות מונעות קפיצות, ושם קובץ וטקסט חלופי טובים עוזרים לגוגל ולגולשים עם מוגבלויות להבין את התמונה. שילוב של כל אלה הוא אחד הצעדים המשתלמים ביותר ב-SEO טכני, ובדרך כלל הראשון שכדאי לעשות.