כדי לשפר Core Web Vitals בוורדפרס, מודדים תבניות מייצגות, מזהים את השלב האיטי ומשנים את ההתנהגות האחראית באחסון, בתבנית או בתוסף. מתחילים בעמודים ציבוריים כגולש שאינו מחובר, ואז בודקים את האינטראקציות החשובות. תוסף מטמון יכול לקצר את ההמתנה ל-HTML, אך אינו מתקן כל תמונה כבדה, פריסה לא יציבה או טיפול איטי בלחיצה.
גם תנאי הפעולה שונים בין אתרים. אתר תוכן במטמון, אזור חברים ותשלום ב-WooCommerce צריכים כללים שונים. מתעדים את ההבדלים לפני שמחילים אופטימיזציה על כל ההתקנה.
בונים מדידת בסיס לפי תבניות ומצבי מבקר
בוחרים עמוד בית, מאמר טיפוסי, ארכיון, עמוד נחיתה, ובחנות גם מוצר ועגלה. מוסיפים עמוד עם גלריה גדולה או רכיב אינטראקטיבי. תוצאה טובה בעמוד הבית אינה מוכיחה ששאר האתר מתנהג באותו אופן.
משתמשים בנתוני משתמשים זמינים כדי לזהות תבניות וקבוצות מכשירים מושפעות. אחר כך משחזרים ב-PageSpeed Insights ובהקלטות דפדפן. המבוא ל-Core Web Vitals מסביר את ההבדלים בין LCP, INP ו-CLS. חוסר בנתוני שטח הוא פער מידע, לא אפס ולא הצלחה בבדיקה.
רושמים גרסאות WordPress, PHP, תבנית ותוספים רלוונטיים לצד תאריך הבדיקה. מציינים אם המשתמש מחובר, אם יש עגלה, מה מצב ההסכמה ואם הבקשה נענתה ממטמון עמודים. שומרים על גודל תצוגה, תנאי רשת וסדר פעולות קבועים בהשוואות.
מכינים סביבת בדיקה ודרך שחזור לפני עריכת התבנית או החלפת PHP. משתמשים בתוכן מייצג בלי לחשוף נתוני לקוחות. סביבת הבדיקה עשויה להשתמש במטמון או באחסון שונים; בודקים בה תאימות ומאשרים ביצועים בתצורה שפורסמה לאחר אישור השינוי.
חוקרים את זמן השרת לפני שינוי הממשק
אם הדפדפן ממתין זמן רב למסמך, בודקים את מסלול השרת. משווים פגיעה במטמון, בקשה ראשונה אחרי ניקוי ועמוד שאינו נשמר במכוון. החטאת מטמון איטית עדיין חשובה גם כשהביקור החוזר מהיר. בוחנים עם הספק או המפתח הרצת PHP, שאילתות, קריאות HTTP חיצוניות ותחרות על משאבים.
בבדיקה ב-17 באוקטובר 2026, הדרישות הרשמיות של WordPress המליצו על PHP 8.3 ומעלה, MariaDB 10.11 ומעלה או MySQL 8.0 ומעלה, ועל HTTPS. אין פירוש הדבר שכל תוסף ישן תומך בכל גרסת PHP חדשה. בודקים תאימות ועדכונים ובוחרים בענף נתמך שמתאים להתקנה.
שואלים את ספק האחסון על עומס עובדי PHP, מטמון opcode, מגבלות זיכרון ואבחון בקשות איטיות. יותר עובדים אינם בהכרח טובים יותר: דרושים מעבד וזיכרון לעבודתם. קריאת API חיצונית בכל בקשה עשויה לדרוש מטמון או תכנון מחדש, ולא חבילת אחסון גדולה יותר.
לא הופכים ניקוי מסד נתונים למחיקה גורפת. מזהים שאילתות יקרות ואת התוסף שאחראי לנתונים. מגבים לפני הסרת רשומות מיותרות, שומרים היסטוריה נדרשת ובודקים שהניקוי אינו יוצר מחדש אותה עבודה בבקשה הבאה. כשהמסמך נשאר צוואר הבקבוק, נעזרים במדריך לקיצור זמן תגובת השרת.
מפרידים בין שכבות המטמון והחריגים שלהן
מטמון האובייקטים הרגיל של WordPress מתקיים למשך הבקשה הנוכחית. שמירה מתמשכת דורשת שילוב ושירות אחסון תואמים. שימוש חוזר בנתונים בין בקשות אינו זהה להגשת עמוד HTML שמור, ולכן מחליטים בנפרד על כל שכבה.
ההשוואה הבאה מגדירה את תפקידה של כל שכבה.
| שכבה | עבודה שאפשר לחסוך | בדיקות נפרדות |
|---|---|---|
| מטמון עמוד מלא | בנייה מחדש של HTML מתאים | משתמשים מחוברים, התאמה אישית ועגלה |
| מטמון אובייקטים מתמשך | שליפה או חישוב חוזרים | ביטול תוקף, זמינות וזיכרון |
| מטמון opcode של PHP | הידור חוזר בכל הרצה | הגדרות אחסון ועדכון קוד |
| מטמון קבצים בדפדפן | הורדת משאבים שלא השתנו | כתובות עם גרסה וביטול תוקף |
| CDN או מטמון קצה | הגשה חוזרת משרת המקור | מפתחות, עוגיות, ניקוי ותוכן פרטי |
מגדירים אחראי לכל שכבה. שני תוספים שמשכתבים סקריפטים, מייצרים CSS קריטי או מחליפים כתובות תמונות מקשים על האבחון. בודקים את המטמון הקיים אצל הספק לפני הוספת מערכת. סימון פעיל במסך הניהול אינו מוכיח שהתגובה הציבורית ניתנת לשמירה או שהמטמון אכן בשימוש.
בודקים כותרות תגובה ובקשות חוזרות ללא התחברות. לאחר שינוי תוכן מוודאים שהעמוד הציבורי מתעדכן. בוחנים שפה, מטבע, תוכן לפי מכשיר והסכמה. אם הם משנים את התגובה, מגדירים שונות בטוחה או עקיפה במקום להניח שהמטמון מבין כל תוסף.
אסור להגיש חשבון או עגלה של לקוח אחד לאחר באמצעות מטמון משותף. התיעוד של WooCommerce מציין את עגלה, תשלום והחשבון שלי כעמודים דינמיים שיש להחריג ממטמון עמודים לא מתאים. מסלולים מותאמים והתנהגות הפעלות דורשים בדיקת השילוב בפועל.
בודקים התנהגות של תבניות ותוספים, לא רק כמות
רושמים מה כל תוסף מספק והיכן המבקר צריך אותו. תוסף טופס בעמוד קשר אחד נבדק אחרת ממערכת חיפוש בכל האתר. מספר התוספים אינו מגלה עלות שאילתות, גודל HTML, שירותים חיצוניים או זמן JavaScript.
בסביבת הבדיקה מכבים רכיב לא חיוני אחד, מנקים מטמונים רלוונטיים וחוזרים על התרחיש. מתעדים מה נעלם ומה השתפר. בוחנים גם שרת וגם דפדפן: תוסף עשוי להאט בקשות ללא מטמון בלי להוסיף קובץ גלוי, או להוסיף וידג'ט בלי שינוי משמעותי בזמן PHP.
אם האתר נשאר כבד, מנסים תבנית פשוטה יותר עם תוכן מייצג. תבנית הדגמה ריקה אינה מאמר עם ניווט, תרגומים, פרסומות וגלריות. משווים פונקציות נחוצות בתנאים דומים; ציון בחנות תבניות אינו תחזית לאתר שלכם.
תבניות בלוקים ועורך הבלוקים אינם מבטיחים עמוד קטן. בלוקי שאילתות חוזרים, פריסות מקוננות, גלריות והרחבות אינטראקטיביות ממשיכים ליצור עבודה. בודקים את הפלט, מפשטים מבנים שחוזרים על מידע ומוודאים שרכיבים שאינם בשימוש אינם טוענים עדיין קבצים משותפים.
כוללים גם החלטות תוכן. החלפת קרוסלה דקורטיבית בתמונה שימושית אחת יכולה להיות קלה יותר לתחזוקה מתיקונים חוזרים לקוד. שומרים על המידע והנגישות כשמסירים התנהגות שאינה מסייעת לקורא.
משתמשים בסימון התמונות של WordPress ובודקים את התוצאה
פונקציות המדיה יכולות להפיק מידות ומועמדים רספונסיביים מתוך נתוני הקובץ. משתמשים בגודל רשום מתאים במקום להכניס את המקור המלא לכל תמונה קטנה. לאחר שינוי גדלים בתבנית בודקים את הקבצים הישנים; ייתכן שדרוש יצור מחדש של גרסאות, עם תכנון מקום אחסון ועיבוד.
קטע הקוד מציג את התמונה הראשית דרך ממשק המדיה. הוא מיועד לתבנית PHP של WordPress שבה זמין פוסט נוכחי.
<?php
$image_id = get_post_thumbnail_id();
if ( $image_id ) {
echo wp_get_attachment_image(
$image_id,
'large',
false,
array( 'class' => 'article-featured-image' )
);
}
?>בודקים את ה-HTML הסופי ולא רק את המקור. תבנית או תוסף יכולים לשנות srcset, sizes, מאפייני טעינה ומידות. משווים את בחירת הדפדפן לשטח התמונה בנייד ובמחשב. מדריך אופטימיזציית התמונות מסביר את השפעת גודל התצוגה וצפיפות הפיקסלים.
WordPress תומך בהעלאת WebP מאז 5.8 וב-AVIF מאז 6.5, כאשר ספריית התמונות בשרת תומכת בפורמט. התמיכה אינה ממירה אוטומטית כל JPEG ישן. בודקים פורמט תגובה, חלופות וגדלים שנוצרו לפני הפעלת שירות עיבוד נוסף.
מנגנון טעינת התמונות התפתח, ובגרסה 6.3 נוספה עבודה מתואמת של טעינה דחויה ועדיפות הורדה. לא כל תמונה צריכה להיטען באיחור. מזהים את תמונת ה-LCP בפועל, מאפשרים גילוי מוקדם ובודקים שתוסף לא הוסיף לה loading="lazy". גם סימון כל התמונות בעדיפות גבוהה מבטל תעדוף מועיל.
מצמצמים משאבים חוסמים בלי לשבור תלויות
מזהים איזה קובץ עיצוב או סקריפט מעכב את התוכן ומי אחראי לו לפני הסרה. קובץ שנקרא על שם תוסף טפסים עשוי לתמוך גם ברכיב בתחתית, בחלון קופץ או בתבנית מתורגמת. בודקים את כל המצבים כשמגבילים אותו לעמודים מסוימים.
לסקריפט מותאם משתמשים בממשק enqueue של WordPress במקום במסנן טקסט גורף שמשכתב תגיות. גרסה 6.3 הוסיפה את strategy עבור defer ו-async. מגדירים תלויות במדויק, משום ש-WordPress מתחשב בעץ התלויות בעת בחירת דרך טעינה מתאימה.
הדוגמה מיועדת ל-functions.php של תבנית בת, והקובץ שאליו היא מפנה חייב להיות קיים בה.
<?php
add_action( 'wp_enqueue_scripts', function () {
wp_enqueue_script(
'site-navigation',
get_stylesheet_directory_uri() . '/assets/navigation.js',
array(),
'1.0.0',
array( 'strategy' => 'defer', 'in_footer' => true )
);
} );הקוד אינו דוחה את כל סקריפטי התוספים. הוא מציג הכרזה על סקריפט פרטי ללא תלויות רשומות. אם הקוד תלוי בספרייה אחרת, מוסיפים את המזהה הנכון ובודקים סדר אתחול. שומרים על שימושיות בזמן הטעינה ולא דוחים ניווט חיוני עד ללחיצה על כפתור שאינו פועל.
מפעילים CSS קריטי או הסרת משאבים רק אחרי בדיקת הפלט. בודקים תפריטים, חיפוש, הודעות אימות, הסכמה ותוכן דינמי. CSS שאינו בשימוש בזמן ניווט עשוי להידרש בהמשך. צילום מסך תקין אינו מוכיח שכל הממשק נשמר.
שומרים על יציבות גופנים ופריסה בכל התבניות
ממפים משפחות גופנים, משקלים ותווי שפה שמתבקשים בפועל. מסירים וריאציות מיותרות וכפילויות. באחסון מקומי בודקים רישיון ושומרים את התווים הנחוצים לכל שפה. קובץ עם תווים לטיניים בלבד לא יציג עברית או קוריאנית כראוי.
בודקים את הגופן החלופי לפני הגעת הגופן הרצוי. משווים שבירת שורות, רוחב כפתורים וגובה כותרות. הגדרת font-display יכולה לשמור על טקסט גלוי, אך החלפתו עדיין יכולה להזיז תוכן אם המידות שונות. שומרים מקום לפרסומות, מדיה והודעות ולא מוסיפים תוכן מעל אזור שהמבקר קורא.
בודקים כותרות דביקות ותפריטים בהגדלה ובגדלי תצוגה מציאותיים. פריסה יציבה בצילום מחשב יכולה לזוז כשהטקסט נשבר בטלפון. מתקנים מידות או זרימה במקום להסתיר את הסימפטום בזמן המדידה.
מכינים מערך בדיקות נפרד ל-WooCommerce
בחנות בודקים מוצר פשוט, מוצר עם וריאציות, מסננים, מיני-עגלה, עגלה ותשלום. כוללים הוספה, שינוי כמות, קופון ובחירת אמצעי תשלום בסביבה מתאימה. מודדים גם אחרי שהעמוד נראה טעון: סקריפטים של וריאציות יכולים להפוך תצוגה ראשונית מהירה לקנייה איטית.
נמנעים מעצות גורפות ישנות על cart fragments. מאז WooCommerce 7.8, wc-cart-fragments אינו נטען כברירת מחדל בכל מסלול. הוא יכול להופיע כאשר מוצג Cart Widget, כאשר סקריפט אחר תלוי בו או כשהקוד טוען אותו מפורשות. בלוק Mini-Cart פועל אחרת ואינו משתמש באותו API.
בודקים איזה מימוש קיים לפני שינוי. כיבוי הסקריפט הישן בלי להבין את הווידג'ט עלול להשאיר עגלה לא מעודכנת. מעבר לבלוק דורש בדיקות תאימות ועיצוב, בעיקר עם הוספה מותאמת לסל. חיסכון תיאורטי אינו מצדיק הצגת מצב הזמנה שגוי.
גלריות מוצר צריכות כללי תמונות משלהן. טוענים במהירות את התמונה הנראית הראשונה, שומרים את מידותיה ולא מאתחלים מיד כל סרטון או הגדלה. מדיה חלופית צריכה להיות זמינה בבחירה. מוודאים ששינוי וריאציה שומר על סנכרון התמונה, המחיר והזמינות.
הופכים את התיקון לשגרת פרסום חוזרת
לכל שינוי רושמים תבנית, גורם חשוד, הגדרה או קוד מדויקים, דרך חזרה ומדידות. משתמשים ברשימת בדיקות הביצועים ושומרים הקלטות שמסבירות את ההחלטה.
אחרי עדכונים חוזרים על אותם מסלולים עם מטמון קר וחם. בודקים בקשות שנכשלו, שגיאות JavaScript, תוכן ישן וטפסים לפני שמפרשים שיפור בציון. עוקבים לאורך זמן לפי מכשיר ותבנית, כדי ששיפור בעמוד אחד לא יסתיר הידרדרות באחר.
בוחנים תוספים חדשים ושינויי תבנית גדולים לפני פרסום ומעדכנים את המיפוי כשהפונקציות העסקיות משתנות. מדריכי הפלטפורמות מסייעים להפריד בין התנהגות המערכת לבעיות דפדפן משותפות. בשינוי הבא בוחרים צוואר בקבוק שנמדד, מגדירים מה חייב להמשיך לעבוד ובודקים את שניהם יחד.