זמן האחזור של בקשת מסמך

Adam Raine
Adam Raine

תאריך פרסום: 27 במרץ 2025

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

מה נבדק בתובנות

התובנה בודקת אם אחד מהמצבים הבאים השפיע על הבקשה הראשונית למסמך:

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

הימנעות מהפניות לכתובות אחרות

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

HTTP/1.1 301 Moved Permanently
Location: /path/to/new/location

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

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

קיצור זמני התגובה של השרת

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

יש הרבה סיבות אפשריות לתגובות איטיות מהשרת, ודרכים רבות לשיפור המצב:

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

פרטים נוספים זמינים במדריך בנושא אופטימיזציה של זמן אחזור אתר ראשוני (TTFB).

הפוך דחיסה לפעילה

דחיסת טקסט יכולה לצמצם את הגודל הכולל של מסמך ה-HTML הראשוני. כשדפדפן מבקש משאב, הוא משתמש בכותרת הבקשה של HTTP‏ Accept-Encoding כדי לציין באילו אלגוריתמים של דחיסה הוא תומך.

Accept-Encoding: gzip, compress, br, zstd

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

השרת צריך להחזיר את כותרת התגובה Content-Encoding של HTTP כדי לציין את אלגוריתם הדחיסה שבו נעשה שימוש.

Devtools מדווח שבבקשה למסמך נעשה שימוש בדחיסת gzip
כלי הפיתוח מדווחים שבבקשה למסמך נעשה שימוש בדחיסת gzip

הנחיות ספציפיות ל-stack

WordPress

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

Drupal

  • אם המודול הפנייה אוטומטית מותקן, צריך לבדוק ולהסיר הפניות אוטומטיות מיותרות.
  • כדי להפחית את העומס, אפשר להעביר את תנועת הגולשים באמצעות מודול שמירה במטמון אחד או יותר של Drupal, כמו Internal Page Cache, ‏ Internal Dynamic Page Cache ו-BigPipe. כדי לשפר עוד יותר את זמן התגובה, אפשר לשלב את האפשרויות האלה עם CDN. שרתי האירוח שלכם צריכים להשתמש ב-PHP OPcache.
  • מומלץ להשתמש בשמירה במטמון הזיכרון, כמו Redis או Memcached, כדי לצמצם את זמני השאילתות של מסדי נתונים.
  • כדי שזמן התגובה של השרת יהיה מהיר יותר, מומלץ להשתמש בעיצובים ובמודולים עם ביצועים טובים ובשרתים מהירים יותר.

React

  • אם אתם משתמשים ב-React Router, כדאי לצמצם את השימוש ברכיב <Redirect> לניווט במסלול.
  • אם מתבצע רינדור בצד השרת של רכיבי React כלשהם, כדאי לשקול להשתמש ב-renderToNodeStream() או ב-renderToStaticNodeStream() כדי לאפשר ללקוח לקבל ולמלא חלקים שונים של הסימון, במקום את הכול בבת אחת.

Joomla

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

Magento

משאבים