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

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

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

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

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

מה בעצם ממלא את מסד הנתונים של WordPress שלך

לפני שמנקים, כדאי להבין מה יש שם בפנים.

גרסאות קודמות של פוסטים

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

פוסטים ועמודים באשפה

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

Transients שפגו

תוספים משתמשים ב-transients כדי לשמור נתונים זמניים - תשובות מ-API שנשמרו במטמון, תוצאות חיפוש וכדומה. כאשר transient פג, WordPress לא תמיד מנקה אותו מיד. הרשומות הפגות מצטברות בטבלה wp_options, שנבדקת כמעט בכל טעינת עמוד.

מטא-נתונים עזובים

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

תגובות ספאם ומאשפות

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

עומס עודף בטבלאות

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

איך לנקות את מסד הנתונים של WordPress

השתמש בתוסף לניקוי בטוח ומתוזמן

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

  • WP-Optimize - מאפשר לנקות גרסאות קודמות, transients, אשפה, תגובות ספאם, ולבצע אופטימיזציה לטבלאות. כולל תזמון אוטומטי לניקוי שוטף.
  • Advanced Database Cleaner - שליטה יותר מפורטת, כולל זיהוי נתונים עזובים ותיקון טבלאות.
  • WP Rocket - אם כבר משתמשים ב-WP Rocket לקאשינג, לשונית אופטימיזציית מסד הנתונים שלו מטפלת ברוב הדברים האלה בלי להוסיף תוסף נוסף.

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

הגבל גרסאות קודמות מעכשיו

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

define('WP_POST_REVISIONS', 5);

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

בצע אופטימיזציה לטבלאות אחרי הניקוי

אחרי מחיקת כמות גדולה של נתונים, הפעל פקודת OPTIMIZE TABLE על הטבלאות הראשיות שלך. זה מחזיר את המקום שהתפנה ממחיקות ומבטל את פיצול מבנה הטבלה. רוב תוספי הניקוי עושים זאת אוטומטית. אם מעדיפים לעשות זאת ידנית, אפשר להפעיל זאת מ-phpMyAdmin על ידי בחירת הטבלאות, בחירת "Optimize table" מהתפריט הנפתח, ולתת לו לרוץ.

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

שיפור מהירות וורדפרס מתחיל ממה שמתחת למכסה המנוע

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

מסד נתונים נקי אומר שאילתות מהירות יותר. שאילתות מהירות יותר אומרות Time to First Byte נמוך יותר. ו-TTFB נמוך יותר אומר שכל השאר - הקאשינג שלך, ה-CDN שלך, הנכסים המותאמים שלך - יכולים לעשות את עבודתם בלי לחכות למסד נתונים איטי.

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

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

הגדרת תחזוקה אוטומטית

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

כמה דברים שכדאי לתזמן:

  • מחיקת transients שפגו (שבועי)
  • הסרת גרסאות קודמות ישנות מעבר למגבלה שהגדרת (שבועי או חודשי)
  • ריקון האשפה אוטומטית (WordPress יכול לעשות זאת באופן טבעי - הגדר EMPTY_TRASH_DAYS ב-wp-config.php)
  • אופטימיזציה לטבלאות אחרי כל הפעלת ניקוי

אם סביבת האירוח שלך תומכת בקאשינג ברמת השרת או Redis object cache, אלה עובדים לצד מסד נתונים נקי - לא במקומו. Object caching מפחית כמה פעמים WordPress פונה למסד הנתונים בכלל, אבל זה עובד הכי טוב כאשר השאילתות שהוא כן מריץ הן קלות ומהירות. לעוד מידע על איך שכבות קאשינג משפיעות על ביצועי WordPress, ראה איך להשתמש בתוספי קאשינג בלי לשבור את האתר בטעות.

עוד דבר אחד: טבלת wp_options

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

כלים כמו Query Monitor או תוסף Advanced Database Cleaner יכולים להראות לך מה יש שם. חפש שורות המסומנות כ-autoload = yes - אלה נטענות בכל בקשה. כל מה שגדול, מיושן, או שייך לתוסף שהסרת ניתן למחוק בבטחה.

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

לסיכום

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

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

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