Cloudinary היא פלטפורמת מדיה שמאפשרת לעבד תמונות ולהגיש גרסאות המתאימות לגדלי תצוגה וליכולות דפדפן שונים. היא רלוונטית לאתרי תוכן, לחנויות ולצוותי פיתוח שצריכים תהליך עקבי להגשת תמונות. היא יכולה לטפל בקבצים גדולים מדי או לא יעילים, אך קובץ קטן יותר אינו מבטיח כשלעצמו שיפור ב-Largest Contentful Paint.
מה Cloudinary משנה בהגשת תמונות
Cloudinary מתעדת פעולות עיבוד באמצעות כתובות URL לשינוי גודל, לחיתוך, להתאמת איכות ולבחירת פורמט. במקום לייצא ידנית כל גרסה של תמונה, האתר יכול לבקש עיבוד שמתאים לרכיב המסוים. הקובץ שנוצר מוגש לאחר מכן דרך התשתית של Cloudinary.
התיעוד של Cloudinary לאופטימיזציה של תמונות מפריד בין כמה החלטות שלעיתים מסתכמות בהנחיה אחת: לדחוס תמונות. הממדים קובעים כמה פיקסלים יוגשו. הגדרות האיכות משפיעות על אופן הקידוד. בחירת הפורמט תלויה בתמיכת הדפדפן ובפורמטים הזמינים בסביבת המוצר.
אלה מנגנונים נפרדים. תמונה דחוסה מאוד עדיין יכולה להיות רחבה בהרבה מהנדרש באזור התצוגה. תמונה בגודל מתאים עדיין יכולה להגיע מאוחר אם העמוד חושף את הכתובת שלה רק לאחר הרצת JavaScript. יש להעריך את השירות בתוך תהליך הטעינה המלא, ולא רק כממיר קבצים.
Cloudinary רלוונטית במיוחד כאשר תבניות רבות משתמשות באותם קובצי מקור בצורות שונות. כרטיס קטגוריה, תמונה ראשית בכתבה וגלריית מוצר עשויים להזדקק לתוצרים שונים. אתר קטן עם אוסף יציב של תמונות שכבר עברו אופטימיזציה צריך לשקול את היתרון התפעולי מול העבודה הכרוכה בהוספת תלות נוספת להגשת התמונות.
התחילו מהרכיב ולא מקובץ המקור
מפו את אזורי התמונות החשובים במסלול המשתמש. רשמו את רוחב התצוגה, יחס הממדים, צורכי החיתוך והאם התמונה מופיעה באזור הגלוי הראשוני. קבצו רכיבים לפי הדרישות האלה. כך נוצרת מדיניות הגשה שניתן לנהל, במקום אוסף בלתי מוגבל של פעולות עיבוד.
בכרטיס מוצר לדוגמה, החליטו תחילה מה אמור להופיע. חיתוך ריבועי יכול להתאים לעיצוב, אך להסיר פרט חשוב מהצילום. חיסכון במשקל הקובץ אינו הופך את החיתוך למתאים. לפני בחירת ברירת מחדל, בדקו תמונות מייצגות עם מסגור חריג, רקע שקוף, כיתוב קטן ומעברי צבע בולטים.
התיעוד של Cloudinary מפריד בין שינוי גודל לחיתוך. השתמשו בפעולה המתאימה למראה המתוכנן של הרכיב ובדקו את התוצאה. אל תבנו מדיניות מתוך הנחה שלכל קובצי המקור אותן פרופורציות, או שחיתוך אוטומטי ישמור על כל פרט שהעמוד צריך.
המדריך לאופטימיזציה של תמונות מספק בסיס רחב יותר לממדים, לפורמטים ולהתנהגות טעינה. שמרו את ההחלטות האלה במימוש הרכיב, כדי שעורכי התוכן יוכלו להעלות קובצי מקור מתאימים בלי לשחזר את כללי ההגשה בכל עמוד.
הגדירו איכות ופורמט אוטומטיים באופן מכוון
Cloudinary מתעדת שימוש ב-q_auto לבחירת איכות אוטומטית וב-f_auto לבחירת פורמט אוטומטית. הנחיות העיבוד הנוכחיות ממליצות לכתוב אותם כרכיבי כתובת נפרדים, למשל f_auto/q_auto. זוהי הגדרת הגשה, לא הבטחה שכל תמונה תוחזר באותו פורמט או תגיע למשקל מסוים.
הפורמט שנבחר תלוי בדפדפן המבקש ובסביבת המוצר. Cloudinary מתארת הבדלים בין מסלולים והגדרות בזמינות הפורמטים לבחירה אוטומטית. ודאו מה מוגדר בחשבון הנבדק, במקום להניח שדוגמה בתיעוד מתארת כל חשבון.
בדיקה פשוטה משווה את אותה תמונה באותו גודל תצוגה. בדקו את סוג התוכן שהוחזר ואת כמות הבתים שהועברה, ואז בחנו את התוצאה חזותית. שימו לב לקצוות, לאותיות קטנות, לאזורים שקופים ולפרטי מוצר. תמונה שנראית תקינה בתצוגה ממוזערת עלולה לחשוף בעיה בגלריה גדולה יותר.
בחירת הפורמט האוטומטית צריכה להישאר גלויה בזמן ההגשה
לפי Cloudinary, אין להסתיר את f_auto בתוך פעולת עיבוד בעלת שם או להשתמש בו בעיבוד בזמן ההעלאה. השאירו אותו בכתובת ההגשה, כדי שהפורמט ייבחר לפי הדפדפן המבקש.
פעולות עיבוד בעלות שם עדיין יכולות לסייע בארגון מדיניות לשימוש חוזר. שמרו על כללי גודל וחיתוך עקביים ברכיב, והוסיפו את פרמטרי ההגשה האוטומטיים בהתאם למגבלות המתועדות. תעדו את המדיניות בקוד או בהגדרות, כדי שעיצוב מחדש לא ייצור בשקט התנהגות שונה של התמונות.
התאימו את הבחירה הרספונסיבית לפריסה בפועל
Cloudinary מתעדת הגשה רספונסיבית באמצעות HTML וכתובות עיבוד דינמיות. בגישת HTML מספקים תמונות מועמדות ב-srcset ומידע על הפריסה ב-sizes, כדי שהדפדפן יבחר משאב מתאים. יצירת כמה קבצים היא רק חלק מהעבודה: הסימון צריך לתאר נכון את הפריסה.
בדיקה שימושית היא לזהות איזו תמונה הדפדפן בחר בפועל ברוחבי חלון מייצגים. השוו את ממדי הקובץ לגודל המוצג ולצפיפות הפיקסלים הצפויה. אם הדפדפן מבקש שוב ושוב גרסה גדולה מהנדרש, בדקו את sizes ואת פריסת הרכיב לפני הגברת הדחיסה.
ההחלטות האלה במימוש פותרות בעיות שונות:
| החלטה | מטרה | מה לבדוק |
|---|---|---|
| שינוי גודל וחיתוך | התאמת הממדים והמסגור לרכיב | התוכן החשוב נשאר גלוי |
| איכות ופורמט אוטומטיים | התאמת הייצוג המוגש | איכות התוצאה וסוג התוכן שהוחזר |
| HTML רספונסיבי | מתן אפשרות לדפדפן לבחור גרסה מתאימה | הבחירה ברוחבי הפריסה בפועל |
| שמירת מקום בפריסה | שמירה על יציבות התוכן מסביב בזמן הטעינה | יחס הממדים המוצג נכון |
הגדירו ממדי תמונה או יחס ממדים מתאים בפריסה, כדי שניתן יהיה לשמור מקום לפני הגעת הקובץ. Cloudinary יכולה לספק את התמונה, אך הפריסה מסביב עדיין קובעת אם התוכן הסמוך יזוז. מעבר לשיטת הגשה חדשה הוא הזדמנות לבדוק את ההתאמה בין התמונה לבין המכל שלה.
אבחנו LCP לפני ייחוס שיפור לדחיסה
הנחיות LCP של Google מפרידות בין זמן תגובת השרת, עיכוב בגילוי המשאב, משך טעינת המשאב ועיכוב ברינדור. אופטימיזציית תמונה מטפלת בעיקר במשאב המוגש. אם העמוד ממתין לסקריפט לפני חשיפת התמונה הראשית, הפחתת משקלה עשויה להשאיר את ההמתנה הקודמת כמעט ללא שינוי.
השתמשו בהקלטת ביצועים כדי לזהות את רכיב LCP בתבנית הנבדקת. הוא עשוי להיות תמונה, אך גם טקסט. בררו זאת לפני ההנחה ששינוי בהגשת תמונות מטפל במדד. השוו פריסות מייצגות בנייד ובמחשב, משום שהרכיב הגלוי הגדול ביותר עשוי להשתנות ביניהן.
כאשר תמונה ראשית גלויה מיד, אל תתייחסו לטעינה עצלה כפתרון גורף. Google ממליצה להימנע מטעינה עצלה של תמונת LCP. אפשרו גילוי מוקדם של המשאב ובדקו מתי הבקשה מתחילה. היעזרו במדריך לשיפור LCP לבדיקת העיכוב שנותר לאחר אופטימיזציית ההגשה.
הפרידו בין ממצאים על משקל קבצים לממצאים על העמוד. אפשר להראות שעיבוד מסוים העביר פחות בתים בלי להוכיח עדיין שיפור ב-LCP בשטח. שתי התצפיות מועילות, אך עונות על שאלות שונות. דווחו רק על התוצאה שנמדדה בפועל בתנאים בני השוואה.
העריכו עלויות, אחריות והתנהגות בזמן המעבר
לפני העברת ספרייה גדולה, הגדירו כיצד ינוהלו קובצי המקור, הגרסאות המעובדות והכתובות. זהו מי אחראי לכללי העלאה, להחלטות חיתוך ולתהליכי מחיקה. ודאו את המגבלות ואת תנאי החיוב החלים בתיעוד העדכני של החשבון. אל תאמדו חשבון שוטף לפי גודלה של תמונת בדיקה מוצלחת אחת.
Cloudinary מציינת שבחירת פורמט אוטומטית יכולה לייצר כמה פורמטים נגזרים ולהשפיע על מניין העיבודים ועל נפח האחסון. לכן רשימת דרישות מבוקרת לכל רכיב מועילה גם תפעולית וגם חזותית. הימנעו מיצירת ממדים שרירותיים לכל מדידת פריסה אפשרית, כאשר מבחר מחושב של גרסאות מספק את צורכי העיצוב.
בדקו כיצד השילוב המוצע פועל לצד מנגנון התמונות הקיים במערכת התוכן או בסביבת הפיתוח. קבעו איזו שכבה בוחרת ממדים, יוצרת כתובות ומבצעת אופטימיזציה. אם שתי שכבות מעבדות את אותו קובץ, תעדו את תפקידה של כל אחת, במקום להניח שעיבוד נוסף בהכרח משפר את התוצאה.
שמרו תוכנית חזרה לאחור לתבנית המשתנה. בדקו שקובצי המקור נשארים נגישים לתהליך שצריך אותם ושהפניות לתמונות נשמרות לאחר עדכוני תוכן. השאלה אינה רק אם הכתובת החדשה עובדת היום, אלא אם העורכים והמפתחים יכולים לתחזק את ההתאמה לאורך זמן.
בדקו תבנית אחת לפני הרחבת תהליך התמונות
התחילו בתבנית מייצגת ובקבוצת תמונות מגוונת במכוון. השוו מראה, ממדים שנבחרו, בתים שהועברו ותזמון בקשות. השתמשו במחשבון החיסכון במשקל תמונות לאומדן שמסומן בבירור ומבוסס על הקבצים שלכם, ולא כהוכחה לשיפור מדוד במהירות העמוד.
סיימו את הפיילוט בבדיקת ההתנהגות בשטח כשיש מספיק נתונים ובהערכת העבודה התפעולית. רשימת הבדיקות לביצועי אתר מסייעת לשמור על הבדיקות הנלוות, ובהן יציבות הפריסה ועדיפות הטעינה. הרחיבו את ההטמעה כאשר מדיניות התמונות מובנת, התוצאה מתאימה והבעיה שנמדדה אכן טופלה.
תוכן שותפים. מאמר זה עוסק ב-Cloudinary ומתפרסם בנפרד מהסיקור המערכתי של WebVitalsDev.