עם הפופולריות של וורדפרס וכמות נכבדת של בעלי אתרים שעושים בו שימוש, כבר נתקלו בבעיה שנוצרת במסדי נתונים MYSQL בעקבות חידושים שבוצעו בעבר בוורדפרס. מגרסתה ה-2.6 וורדפרס צרפה תוסף אשר מאפשר שמירה אוטומטית של פוסטים בגרסאות שונות. מה שמאפשר לך לחזור לגירסה הקודמת של כתבה בכל עת ולשחזר אותה. רעיון התוסף מאוד יצירתי וטוב, אבל זה יוצר עומס בלתי רגיל על המסדי נתונים. העומס נוצר על ידי שמירת פוסטים בגרסאות שונות שוב ושוב, מה שגורם לאטיות רבה לאתר אינטרנט. גם אם הוספת שינוי קטן בפוסט, וורדפרס ישמור את כל הכתבה מחדש באמצעות פתיחת שורה ROW במסדי נתונים כסוג דף בשם – Revision.
[adsense]
זה לא כזה נורא בהתחלה, כל עוד אין לך יותר מדי דפים ומאמרים באתר. אבל, מה קורה שיש לך 100 דפים או 1000 דפים ? הגירסאות שונות של כל אחד מהפוסטים מכפילה את המידע שנשמרת בבסיס נתונים פי כמה, וזה יוצר איטיות בהחזרת תגובה של השרת לדפדפן, מכוון שמתבצעה שורה ארוכה של ביקושים וסינון מידע במסדי נתונים כדי למשוך מידע הרצוי. בעיית ה- Revision היא בעיה מאוד נפוצה במערכת וורדפרס, והכי עצוב שבעלי אתרים אינם מודעים לדבר הזה. מהירות האתר לא תלויה רק בשרת שבו אתם מאחסנים, אלה גם במערכת ובצורה שאתם משתמשים בו. ככל ש-Revisions נשמרים וגדלים בבסיס נתונים, כך השימוש ב – CPU של השרת גדלה יחד איתו, מה שיכול לגרום לסגירת חשבון בחברת אחסון בגלל יתר שימוש במשאבי השרת גם אם לא התכוונתם לעשות כך.
אם זה הפתיע אותכם, אז חשוב שתדעו שאכן זה קרה וקורה גם היום (ולמעריצי Goddady אכן סגירת חשבונות קורות שם הרבה). אבל אין ממה לפחד ויש אפשרות פשוט לטפל בבעיה זו על ידי מחיקת Revision מהבסיס נתונים. הסרה של כל הפוסטים השמורים ניתן למחיקה ממסדי נתונים ב-phpmyadmin. אם תעשו את זה ידנית, אקח לכם לא קצת זמן. לכן באפשרותכם לעשות 3 שלבים לטיפול בבעיית Revision בוורדפרס.
פתרון למחיקת Revisions מבסיס נתונים
כדי להתגבר על הבעיה, כל שעליך לעשות זה למחוק את הפוסטים מסוג Revision מתוך הבסיס נתונים. אני בא בהנחה שיש לך מספיק ידע והבנה באיך להיכנס לבסיס נתונים בתוך השרת ואתה מכיר את phpmyadmin. לא דרוש ידע טכני רב לביצועה המשימה, אבל אם אינך מכיר Phpmyadmin ואין לך ידע טכני בנושא, עדיף שלא תיגע ותיתן למישהו שיעשה את זה במקומך.
1) עליך לגשת ל-Phpmyadmin בשרת ולבסיס נתונים של וורדפרס
2) נא להכניס ל-SQL את שורת קוד הבא ולהריץ אותו בבסיס נתונים
DELETE FROM wp_posts WHERE post_type = “revision”;
3) סיימתה ! בסיס נתונים אוטומטית ימצא את הפוסטים ודפים מסוג Revision וימחק אותם לצמיתות. זה יחסוך לך הרבה שטח אחסון של אחסון מידע בבסיס נתונים, מה שיגרום לשרת להחזיר את המידע יותר מהר לדפדפן.
הערה: חשוב לשים לב שמדובר במערכת וורדפרס מגרסתה 2.6 ומעלה. אין סיבה לעשות זאת בגרסאות הקודמות. גם כן חשוב, לגבות בסיס נתונים תמיד לפני שעושים שינוי כלשהו. נא לגבות בסיס נתונים לפני ביצועה של מחיקה עמודות של Revision בשרת.
הסבר הפעולה שתבצעה בשרת: בתוך טבלת wp_posts בבסיס נתונים קיים שדה בשם post_type. השדה כולל בתוכו מגוון רב של סוגים של מידע כמו post, page וגם revision. מה שעשינו זה, הרצנו שורה עם פקודה ב-SQL כדי למחוק את כל העמודים שנמצאים תחת סגנון revision….
תודה רבה על כל המאמרים המועילים! אתר נהדר יש לך !!
שאלה קטנה זה מוחק אוטומאטית או חד פעמי כל פעם ?
חדפעמי כל פעם… כל כמה זמן כדי מאוד לעשות אופטימיזציה קטנה לאתר.
אנחנו משתמשים בוורדפרס כדי להגיע למחיר המדהים הזה לבניית אתר
תודו שזה ליגה.
זה עיניין של זמן עד שתבינו ש399 שקל הוא לא מחיר שחברה יכולה להרשות לעצמה ורק מראה על אי מקצועיות.
אני לא אומר שאתם לא מקצועים אלה המחיר מראה כך. אחסון חינם, כולל דומיין כולל מסאג' זה לא עסק…
העיניין של הזמן עד שתבינו את זה. אני אישית לא מכיר אותכם אבל ראיתי הרבה מתחילים במחירים של חינם וגם בבעיות שהם נכנסו מסיבות כאלה ואחרות שלא יציין כאן.
בהצלחה