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

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

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

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

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

מדוע מפתחים משתמשים בוורדפרס

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

ראשית, וורדפרס קלה במיוחד להתקנה. כל מה שאתה צריך הוא סביבת LAMP/LEMP הסטנדרטית - לינוקס, Apache/Nginx, PHP ו-MySQL/MariaDB כ-DBMS. אם יש לך את זה, אתה יכול להתחיל להתקין וורדפרס.

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

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

מה בדיוק הבעיה בוורדפרס?

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

בעל יכולת רחבה, אבל אף פעם לא מצוין

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

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

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

פריצות וסדקים: וורדפרס יכולה להיות דלת פתוחה

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

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

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

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

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

  • קל למישהו להעלות קובץ הפעלה לוורדפרס, ואפשרות זו צריכה להיות מוגבלת כברירת מחדל. צריך רק אדם קצת חכם כדי להעלות קובץ עם קוד זדוני לתוך סקריפט PHP והאתר שלך נפגע.
  • נכון לעכשיו, ניתן להגדיר אפשרויות במערכת הקבצים. במקום זאת, וורדפרס צריכה להסיר את זה ולהניח שמערכת הקבצים היא "לקריאה בלבד". בעוד הליבה של וורדפרס עושה זאת, תוספים לא עוקבים אחר דפוס התנהגות זה. אם אתה נתקל בתוסף שמשנה את קובץ התצורה שלו בזמן שהוא פעיל בייצור, הפסק להשתמש בו. פעולה זו מעידה על מערכת קבצים הניתנת לכתיבה, וכתוצאה מכך, דרך קלה לבצע שינויים זדוניים. פתרון אחד הוא להסיר את הקובץ wp-config.php משורש המערכת (WordPress עובד בכל מקרה) אבל זה לא ערובה מוחלטת לאבטחה ובכל מקרה זה מונע את התפקוד הנכון של תוספים רבים שנכתבו בידי מפתחים לא מודעים .
  • כברירת מחדל, וורדפרס מאפשרת למשתמשים לבצע כמה ניסיונות כניסה שהם רוצים. זה פותח את הדלת למתקפת כוח גס שבה האקרים ממשיכים לנסות סיסמאות אקראיות עד שהכניסה תצליח. מערכת וורדפרס CMS אמורה להשבית ניסיונות כניסה בלתי מוגבלים בעת ההתקנה.

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

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

תוספים כמקור לבעיות

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

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

תוספים ואבטחה

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

מגבלות על גרסאות WP

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

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

התנפחות התוסף

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

תוספים קוטעים את זרימת העבודה שלך בוורדפרס

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

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

ארכיטקטורת האינטרנט התפתחה

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

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

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

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

נתונים יתומים ומבנה נתונים באופן כללי

בהתחלה, מבנה הנתונים של וורדפרס הוא פשוט. עם זאת, עד מהרה מתברר שיש טבלאות מיותרות במסד הנתונים של WP. לדוגמה, מדוע צריך להפריד את המטא נתונים לשתי טבלאות: אחת בשם "wp_posts" ואחת בשם "wp_postmeta"? האם לא עדיף לכלול את כל הנתונים בטבלה אחת? אותו דבר לגבי טבלת ההערות, שיש לה טבלה שנייה משויכת למטא נתונים שלה.

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

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

מה Plesk Toolkit עבור WordPress עושה כדי לשפר את המצב

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

ניהול אבטחה

עם ערכת הכלים, אתה יכול לסגור אוטומטית את חורי האבטחה הברורים ביותר. לדוגמה, אתה יכול להעביר את XML ל-RPC ping back, לוודא שהתיקיה "wp-content" מאובטחת ועוד הרבה יותר. ערכת הכלים מציגה את מצב האבטחה של האתר שלך ומסמנת בעיות עם "סכנה" או "אזהרה" שהיא המלצה לשיפור האבטחה.

מעדכן את מופע ה-WP שלך

זמין כפיצ'ר תוסף ב-Toolkit 3.x ואילך, תכונת העדכונים החכמים מאפשרת לך לשמור על אתר ייצור פועל ולעדכן אותו בו-זמנית, ללא סיכון לשבירת האתר. הכלי בודק בעיות שעלולות להתרחש עקב העדכון ויגיד לך אם יש סיכון כלשהו.

שיבוט

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

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

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

לא משנה מה הסיבה שלך, כלי השיבוט בערכת הכלים של WordPress מקל על העתקה של הכל, כולל קבצי אתר, מסד נתונים של האתר וכל הגדרות WP CMS.

סִנכְּרוּן

מסיבות שונות אולי כדאי לוודא ששני אתרי וורדפרס תואמים. WP Toolkit מאפשר לך לסנכרן אוטומטית גם את מסד הנתונים של WP וגם את כל קבצי ה-WP.

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

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

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

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

ציד באגים ב-WP

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

סיכום.

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

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