אתר בוורדפרס – Too good to be true או איפה הקטצ'

יונ 27, 2021
wordpress-new-post.jpg

בכתבה הקודמת דיברנו על עלויות הקמת אתר על בסיס מערכת Wordpress, כעט ננסה להסביר מה זה WordPress, למה זה כל כך נפוץ ומפתה ואיפה הקטצ'.

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

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

התקנה

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

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

ארכיטקטורה

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

תבניות

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

תוספים

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

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

 

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

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

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