תארו לעצמכם: אתר נטען תוך 5 שניות, LCP עולה על 4 שניות, וכל התמונות הן PNG ענקיות בגודל 5 MB. לקוחות עוזבים, מנועי חיפוש מענישים. מוכר? הבעיה היא לרוב בתמונות: הן לא מותאמות, לא מותאמות למסכים, ומוגשות משרת איטי. אנחנו פותרים זאת עם Imgix — proxy-CDN שמעבד תמונות תוך כדי תנועה. התוצאה: LCP יורד ל-1.5 שניות, וגודל העמוד קטן פי שלושה.
המקור נשאר ב-S3 bucket שלכם; Imgix הופך אותן באמצעות פרמטרים ב-URL ומספק אותן דרך CDN גלובלי עם מטמון קצה. ללא עותקים נוספים, ללא המרות ידניות.
כיצד Imgix מעבד תמונות תוך כדי תנועה
בעת בקשה, Imgix מביא את המקור מ-S3, מחיל פרמטרים ב-URL (width, format, quality וכו'), ומטמון את התוצאה ב-CDN. בקשות עוקבות פוגעות במטמון — מהירות מקסימלית. כל הפורמטים המודרניים נתמכים: WebP, AVIF, ובחירה אוטומטית באמצעות auto=format. לפי מסמכי Imgix, השירות מפחית את משקל התמונה בעד 60% ללא אובדן איכות.
למה Imgix עדיף על עיבוד מקומי
עיבוד מקומי (GD, ImageMagick, ספריות צד-שרת) מעמיס על המעבד, דורש שטח מטמון, ולא מתקנה תחת עומסי שיא. Imgix מבטל את הנטל הזה:
| מאפיין | עיבוד מקומי | Imgix |
|---|---|---|
| עומס על השרת | גבוה (CPU/IO) | אפס (הכל על CDN) |
| פורמטים אוטומטיים | דורש backend | מובנה |
| התקנה | קשה | אופקית (CDN) |
| זמן הגדרה | ימים | שעות |
| עלות בנפח גבוה | גדלה עם החומרה | מחיר קבוע |
Imgix מהיר פי 5 בעומסי שיא ואינו דורש ניהול שרת.
כיצד Imgix עוזר לשפר את Core Web Vitals
LCP, CLS, INP — כולם תלויים בתמונות. Imgix מטפל בכל אחד: LCP באמצעות preload וגדלים רספונסיביים, CLS באמצעות width/height מפורשים, INP על ידי הפחתת עומס על ה-main thread. אנו מגדירים כל פרמטר עבור התוכן שלכם. לדוגמה, בפרויקט חנות בגדים אונליין, פרסנו Imgix עם כתובות URL חתומות כדי להגן על תמונות המוצרים. לאחר הגדרת preload לתמונת LCP ו-srcset לשאר, LCP השתפר מ-3.2 שניות ל-1.1 שניות, ומשקל העמוד הכולל ירד ב-55%. צרו קשר לבדיקה דומה.
אילו פורמטי תמונה Imgix תומך בהם הכי טוב?
Imgix תומך ב-WebP, AVIF, JPEG, PNG, GIF ו-SVG. הפרמטר auto=format מספק אוטומטית את הפורמט המודרני ביותר שהדפדפן תומך בו, עם נפילה ל-JPEG עבור דפדפנים ללא WebP/AVIF. זה חוסך עד 60% בתעבורה לעומת המקור. ניתן גם לאלץ פורמט עם fm=webp.
הגדרת S3 Source ו-IAM
# В dashboard.imgix.com:
# Sources → Add Source → Amazon S3
# S3 Bucket Name: my-assets-bucket
# Access Key ID + Secret Access Key (IAM пользователь с read-only на bucket)
# Subdomain: mysite.imgix.net
# IAM Policy для imgix:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:ListBucket"],
"Resource": [
"arn:aws:s3:::my-assets-bucket",
"arn:aws:s3:::my-assets-bucket/*"
]
}
]
} פרמטרי טרנספורמציה
- שינוי גודל:
# В dashboard.imgix.com: # Sources → Add Source → Amazon S3 # S3 Bucket Name: my-assets-bucket # Access Key ID + Secret Access Key (IAM пользователь с read-only на bucket) # Subdomain: mysite.imgix.net # IAM Policy для imgix: { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["s3:GetObject", "s3:ListBucket"], "Resource": [ "arn:aws:s3:::my-assets-bucket", "arn:aws:s3:::my-assets-bucket/*" ] }] },?w=800 - פורמט ואיכות:
?w=800&h=600&fit=crop - חיתוך חכם:
?auto=format,compress&q=75(זיהוי פנים) - צבע ואפקטים:
?fit=crop&crop=faces(גווני אפור),?sat=-100 - סימן מים:
?blur=20
TypeScript SDK וכתובות URL חתומות
// npm install @imgix/js-core
import ImgixClient from '@imgix/js-core';
const client = new ImgixClient({
domain: 'mysite.imgix.net',
secureURLToken: process.env.IMGIX_SECURE_TOKEN, // Для подписи URL
useHTTPS: true,
});
// Генерация URL с подписью
const url = client.buildURL('products/shirt-red.jpg', {
w: 600,
h: 600,
fit: 'crop',
auto: 'format,compress',
q: 80,
});
// srcset для responsive images
const srcSet = client.buildSrcSet(
'products/shirt-red.jpg',
{
auto: 'format,compress',
fit: 'max',
},
{
widths: [320, 480, 640, 800, 1080, 1200, 1600],
}
);
Next.js: loader מותאם אישית
// lib/imgix-loader.ts
import ImgixClient from '@imgix/js-core';
const client = new ImgixClient({
domain: process.env.NEXT_PUBLIC_IMGIX_DOMAIN!,
secureURLToken: process.env.IMGIX_SECURE_TOKEN,
});
export default function imgixLoader({
src,
width,
quality,
}: {
src: string;
width: number;
quality?: number;
}): string {
const path = src.startsWith('http') ? new URL(src).pathname : src;
return client.buildURL(path, {
w: width,
auto: 'format,compress',
q: quality ?? 75,
fit: 'max',
});
}
// next.config.ts
const nextConfig = {
images: {
loader: 'custom',
loaderFile: './lib/imgix-loader.ts',
},
}; import Image from 'next/image';
<Image src="/products/shirt-red.jpg" alt="Red shirt - imgix оптимизация" width={600} height={600} sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" priority={isAboveFold} /> אופטימיזציית ביצועים
<link rel="preload" as="image" href="https://mysite.imgix.net/hero.jpg?w=1200&auto=format&q=80" imagesrcset="..." imagesizes="100vw"/> מה כולל תהליך שילוב Imgix?
- בדיקת תמונות קיימות והשפעתן על Core Web Vitals
- עיצוב מבנה S3 bucket והגדרת מדיניות IAM
- חיבור Imgix: הגדרת מקור, subdomain מותאם אישית, SSL
- שילוב עם הטכנולוגיה שלכם: קוד מוכן ל-Next.js, Vue, React או HTML פשוט
- כתובות URL חתומות להגנה על תוכן פרטי
- אופטימיזציית preload ו-srcset לתמונות קריטיות
- תיעוד שימוש והדרכת צוות
- חודש תמיכה לאחר ההשקה
תהליך ולוח זמנים
אנו בודקים את התמונות הקיימות שלכם, מתכננים את מבנה S3 bucket ומחברים את Imgix. מהנדס אחד מטפל בכך תוך 1–3 ימי עסקים. אתם מקבלים:
- S3 bucket מוגדר עם מדיניות IAM
- proxy-CDN פעיל עם subdomain מותאם אישית
- קוד שילוב מוכן לטכנולוגיה שלכם
- כתובות URL חתומות לתוכן פרטי
- תיעוד וחודש תמיכה
התקנה ב-5 שלבים
- צרו S3 bucket ומשתמש IAM לקריאה בלבד.
- הוסיפו את המקור בלוח הבקרה של Imgix.
- הגדירו פרמטרי טרנספורמציה לתוכן שלכם.
- יישמו loader מותאם אישית לפריימוורק שלכם.
- בדקו Core Web Vitals ובצעו אופטימיזציית preload.
בעיות נפוצות ופתרונות
| בעיה | פתרון |
|---|---|
| טעינת תמונה ראשונה איטית | הגדרת preload לתמונות LCP |
| יחס גובה-רוחב שגוי | שימוש ב-?mark=URL&markw=20 עם פוקוס |
| צריכת רוחב פס גבוהה | הפעלת // npm install @imgix/js-core import ImgixClient from '@imgix/js-core'; const client = new ImgixClient({ domain: 'mysite.imgix.net', secureURLToken: process.env.IMGIX_SECURE_TOKEN, // Для подписи URL useHTTPS: true, }); // Генерация URL с подписью const url = client.buildURL('products/shirt-red.jpg', { w: 600, h: 600, fit: 'crop', auto: 'format,compress', q: 80, }); // srcset для responsive images const srcSet = client.buildSrcSet('products/shirt-red.jpg', { auto: 'format,compress', fit: 'max', }, { widths: [320, 480, 640, 800, 1080, 1200, 1600], }); |
קבלו הערכת פרויקט: ננתח את התמונות שלכם ונראה כמה מהר יותר האתר שלכם יכול להיות. עם ניסיון של מעל 5 שנים ו-50+ פרויקטים מוצלחים עם Imgix, אנו מבטיחים שילוב עובד ועמידה במדדי ביצועים. צרו קשר לייעוץ.







