WP Rocket הוא תוסף שכולנו אוהבים. אחת מאפשרויות התוסף היא "Load JavaScript Deferred", וזו עוזרת להאיץ את טעינת האתר על ידי דחיית הטעינה של קבצי JavaScript עד לאחר הצגת התוכן העיקרי. עם זאת, לפעמים פעולה זו עשויה להפריע לסקריפטים מסוימים הצריכים להיטען מיד.
אם משהו באתר שלך נשבר אחרי הפעלת "Load JavaScript Deferred", כנראה שאתם צריכים להחריג סקריפטים מסוימים מאופטימיזציה זו.
מתי כדאי להשתמש ב-"Load JavaScript Deferred"?
פיצ'ר זה יעיל במיוחד להאצת הרינדור הראשוני של הדף. הוא מתאים בעיקר לעמודים עם הרבה תוכן סטטי שאינם כוללים רכיבים אינטראקטיביים. כדאי להימנע מהפעלת אפשרות זו, או להחריג סקריפטים כפי שנציג בפוסט זה במקרים בהם האתר שלכם תלוי ב:
- צ׳אט חי (Live Chat)
- סליידרים אינטראקטיביים
- מפות (כמו Google Maps)
- סקריפטים לוולידציה של טפסים
- כלי אנליטיקס ומעקב
במקרים כאלה, תאלצו כנראה להחריג ידנית סקריפטים שמפסיקים לעבוד. בואו נראה כיצד לעשות זאת…
החרגת קבצים ודומיינים
כדי להחריג קובץ סקריפט, עבור אל WP Rocket → File Optimization → JavaScript Files, וחפשו את השדה "Excluded JavaScript Files".

ניתן להוסיף טקסט ברובריקה המוצגת בתמונה בכדי להחריג סקריפטים כך שהטעינה שלהם לא תתעכב. ניתן לעשות זאת באמצעות:
- ה-URL המלא של הסקריפט (להסיר
?ver=
או פרמטרים נוספים) - מילת מפתח מתוך ה-URL
- Wildcard כדי להחיל על קבוצת קבצים
⚠️ אם תזינו תבנית לא חוקית, WP Rocket יסיר אותה ויציג הודעת שגיאה: "WP Rocket: The following patterns are invalid and have been removed".
פירוט נוסף תוכל למצוא במדריך הדפוסים הלא חוקיים.
איך לזהות אילו סקריפטים להחריג
אם משהו נשבר אחרי הפעלת הפיצ'ר, פתח את כלי המפתחים של הדפדפן (F12
או קליק ימני → Inspect
) ועבור ללשונית Console כדי לבדוק שגיאות. חפש:
- שגיאות 404 בסקריפטים
- שגיאות JavaScript is not defined
- בעיות שקשורות ל-jQuery
התאם את השמות או ה-IDs של הסקריפטים לאלה שבקוד המקור של האתר.
אם אתם רוצים לדעת עוד על האפשרות Defer בטעינת סקריפטים, תנו מבט בפוסט הנקרא כיצד לעכב (defer) פריסת Javascript ולשפר את זמן הטעינה.
החרגת Inline Scripts
אם הבעיה נובעת מסקריפט שמוטמע ישירות ב-HTML (ולא נטען כקובץ), ניתן להחריג אותו באמצעות הפילטר הבא ב-functions.php
של התבנית:
add_filter( 'rocket_defer_inline_exclusions', function( $inline_exclusions_list ) {
if ( ! is_array( $inline_exclusions_list ) ) {
$inline_exclusions_list = array();
}
// הוסף כאן את מילת המפתח
$inline_exclusions_list[] = 'custom-chat-widget-inline-js';
return $inline_exclusions_list;
} );
בדוגמה זו, אנו מחריגים סקריפט עם ID כזה:
<script id="custom-chat-widget-inline-js">
var chatOptions = { theme: "dark", autoOpen: false };
</script>
המחרוזת custom-chat-widget-inline-js
תזהה בדיוק את הסקריפט המדובר.
חשוב: אם תחריגו את jQuery – התוסף WP Rocket יפסיק לדחות את כל ה-Inline Scripts לטובת תאימות.
דוגמאות
1. החרגת סקריפט של צ'אט חי
<script src="https://cdn.livechat.com/widget.js?account=12345"></script>
השתמשו בזה בשדה ההחרגה:
cdn.livechat.com
2. החרגת קובץ ספציפי של תבנית
כדי להחריג את הקובץ:
https://yoursite.com/wp-content/themes/your-theme/js/animations.js?ver=1.2.0
השתמשו ב:
/wp-content/themes/your-theme/js/animations.js
3. החרגת כל קבצי JavaScript של תוסף מותאם
השתמשו בתבנית כזו כדי להחיל על כל הקבצים בתיקייה מסוימת:
/wp-content/plugins/custom-gallery/js/(.*).js
4. החרגת סקריפט ממוזער שמוטען מהקאש
כדי להחריג את הקובץ:
https://yourdomain.com/wp-content/cache/min/1/wp-content/plugins/social-share/js/share.min-ab123c456.js
השתמשו ב:
social-share/js/share.min
תמיד בדקו את האתר לאחר שאתם מוסיפים סקריפט כלשהו ל exclude. אם משהו עדיין לא עובד, נסו תבנית רחבה או ממוקדת יותר לפי שם הקובץ או המיקום.
טיפים לניהול החרגות סקריפטים
הנה כמה טיפים שיעזרו לכם להפיק את המקסימום מהפיצ'ר ועדיין לשמור על האתר תקין:
- החריגו כמה שפחות סקריפטים, כל אחד מפחית את היתרון של defer.
- העדיפו מילות מפתח על פני URL מלאים כדי לשמור על גמישות בין סביבות שונות.
- תעדו את ההחרגות שלך בתגובה או במסמך פנימי לעתיד.
- שלבו את הפיצ'ר הזה עם אופטימיזציות נוספות כמו Critical CSS ו Lazy Loading.
סיכום
האפשרות "Load JavaScript Deferred" של WP Rocket עוזרת לשפר את מהירות האתר על ידי דחיית טעינת סקריפטים. לפעמים זה עשוי לגרום לבעיות עם סקריפטים מסוימים, במקרים אלו ניתן להחריג קבצים או Inline Scripts:
- השתמשו בשדה Excluded JavaScript Files ב-WP Rocket → File Optimization.
- החריגו סקריפטים לפי URL מלא (ללא
?ver=
), מילת מפתח או wildcard. - להחרגת Inline Scripts, השתמשו בפילטר
rocket_defer_inline_exclusions
ב-functions.php
של התבנית.
תמיד בדקו את האתר אחרי כל החרגה וודאו שהכול פועל כראוי באתר.