מהירות אתר ו-Core Web Vitals: מדריך מעשי לשיפור ביצועים 2026

23 בפברואר 2026 זמן קריאה: 12 דקות צוות WebIQ
96 Performance Score איטי בינוני מהיר

מה זה Core Web Vitals ולמה זה חשוב?

Core Web Vitals הם אוסף של מדדי ביצועים שגוגל הגדירה כקריטיים לחוויית המשתמש באתרי אינטרנט. מאז שנת 2021, מדדים אלו הפכו לגורם דירוג רשמי באלגוריתם של גוגל, מה שאומר שמהירות האתר שלכם משפיעה ישירות על המיקום שלכם בתוצאות החיפוש.

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

Core Web Vitals מתמקדים בשלושה היבטים מרכזיים של חוויית המשתמש: מהירות טעינה, אינטראקטיביות ויציבות ויזואלית. גוגל אוספת נתונים אמיתיים ממשתמשי Chrome (דרך דוח Chrome User Experience Report - CrUX) ומשתמשת בהם כדי להעריך את ביצועי האתר שלכם. זה אומר שלא מספיק שהאתר מהיר בסביבת הפיתוח שלכם - הוא צריך להיות מהיר גם עבור המשתמשים האמיתיים שלכם, על המכשירים והרשתות שלהם.

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

שלושת המדדים המרכזיים

נכון לשנת 2026, Core Web Vitals כוללים שלושה מדדים עיקריים. חשוב לציין כי במרץ 2024 המדד INP (Interaction to Next Paint) החליף רשמית את FID (First Input Delay) כאחד משלושת המדדים. בואו נכיר כל אחד מהם בפירוט.

Largest Contentful Paint

LCP

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

≤ 2.5s
≤ 4.0s
> 4.0s

Interaction to Next Paint

INP

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

≤ 200ms
≤ 500ms
> 500ms

Cumulative Layout Shift

CLS

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

≤ 0.1
≤ 0.25
> 0.25
LCP Largest Contentful Paint ≤2.5s ≤4.0s >4.0s טוב לשפר גרוע INP Interaction to Next Paint ≤200ms ≤500ms >500ms טוב לשפר גרוע CLS Cumulative Layout Shift ≤0.1 ≤0.25 >0.25 טוב לשפר גרוע

LCP - Largest Contentful Paint

LCP מודד את הזמן שלוקח לאלמנט התוכן הגדול ביותר ב-viewport להיטען באופן מלא. האלמנט הזה יכול להיות תמונת hero, כותרת גדולה, בלוק טקסט משמעותי או וידאו. הסף המומלץ הוא 2.5 שניות או פחות. גורמים שמשפיעים על LCP כוללים: זמן תגובת שרת איטי, חסימת CSS ו-JavaScript, זמן טעינת משאבים, ורינדור בצד הלקוח.

INP - Interaction to Next Paint

INP הוא המדד שהחליף את FID (First Input Delay) במרץ 2024. בעוד ש-FID מדד רק את ההשהיה של האינטראקציה הראשונה, INP מודד את כל האינטראקציות לאורך חיי הדף ומדווח על ההשהיה הגרועה ביותר (בקירוב - ה-percentile ה-98). הסף המומלץ הוא 200 מילישניות או פחות. לשפר INP, יש לצמצם עבודת JavaScript כבדה ב-main thread, לפצל tasks ארוכים, ולוודא שהדפדפן יכול לבצע rendering מהר אחרי אינטראקציה.

CLS - Cumulative Layout Shift

CLS מודד את סך כל הזזות הפריסה הבלתי צפויות שקורות בעמוד. למשל, כשאתם קוראים כתבה וטקסט פתאום זז כי מודעה נטענה מעליו, או כשכפתור זזים כי תמונה מעליו התרחבה. הסף המומלץ הוא ציון 0.1 או פחות. כדי לשפר CLS, יש להגדיר מידות מפורשות לתמונות ווידאו, להימנע מהוספת תוכן דינמי מעל תוכן קיים, ולהשתמש ב-font-display: swap בזהירות.

איך למדוד את הביצועים

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

Google PageSpeed Insights

הכלי הרשמי של גוגל שמציג גם נתוני שדה (מידע אמיתי ממשתמשים) וגם נתוני מעבדה (מבחנים סינתטיים). היתרון הגדול שלו הוא שהוא מראה בדיוק את הנתונים שגוגל משתמשת בהם לצורך דירוג. פשוט הכניסו את כתובת ה-URL שלכם ב-pagespeed.web.dev וקבלו דוח מפורט.

Lighthouse

מובנה בתוך Chrome DevTools (טאב Lighthouse), מאפשר לבצע ביקורת ביצועים מפורטת ישירות מהדפדפן. ניתן גם להריץ אותו מ-CLI עבור בדיקות אוטומטיות ב-CI/CD pipeline.

Lighthouse CLI
# התקנה
npm install -g lighthouse

# הרצת בדיקה
lighthouse https://example.com --output html --output-path report.html

# הרצה במצב mobile
lighthouse https://example.com --preset=perf --form-factor=mobile

Chrome DevTools - Performance Tab

כלי מתקדם שמאפשר לנתח ברמת הפירוט את הביצועים, כולל פרופיל CPU, טיימליין של טעינה, ו-layout shifts. אידיאלי לאיתור צווארי בקבוק ספציפיים. פתחו את DevTools עם F12, עברו לטאב Performance, ולחצו על כפתור ההקלטה כדי לתפוס trace של הפעילות.

Google Search Console

דוח Core Web Vitals ב-Search Console מראה את הביצועים של כל העמודים באתר שלכם לאורך זמן, מחולק לקטגוריות: טוב, צריך שיפור, וגרוע. זהו הנתון הכי חשוב כי הוא מייצג את חוויית המשתמשים האמיתיים שלכם ומשפיע ישירות על הדירוג.

GTmetrix

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

טיפ מקצועי

תמיד בדקו גם במצב מובייל וגם בדסקטופ. גוגל משתמשת ב-Mobile-First Indexing, כלומר הביצועים במובייל הם הקריטיים ביותר לדירוג. הפעילו את Throttling ב-DevTools כדי לדמות חיבור איטי של 3G.

אופטימיזציית תמונות

תמונות הן לרוב המשאב הכבד ביותר בדף אינטרנט ומהוות בממוצע 50% מנפח העמוד. אופטימיזציה נכונה של תמונות יכולה לשפר דרמטית את ה-LCP ואת זמני הטעינה הכוללים. הנה הטכניקות המרכזיות:

פורמטים מודרניים: WebP ו-AVIF

פורמט WebP מספק דחיסה טובה ב-25-35% מ-JPEG באותה איכות ויזואלית, ונתמך בכל הדפדפנים המודרניים. AVIF הוא פורמט חדש יותר שמספק דחיסה טובה עוד יותר, עד 50% מ-JPEG, אך התמיכה בדפדפנים עדיין לא מלאה. השתמשו בתגית <picture> כדי להציע מספר פורמטים:

HTML - Responsive Images with Modern Formats
<picture>
  <!-- AVIF for browsers that support it -->
  <source
    type="image/avif"
    srcset="hero-400.avif 400w,
            hero-800.avif 800w,
            hero-1200.avif 1200w"
    sizes="(max-width: 768px) 100vw, 50vw"
  >
  <!-- WebP fallback -->
  <source
    type="image/webp"
    srcset="hero-400.webp 400w,
            hero-800.webp 800w,
            hero-1200.webp 1200w"
    sizes="(max-width: 768px) 100vw, 50vw"
  >
  <!-- JPEG fallback -->
  <img
    src="hero-800.jpg"
    srcset="hero-400.jpg 400w,
            hero-800.jpg 800w,
            hero-1200.jpg 1200w"
    sizes="(max-width: 768px) 100vw, 50vw"
    alt="תיאור התמונה"
    width="1200"
    height="630"
    loading="lazy"
    decoding="async"
  >
</picture>
5MB תמונה מקורית PNG / JPEG 4000x3000px Resize שינוי גודל 1200px רוחב מקסימלי ~1.2MB Convert המרה לפורמט WebP או AVIF ~300KB Optimize CDN + lazy load 85KB תמונה סופית -98% מהגודל!

Lazy Loading

טעינה עצלה אומרת שתמונות נטענות רק כשהן קרובות ל-viewport של המשתמש, ולא בטעינה הראשונית של הדף. זה מפחית משמעותית את זמן הטעינה ואת כמות הנתונים המועברים. חשוב: אל תשתמשו ב-lazy loading על תמונת ה-LCP (בדרך כלל התמונה הראשונה/הראשית בעמוד) כי זה דווקא יפגע ב-LCP.

HTML - Lazy Loading Best Practices
<!-- תמונת Hero - בלי lazy loading, עם fetchpriority גבוה -->
<img
  src="hero.webp"
  alt="תמונה ראשית"
  width="1200"
  height="630"
  fetchpriority="high"
  decoding="async"
>

<!-- תמונות בהמשך הדף - עם lazy loading -->
<img
  src="product.webp"
  alt="תמונת מוצר"
  width="400"
  height="300"
  loading="lazy"
  decoding="async"
>
חשוב: הגדירו תמיד width ו-height

הגדרת width ו-height על תגית img מאפשרת לדפדפן לשריין את המקום הנכון עבור התמונה לפני שהיא נטענת, מה שמונע Layout Shifts ומשפר את ציון ה-CLS. אפשר גם להשתמש ב-aspect-ratio ב-CSS.

מזעור CSS ו-JavaScript

קבצי CSS ו-JavaScript שלא עברו אופטימיזציה יכולים להאט משמעותית את זמני הטעינה ולחסום את הרינדור של העמוד. הנה הטכניקות המרכזיות לאופטימיזציה שלהם:

Minification - מזעור קוד

מזעור מסיר רווחים, הערות ותווים מיותרים מקבצי CSS ו-JS מבלי לשנות את הפונקציונליות. זה יכול לחסוך 20-40% מגודל הקובץ. כלים מומלצים: Terser ל-JavaScript, cssnano ל-CSS, או bundlers כמו Vite ו-webpack שעושים את זה אוטומטית.

Code Splitting - פיצול קוד

במקום לשלוח קובץ JavaScript ענק אחד, פצלו אותו לחלקים קטנים (chunks) שנטענים רק כשצריך אותם. ב-React, השתמשו ב-React.lazy() וב-dynamic import():

JavaScript - Code Splitting with Dynamic Import
// במקום import רגיל שטוען הכל מראש:
// import HeavyChart from './components/HeavyChart';

// השתמשו ב-dynamic import:
const HeavyChart = React.lazy(() => import('./components/HeavyChart'));

function Dashboard() {
  return (
    <Suspense fallback={<div>...טוען</div>}>
      <HeavyChart />
    </Suspense>
  );
}

Tree Shaking

Tree shaking היא טכניקה שמסירה קוד שלא נמצא בשימוש מה-bundle הסופי. וודאו שאתם משתמשים ב-ES modules (import/export) ולא ב-CommonJS (require) כדי שה-bundler יוכל לנתח את התלויות ולהסיר קוד מיותר. למשל, במקום import _ from 'lodash' שייבא את כל הספרייה, השתמשו ב-import debounce from 'lodash/debounce'.

Critical CSS

הטמיעו את ה-CSS הקריטי (הנדרש לרינדור הראשוני של ה-above-the-fold) ישירות ב-HTML, וטענו את שאר ה-CSS באופן אסינכרוני:

HTML - Critical CSS Pattern
<head>
  <!-- Critical CSS inline -->
  <style>
    /* רק הסגנונות הנדרשים ל-above-the-fold */
    body { margin: 0; font-family: 'Heebo', sans-serif; }
    .header { background: #0F0A1F; padding: 1rem; }
    .hero { padding: 4rem 2rem; }
  </style>

  <!-- Non-critical CSS loaded async -->
  <link rel="preload" href="styles.css" as="style"
        onload="this.onload=null;this.rel='stylesheet'">
  <noscript><link rel="stylesheet" href="styles.css"></noscript>
</head>

Defer ו-Async לסקריפטים

סקריפטים שנטענים ללא defer או async חוסמים את הרינדור של הדף. השתמשו ב-defer לסקריפטים שצריכים לרוץ אחרי שה-HTML מנותח, ו-async לסקריפטים עצמאיים כמו אנליטיקס:

HTML - Script Loading Strategies
<!-- חוסם רינדור - הימנעו! -->
<script src="app.js"></script>

<!-- defer: נטען במקביל, רץ אחרי HTML parsing -->
<script src="app.js" defer></script>

<!-- async: נטען במקביל, רץ ברגע שמוכן -->
<script src="analytics.js" async></script>

<!-- module: מתנהג כ-defer בברירת מחדל -->
<script type="module" src="app.mjs"></script>

שימוש ב-CDN ו-Caching

CDN (Content Delivery Network) היא רשת של שרתים הפזורים ברחבי העולם, שמגישה את תוכן האתר מהשרת הקרוב ביותר למשתמש. שילוב נכון של CDN ואסטרטגיית caching יכולים לשפר דרמטית את זמני הטעינה.

Origin Server השרת המקורי CDN Edge תל אביב CDN Edge אמסטרדם CDN Edge ניו יורק 👤 👤 👤 👤 👤 👤 משתמשים מקבלים תוכן מהשרת הקרוב אליהם - מהירות טעינה גבוהה יותר

איך CDN עובד?

כשמשתמש מבקש עמוד, במקום שהבקשה תגיע עד לשרת המקורי שלכם (למשל בגרמניה), היא מוגשת משרת edge קרוב (למשל בתל אביב). זה מפחית את ה-latency ומשפר את ה-TTFB בצורה משמעותית. שירותי CDN פופולריים כוללים Cloudflare (יש תוכנית חינמית מצוינת), AWS CloudFront, ו-Fastly.

Browser Caching

הגדרת cache headers נכונה מאפשרת לדפדפן לשמור משאבים מקומית ולא להוריד אותם שוב בביקור הבא. הנה הגדרות מומלצות:

Apache (.htaccess) - Cache Headers
# קבצים סטטיים - cache ל-1 שנה
<IfModule mod_expires.c>
  ExpiresActive On

  # תמונות
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType image/avif "access plus 1 year"
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType image/png "access plus 1 year"
  ExpiresByType image/svg+xml "access plus 1 year"

  # פונטים
  ExpiresByType font/woff2 "access plus 1 year"

  # CSS & JS
  ExpiresByType text/css "access plus 1 year"
  ExpiresByType application/javascript "access plus 1 year"

  # HTML - cache קצר
  ExpiresByType text/html "access plus 1 hour"
</IfModule>

# Enable gzip compression
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/css
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/json
  AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
Cache Busting

כשמגדירים cache ארוך לקבצים סטטיים, חשוב להשתמש ב-cache busting - הוספת hash לשם הקובץ (למשל style.a1b2c3.css). כך, כשמעדכנים את הקובץ, השם משתנה והדפדפן יודע להוריד את הגרסה החדשה. כלי Build כמו Vite ו-webpack עושים את זה אוטומטית.

אופטימיזציית פונטים

פונטים מותאמים אישית יכולים להוסיף משקל משמעותי לדף ולגרום ל-FOUT (Flash of Unstyled Text) או FOIT (Flash of Invisible Text), שפוגעים ב-CLS וב-LCP. הנה איך לאופטמז את טעינת הפונטים, במיוחד רלוונטי לפונטים בעברית:

font-display: swap

הגדרה זו אומרת לדפדפן להציג טקסט מיד עם פונט מערכת, ולהחליף לפונט המותאם כשהוא נטען. זה מונע טקסט בלתי נראה ומשפר את ה-LCP. אבל שימו לב - ההחלפה עצמה גורמת ל-layout shift, אז שלבו עם טכניקות אחרות:

CSS - Font Optimization
/* הגדרת פונט עם font-display: swap */
@font-face {
  font-family: 'Heebo';
  src: url('fonts/heebo-var.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  /* Subsetting - רק תווים בעברית ובסיסיים */
  unicode-range: U+0590-05FF, U+200C-2010, U+20AA,
                 U+25CC, U+FB1D-FB4F, U+0000-007F;
}

/* size-adjust למניעת layout shift */
@font-face {
  font-family: 'Heebo-fallback';
  src: local('Arial');
  size-adjust: 105%;
  ascent-override: 95%;
  descent-override: 22%;
  line-gap-override: 0%;
}

Preload פונטים קריטיים

השתמשו ב-preload כדי לטעון את הפונט העיקרי בעדיפות גבוהה, עוד לפני שה-CSS מנותח:

HTML - Font Preloading
<link rel="preload"
      href="/fonts/heebo-var.woff2"
      as="font"
      type="font/woff2"
      crossorigin>

פורמט WOFF2

WOFF2 הוא פורמט הפונט המודרני עם הדחיסה הטובה ביותר - קטן ב-30% מ-WOFF. כל הדפדפנים המודרניים תומכים בו. עבור פונטים בעברית, שקלו לבצע subset שכולל רק את התווים שאתם צריכים - אלף-בית עברי, ספרות וסימנים בסיסיים. כלים כמו glyphhanger או subfont יכולים לעזור ליצור subset אופטימלי.

שיפור זמני תגובת שרת

TTFB (Time to First Byte) הוא הזמן שלוקח לדפדפן לקבל את הבייט הראשון מהשרת. TTFB גבוה משפיע ישירות על כל המדדים האחרים - אם השרת איטי, הכל איטי. הסף המומלץ הוא פחות מ-800ms, אך עדיף לשאוף ל-200ms ומטה.

אופטימיזציית שרת

  • שדרגו את תוכנית האחסון - אחסון שיתופי זול הוא לרוב איטי. שקלו VPS או אחסון ענן.
  • הפעילו HTTP/2 או HTTP/3 - פרוטוקולים מודרניים מאפשרים multiplexing והפחתת latency.
  • דחיסת Brotli - יעילה יותר מ-Gzip, נתמכת בכל הדפדפנים המודרניים.
  • שמרו את השרת קרוב לקהל היעד - עבור קהל ישראלי, בחרו שרת באירופה או ישראל.

Server-Side Rendering (SSR)

אם האתר שלכם בנוי ב-React, Vue או Angular, שקלו להשתמש ב-SSR. במקום לשלוח קובץ HTML ריק שה-JavaScript ממלא, השרת שולח HTML מלא ומוכן. זה משפר דרמטית את ה-LCP ואת זמן הצגת התוכן הראשוני. פריימוורקים כמו Next.js ו-Nuxt.js מספקים SSR מובנה.

אופטימיזציית בסיס נתונים

שאילתות בסיס נתונים איטיות הן סיבה שכיחה ל-TTFB גבוה. וודאו שיש לכם אינדקסים נכונים, השתמשו ב-query caching, הימנעו מ-N+1 queries, ושקלו שימוש ב-Redis או Memcached לקישור שכבה של caching בין האפליקציה לבסיס הנתונים. באתרי WordPress, פלאגינים כמו WP Super Cache או W3 Total Cache יכולים לשפר משמעותית את ביצועי השרת.

Lazy Loading ו-Preloading

שילוב חכם בין lazy loading (טעינה מאוחרת) ו-preloading (טעינה מוקדמת) מאפשר לשלוט בדיוק מתי כל משאב נטען ולהעניק למשתמש חוויה חלקה ומהירה.

Native Lazy Loading

תגית loading="lazy" נתמכת היום בכל הדפדפנים המודרניים ופועלת על <img> ועל <iframe>. היא הפתרון הפשוט ביותר שלא דורש JavaScript כלל:

HTML - Native Lazy Loading
<!-- תמונות -->
<img src="photo.webp" loading="lazy" alt="תיאור" width="600" height="400">

<!-- iframes (מפות, סרטונים) -->
<iframe src="https://www.youtube.com/embed/VIDEO_ID"
        loading="lazy"
        title="סרטון"
        width="560" height="315"></iframe>

Intersection Observer API

למקרים שצריכים שליטה מדויקת יותר, כמו טעינת קומפוננטות שלמות או הפעלת אנימציות, השתמשו ב-Intersection Observer:

JavaScript - Intersection Observer
const observer = new IntersectionObserver((entries) => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      const img = entry.target;
      img.src = img.dataset.src;
      img.classList.add('loaded');
      observer.unobserve(img);
    }
  });
}, {
  rootMargin: '200px' // התחל לטעון 200px לפני שנכנס לviewport
});

document.querySelectorAll('img[data-src]').forEach(img => {
  observer.observe(img);
});

Resource Hints: Preconnect, Prefetch, Preload

resource hints מאפשרים לכם "לרמוז" לדפדפן אילו משאבים יידרשו בקרוב, כדי שיוכל להכין אותם מראש:

HTML - Resource Hints
<head>
  <!-- preconnect: יצירת חיבור מוקדם לדומיין חיצוני -->
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://cdn.example.com" crossorigin>

  <!-- dns-prefetch: רזולוציית DNS מוקדמת (fallback) -->
  <link rel="dns-prefetch" href="https://analytics.example.com">

  <!-- preload: טעינה מוקדמת של משאב קריטי -->
  <link rel="preload" href="/fonts/heebo.woff2" as="font"
        type="font/woff2" crossorigin>
  <link rel="preload" href="/hero.webp" as="image">

  <!-- prefetch: טעינה מוקדמת של משאב לעמוד הבא -->
  <link rel="prefetch" href="/about.html">

  <!-- prerender: רינדור מלא של עמוד הבא -->
  <link rel="prerender" href="/checkout.html">
</head>
אזהרה: אל תעשו preload לכל דבר

Preload צריך לשמש רק למשאבים קריטיים שהדפדפן לא יכול לגלות בעצמו מוקדם (כמו פונט שמוזכר ב-CSS, או תמונת hero). שימוש מופרז ב-preload דווקא יפגע בביצועים כי הוא מתחרה ברוחב הפס עם משאבים קריטיים אחרים.

צ'קליסט מסכם לשיפור מהירות

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

1 מדידה PageSpeed 2 תמונות WebP + Lazy 3 קוד Minify + Split 4 שרת CDN + Cache בדיקה חוזרת

תמונות ומדיה

  • המרת תמונות לפורמט WebP או AVIF
  • הגדרת width ו-height לכל תמונה
  • שימוש ב-srcset ו-sizes לתמונות רספונסיביות
  • הפעלת lazy loading לתמונות מתחת ל-fold
  • הוספת fetchpriority="high" לתמונת ה-LCP

CSS ו-JavaScript

  • מזעור (minification) של כל קבצי CSS ו-JS
  • הטמעת Critical CSS ב-inline
  • שימוש ב-defer או async לסקריפטים
  • יישום code splitting ו-tree shaking
  • הסרת CSS ו-JS שלא בשימוש

שרת ו-Caching

  • הגדרת CDN
  • הגדרת cache headers מתאימים
  • הפעלת דחיסת Brotli או Gzip
  • שימוש ב-HTTP/2 או HTTP/3
  • אופטימיזציית TTFB מתחת ל-800ms

פונטים

  • שימוש בפורמט WOFF2
  • הגדרת font-display: swap
  • Preload לפונט הראשי
  • Subset של פונטים לתווים נדרשים בלבד

כללי

  • שימוש ב-preconnect לדומיינים חיצוניים
  • מניעת layout shifts עם מידות מפורשות
  • פיצול long tasks ב-JavaScript
  • בדיקה ב-PageSpeed Insights לפחות פעם בשבוע
  • מעקב ב-Search Console אחר שינויים ב-Core Web Vitals

שאלות נפוצות

מה הציון המינימלי שצריך ב-PageSpeed Insights?

מומלץ לשאוף לציון 90 ומעלה בדסקטופ ו-70 ומעלה במובייל. עם זאת, חשוב יותר שמדדי Core Web Vitals (LCP, INP, CLS) יהיו באזור הירוק מאשר הציון המספרי עצמו. הציון הוא ממוצע משוקלל של מספר מדדים, וייתכן שהציון לא גבוה אבל כל המדדים הקריטיים בסדר. התמקדו קודם כל בלהביא את שלושת המדדים המרכזיים לאזור הירוק.

האם Core Web Vitals משפיעים ישירות על דירוג בגוגל?

כן, מאז 2021 Core Web Vitals הם חלק ממערכת הדירוג של גוגל כחלק מאותות "חוויית הדף" (Page Experience signals). אתרים עם ביצועים טובים מקבלים יתרון בדירוג, במיוחד כשהתוכן והרלוונטיות דומים בין מתחרים. עם זאת, חשוב לזכור שתוכן איכותי ורלוונטי עדיין חשוב יותר - אתר עם תוכן מצוין אבל ביצועים בינוניים עדיין ידורג גבוה יותר מאתר מהיר עם תוכן חלש.

מה ההבדל בין FID ל-INP?

FID (First Input Delay) מדד רק את ההשהיה של האינטראקציה הראשונה של המשתמש עם הדף - למשל הלחיצה הראשונה. הבעיה הייתה שזה לא ייצג את חוויית המשתמש המלאה. INP (Interaction to Next Paint) מודד את כל האינטראקציות לאורך כל חיי הדף ומדווח על ההשהיה הגרועה ביותר (ליתר דיוק, ה-percentile ה-98 של כל האינטראקציות). INP החליף רשמית את FID במרץ 2024 והוא מדד מקיף ומדויק יותר של האינטראקטיביות.

כמה זמן לוקח לראות שיפור בדירוג אחרי אופטימיזציה?

גוגל משתמשת בנתוני שדה (Field Data) מדוח CrUX שנאספים על פני חלון של 28 יום. לכן, לאחר שיפור ביצועי האתר, צריכים לעבור 28 יום עד שהנתונים יתעדכנו באופן מלא. לאחר מכן, עשויים לעבור עוד כמה שבועות עד שגוגל תעבד את הנתונים החדשים ותעדכן את הדירוג בהתאם. בסך הכל, מדובר בתהליך של 4-8 שבועות. אפשר לעקוב אחרי ההתקדמות בדוח Core Web Vitals ב-Google Search Console.

האם שימוש ב-CDN באמת משפר את מהירות האתר?

בהחלט. CDN יכול לשפר את זמני הטעינה ב-40%-60% עבור משתמשים שנמצאים רחוק מהשרת המקורי, בזכות הגשת תוכן מ-edge server קרוב. עבור אתרים ישראליים עם קהל מקומי, ההשפעה על ה-latency קטנה יותר (אם השרת כבר באירופה), אך CDN עדיין מספק יתרונות משמעותיים: אופטימיזציית תמונות אוטומטית, דחיסת Brotli, הגנת DDoS, ו-HTTP/3 אוטומטי. Cloudflare, למשל, מציע תוכנית חינמית שכבר מספקת רוב היתרונות האלה.

W

צוות WebIQ

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