דלגו לתוכן הראשי
תחזוקת אתרים

שיפור מהירות אתר וורדפרס: אבחון של אתר איטי ותיקון

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

פורסם עודכן 10 דקות קריאה
מחשב נייד שמציג דשבורד עם הלוגו של WordPress וגרפים
תוכן העניינים
  1. בדיקה ראשונה: הבעיה בשרת או בדפדפן?
  2. הכלים שבהם אני מאבחן את האיטיות
  3. הסיבות הנפוצות ומה עושים עם כל אחת
  4. כשממשק הניהול איטי והאתר עצמו בסדר
  5. חנויות ווקומרס איטיות
  6. מתי הבעיה היא האתר עצמו ולא ההגדרות
  7. סדר עבודה בטוח
  8. איך שומרים על אתר וורדפרס מהיר אחרי התיקון
  9. איך אני עובד על אתר וורדפרס שנטען לאט
  10. שאלות נפוצות

התשובה בקצרה

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

בדיקה ראשונה: הבעיה בשרת או בדפדפן?

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

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

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

הכלים שבהם אני מאבחן את האיטיות

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

הסיבות הנפוצות ומה עושים עם כל אחת

אחסון וגרסת PHP

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

מטמון עמודים ומטמון אובייקטים

כשאין מטמון, המערכת בונה כל עמוד מחדש בכל כניסה: מריץ PHP, שולף ממסד הנתונים ומרכיב HTML. מטמון עמודים שומר עותק מוכן ומגיש אותו מיד. WP Rocket הוא תוסף בתשלום שקל להגדיר. LiteSpeed Cache חינמי ועובד הכי טוב כשהשרת מריץ LiteSpeed. W3 Total Cache חינמי ודורש הגדרה מדויקת יותר. בוחרים אחד בלבד. שני תוספי מטמון באותו אתר מתנגשים.

אפשרותמתאים כששימו לב
מטמון של חברת האחסוןהאחסון מנוהל לוורדפרס ומגיע עם מטמון מובנהלא מוסיפים תוסף מטמון עמודים מעליו. משתמשים רק בהגדרות שלו
WP Rocketרוצים הגדרה מהירה עם ממשק פשוטבתשלום שנתי. כולל גם השהיה של JavaScript ותמונות בטעינה מאוחרת
LiteSpeed Cacheהשרת מריץ LiteSpeedבשרת אחר המטמון המלא שלו לא עובד, רק חלק מהאפשרויות
W3 Total Cacheיש מישהו טכני שיגדיר אותוהרבה אפשרויות. הגדרה שגויה שוברת עמודים

WP Rocket הוא שם שהרבה בעלי אתרים מחפשים. הוא כלי טוב. אבל הוא לא מתקן אחסון חלש או תוסף שמריץ מאות שאילתות. הוא מסתיר את הבעיה עד שמגיע גולש שהעמוד שלו לא נשמר במטמון.

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

תמונות בוורדפרס

וורדפרס יוצר כמה גדלים מכל תמונה שמעלים. מאז גרסה 5.3 הוא גם מקטין אוטומטית תמונות ענקיות לרוחב של 2,560 פיקסלים. זה עוזר, אבל לא מספיק. הבעיות שאני מוצא באתרי וורדפרס הן תמונות שמוכנסות לעמוד בגודל המלא במקום בגודל המתאים, תבניות שמגדירות גדלים שלא בשימוש ומייצרות עשרות קבצים לכל תמונה ובוני עמודים שטוענים תמונת רקע ענקית גם בנייד. וורדפרס תומך ב WebP מגרסה 5.8 וב AVIF מגרסה 6.5. תוסף המרה כמו ShortPixel, Imagify או EWWW ממיר גם את התמונות הקיימות. אחרי שמשנים הגדרות גודל, מריצים יצירה מחדש של התמונות הקטנות כדי שהשינוי יחול גם על הישנות.

תוספים כבדים

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

תבנית ובונה עמודים

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

מסד נתונים שהתנפח

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

קריאות לשרתים חיצוניים

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

אתר שנפרץ

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

WP Cron ומשימות ברקע

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

כשממשק הניהול איטי והאתר עצמו בסדר

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

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

חנויות ווקומרס איטיות

בווקומרס יש כמה מקורות איטיות שלא קיימים באתר תדמית:

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

מתי הבעיה היא האתר עצמו ולא ההגדרות

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

אני ממליץ לשקול בנייה מחדש כשמתקיימים שניים או יותר מהבאים:

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

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

סדר עבודה בטוח

  1. גיבוי מלא של הקבצים ומסד הנתונים. בודקים שאפשר לשחזר ממנו.
  2. מדידה של 4 עד 5 עמודים חשובים כשאתם מנותקים. שומרים את התוצאות.
  3. עבודה באתר בדיקה: PHP, מטמון, השבתת תוספים, תבנית.
  4. שינוי אחד בכל פעם ומדידה אחרי כל שינוי.
  5. העברה לאתר החי ובדיקה של טפסים, עגלה וקופה ושל המיילים שהאתר שולח.
  6. מדידה חוזרת באותם עמודים.

איך שומרים על אתר וורדפרס מהיר אחרי התיקון

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

  1. עדכון של הליבה, התבנית והתוספים, קודם באתר הבדיקה.
  2. בדיקה של שניים או שלושה עמודים חשובים ב PageSpeed Insights והשוואה לחודש הקודם.
  3. מבט על בריאות האתר ועל דוח Core Web Vitals ב Search Console.
  4. מחיקה של תוספים מושבתים. תוסף מושבת לא נטען, אבל הוא עדיין קוד באתר שצריך לעדכן.
  5. בדיקה שהתמונות החדשות שהועלו עברו המרה והקטנה.
  6. גיבוי ובדיקה שאפשר לשחזר ממנו.

איך אני עובד על אתר וורדפרס שנטען לאט

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

כדי שהאתר לא יחזור להיות איטי, אני ממליץ על תחזוקת אתרים שוטפת. החבילה של ₪599 לחודש לפני מע"מ כוללת שיפור מהירות, גיבוי שבועי ועד 4 פניות תמיכה. מה עוד מיוחד בתחזוקה של אתרי וורדפרס מוסבר בפוסט על תחזוקת אתר וורדפרס לעסק.

שאלות נפוצות

כמה תוספים זה יותר מדי?

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

מעבר לאחסון אחר יפתור את הבעיה?

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

למה האתר נשבר אחרי שהתקנתי תוסף מטמון?

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

עדכנתי אחסון והתקנתי מטמון. למה האתר עדיין איטי?

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

WP Rocket שווה את הכסף או שתוסף חינמי מספיק?

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

אלמנטור מאט את האתר?

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

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

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

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

יש לכם שאלה אחרת? שאלו אותי בוואטסאפ

01עוד מהבלוג

מאמרים שכדאי לקרוא גם

לכל המאמרים

02יצירת קשר

רוצים שאבדוק את זה אצלכם?

ספרו לי על העסק ועל המטרה ואחזור אליכם עם כיוון ברור.

דברו איתי
דברו איתי בוואטסאפ