ישנם לא מעט דרכים לשיפור זמן הטעינה של אתרי וורדפרס עליהן כתבתי במאמרים קודמים. עם זאת, ישנה פעולה אחת שאיני רואה כי מבוצעת רבות על ידי מפתחי וורדפרס והיא טעינה סלקטיבית של תוספים בהתאם לצורך.
זוהי פעולה מתבקשת מכיוון וסביר להניח כי התוספים בהם אתם משתמשים טוענים לא מעט קבצי CSS ו JS גם בעמודים בהם אין שימוש באותם תוספים.
באחד הפרוייקטים האחרונים שלי השתמשתי במספר תוספים המאפשרים את הפונקציונליות שנדרשה לאותו אתר. אני די מרוצה מהבחירה שלי באותם תוספים, עם זאת גיליתי (כמובן) שאלו נטענים בכל עמוד ועמוד באתר, בין אם השתמשתי בפונקציונליות שלהם באותו בעמוד ובין אם לא.
מה גם שאלו תוספים יחסית ״כבדים״ וטוענים לא מעט קבצי Javascript וקבצי CSS בזמן הטעינה שלהם, דבר המאט על זמן העלייה של כל עמוד באתר.
בשיטוט למציאת דרך למנוע זאת ולשפר את מהירות הטעינה של אותו אתר, נתקלתי בתוסף הנקרא Plugin Organizer ואני חייב לומר שזהו אחד התוספים השימושיים שנתקלתי בהם. לפני שנסביר על הגדרות התוסף, נאמר מספר מילים על ההשפעה של תוספים על מהירות אתר הוורדפרס שלכם.
כיצד תוספי וורדפרס משפיעים על מהירות האתר שלכם?
תוספי וורדפרס הכתובים נכון דואגים לכך שייטענו באתר שלכם רק כשנמצא בהם שימוש. וורדפרס עצמה אינה טוענת תוספים שאינם פעילים (Inactive Plugins) ומכאן שלאלו אין השפעה על ביצועי האתר.
עם זאת, היא תמיד טוענת את כל התוספים הפעילים, בין אם הם נדרשים או לא.
לפעמים כותבי תוספים אינם יכולים לצפות מתי והיכן אתם משתמשים בתוסף שלהם באתר. במקרים אלו, הם ייטענו את קוד התוסף בכל עמוד, גם אם אינו בשימוש.
הבנה של איך וורדפרס טוענת סקריפטים וסגנונות עוזרת לראות מדוע זה בעייתי.
אם כל התוספים טוענים נכסים (קבצי JavaScript וקבצי CSS), סביר להניח שאותם תוספים ישפיעו לרעה על ביצועי אתר הוורדפרס שלכם ועל מדדי Core Web Vitals, במיוחד Interaction to Next Paint (INP) ו-Largest Contentful Paint (LCP).

כיצד Plugin Organizer עוזר לשפר את ביצועי האתר?
בהתאם לתוספים בהם אתם משתמשים, כנראה שחלקם נדרשים רק בעמודים מסוימים, בפוסטים מסוימים, או רק בסוגי תוכן כאלו או אחרים. תוספים מסוימים נדרשים אך ורק בלוח הבקרה של וורדפרס, כך שאינם צריכים להטען כלל עבור הגולשים.
התוסף Plugin Organizer מאפשר לכם את הפעולות הבאות (בין היתר):
- בחירה סלקטיבית של אילו תוספים ייטענו ואילו לא בהתאם לכתובת (URL).
- לאפשר או לא לאפשר תוספים מסוימים בהתאם לתפקיד המשתמש (User Role).
- לאפשר טעינה / הסרה של תוספים בהתאם לסוגי תוכן מותאמים (Custom Post Type).
- לקבוע ולשנות את הסדר בו נטענים התוספים.
- לבטל תוספים ולטעון אותם רק בהתאם לצורך.
בנוסף, ניתן באמצעותו ליצור קבוצה של מספר תוספים, אותם ניתן לבטל בלחיצת כפתור בעמוד או בסוג תוכן מסוים בהתאם לצורך. עוד פונקציונליות של התוסף היא היכולת לבחור אילו תוספים ייטענו במובייל.
ניתן גם לשנות את סדר טעינת התוספים באתר. פעולה זו יכולה לעזור במקרים מסוימים להציג למשתמש את התוכן החשוב בחלקו העליון הקריטי של העמוד (Critical Path) מהר יותר.
שימוש בתוסף Plugin Organizer
התקינו והפעילו את התוסף, גשו להגדרות התוסף תחת Plugin Organizer > Settings וסמנו את האפשרות Selective Plugin Loading.
גשו לאחד העמודים באתר הוורדפרס שלכם ותמצאו בתחתית העמוד טבלה המציגה את כל התוספים שלכם (הפעילים והלא פעילים). בצורה הכי פשוטה, יש באפשרותכם לבחור אילו תוספים ייטענו בעמוד הספציפי הזה ואילו לא.

שימו לב – בזמן התקנת התוסף, מתבצע ניסיון ליצור ספרייה בשם mu-plugins תחת התיקיה wp-content. בהתאם להרשאות בשרת, ייתכן שהתוסף לא יצליח ליצור תיקייה זו. התוסף עצמו יותקן אך הטעינה הסלקטיבית לא תעבוד.
במקרה כזה, צרו תיקייה זו בעצמכם והעתיקו אליה את הקובץ PluginOrganizerMU.class.php.
הגדרת תוספים גלובלית
באותה מידה, יש באפשרותכם את האפשרות לגשת ל Plugin Organizer > Global Plugins ולבטל את הטעינה של תוספים מסוימים בכל האתר.
במידה ואתם רוצים לטעון תוסף מסוים רק בעמוד ספציפי, נכון יהיה לבטלו דרך ה Global Plugins, לגשת לעמוד בו אתם מעוניינים שהתוסף ייטען ולהפעיל אותו רק באותו עמוד.
ככלל, כל הגדרות התוסף המתבצעות ברמת העמוד / הפוסט יידרסו את ההגדרות הגלובליות של התוסף.
טעינת תוספים סלקטיבית לפי סוג תוכן מותאם (Custom Post Type)
אחד מאפשרויות התוסף היא לטעון תוספים סלקטיבית בהתאם לסוגי התוכן המותאמים הקיימים באתר הוורדפרס שלכם. גשו ל Plugin Organizer > Settings, תחת Custom Post Type Support בחרו לאילו סוגי תוכן אתם מעוניינים לאפשר פונקציונליות זו.
גשו ל Plugin Organizer > Post Type Plugins, בחרו את סוג התוכן עליו תרצו להחיל את השינויים והגדירו אילו תוספים יהיו פעילים ואילו לא.

כיצד לזהות תוספים שדורשים טעינה סלקטיבית
לפני ביטול תוספים בעמודים ספציפיים, עליכם לדעת אילו תוספים טוענים נכסים מיותרים. הנה מספר דרכים לזהות אותם:
- השתמשו ב-Query Monitor כדי לראות אילו סקריפטים וסגנונות נטענים בכל עמוד ואיזה תוסף טען אותם.
- פתחו Chrome DevTools, עברו ללשונית Coverage ובדקו לאילו קבצי CSS/JS יש אחוז גבוה של קוד שאינו בשימוש.
- הריצו בדיקת Google PageSpeed Insights וחפשו את ההמלצות "Reduce unused JavaScript" ו-"Reduce unused CSS".
בדקו את האתר שלכם ביסודיות לאחר ביטול תוספים בעמודים ספציפיים. לחלק מהתוספים יש תלויות שאינן ברורות מיד, וביטולם עלול לשבור פונקציונליות.
חלופות ל-Plugin Organizer
בעוד Plugin Organizer הוא אפשרות חינמית מוצקה, מספר חלופות מודרניות מציעות פונקציונליות דומה או משופרת:
- Asset CleanUp – תוסף חינמי שמאפשר לבטל טעינה של קבצי CSS ו-JS ספציפיים לפי עמוד. הוא עובד ברמת הנכס ולא ברמת התוסף, ונותן שליטה יותר מפורטת.
- Perfmatters – תוסף פרימיום עם Script Manager חזק שמאפשר ביטול סקריפטים לפי עמוד, סוג תוכן או תבנית regex. כולל גם ביטול לפי מכשיר ותכונות ביצועים נוספות.
- WP Rocket File Optimization – אם אתם כבר משתמשים ב-WP Rocket, תכונות Delay JavaScript Execution ואופטימיזציית הקבצים שלו יכולות לטפל במשימות רבות דומות.
לגישה מבוססת קוד, ניתן גם לטעון JavaScript בטעינה עצלה לפי דרישה עבור סקריפטים הקשורים לאינטראקציות ספציפיות של המשתמש.
שאלות נפוצות
שאלות נפוצות בנושא טעינת תוספים סלקטיבית:
סיכום
טעינה סלקטיבית של תוספים היא אחת הדרכים היעילות ביותר לשפר את ביצועי אתר וורדפרס. על ידי מניעת טעינה של תוספים מיותרים בעמודים בהם אינם נדרשים, אתם מפחיתים את כמות ה-CSS וה-JavaScript שהדפדפן מעבד.
Plugin Organizer מספק פתרון חינמי פשוט, בעוד חלופות כמו Asset CleanUp ו-Perfmatters מציעות שליטה מפורטת יותר ברמת הנכס. בכל מקרה, שלבו עם טכניקות אופטימיזציה נוספות לתוצאות הטובות ביותר.


מצויין