לגייר או לא לגייר תבנית וורדפרס

מבוא:

מדי יום הרבה מאוד אנשים בוחרים וורדפרס כמערכת לניהול אתר. הבעיה היחידה שרובם נתקלים – בחירת עיצוב. למי שיש תקציב גדול לבניית אתר זאת לא בעיה, פונים למעצב שדואג ליצירת עיצוב מושלם. בעלי תקציב נמוך חוסכים כסף ומנסים למצוא פתרונות מוכנים: תבניות HTML בתשלום סמלי מלבישים אותה על וורדפרס, תבנית מוכנה בתשלום סמלי 15-200 דולר, תבנית חינמיות.
לאתרים בעברית ובערבית קיימת בעיה נוספת – הפיכת תבנית לכתיבה מימין לשמאל (גיור בעברית וRTL באנגלית).

לפני הכול:

אני בונה אתרים על בסיס וורדפרס כבר יותר מ6 שנים. בעבר בניתי אתרים על בסיס תבניות מוכנות שרכשתי בTemplate Monster, Theme Forest, אתרי תבניות חינמיות ותבניות HTML מוכנות. בזמנו זה היה פטרון מאוד מהיר ויעיל. תוך 5-10 שעות אתר באוויר עם הזנת תכנים.
אופן עבודה שלי הוא כזה:

  1. לזהות צורכי הלקוח.
  2. לתכנן את התבנית בצורה הטובה ביותר.
  3. לשנות את הright לleft ולהפך בקובץ CSS.
  4. לשנות כל התמונות ומיקום שלהם.
  5. לנקות את התבנית מקוד מיותר.

בשנתיים אחרונות חל ריבוי דפדפנים ומערכות הפעלה כמו כן ריבוי תבניות Premium עם שילוב של תשתיות מובנות (FrameWork), HTML5, CSS3 ו AJAX. גיור תבנית הפך להיות לסיוט ובעיות רבות (בין היתר בגלל התאמה לדפדפן Internet Explorer).

בפוסט הזה אני רוצה לדון על חסרונות של תבניות Premium, בעיקר ממבט של מגייר תבניות.
[notice]חשוב לציין, אין להתייחס לפוסט זה כזלזול בתבניות הללו או המלצה לא לקנות תבניות Premium. אני רק מנסה לענות לשאלה הנפוצה ביותר. "למה גיור כזה יקר?".[/notice]

היתרונות של תבניות:

  1. עלויות נמוכות. בין 10-45$ לתבנית.
  2. תבניות מותאמות "מתוך קופסה". מתקינים, מגדירים את מה שצריך ומשתמשים.
  3. כל תבנית כוללת בתוכה 3-10 תבניות שונות (מבנה של דף הבית ודפים פנימיים).
  4. שורטקודים מובנים בתוך התבנית.

חסרונות של תבניות:

  1. מאוד כבדות – תיקיות תבנית שוקלות 7-20 מ"ב (מתוך 30 תבניות שרכשתי במהלך שנתיים אחרונות). תבנית בסיסית שוקלת פחות 0.8 מ"ב עם תמונות.
  2. קובץ CSS גדול מדי וכבד מדי (בממוצע 80K בסביבות 3000 שורות). קובץ CSS לאתר תדמיתי פשוט שוקל כ 10-15K כ300-400 שורות. נשאלת השאלה למה צריך לטעון קובץ גדול מדי ולא שמיש?
  3. שימוש ב FrameWork שעובד במקביל עם התבנית (סוג של תבנית אם ותבנית עצמה). הרבה מאוד מתכנתים יוצרים עבור עצמם "שלד" של תבנית ועל בסיסה בונים את התבניות או אתרים. במקרה הזה ישנם שתי אפשרויות לעבודה: לקחת FremaWork מוכן שכבר קיים או ליצור חדש. זה מאפשר למתכנת לייצר תבניות בלי מאמץ. מצד אחד זה טוב ומאוד נוח, בתבנית אחת יש הכול, אבל מצד שני זה יוצר מורכבות מבנית בכתיבת תבנית ויוצר הרבה מאוד פונקציות לוגיות מיותרות עם מבנה מסורבל.
    שימוש בתבניות כאלה מחייב קודם כל הבנה (מה קודם למה ואיזה קובץ אחראי על כל חלק בתבנית), לאחר מכן טיפול יסודי. יותר מזה, ישנם הרבה מאוד פריטים לא נדרשים בתבניות הללו. אני בספק שלאתר תדמיתי פשוט של 4-5 דפים דרוש FrameWork כול כך מורכב.
  4. שימוש וטעינה של הרבה מאוד JavaScript-ים וקוד מיותר. אני לא מרחיב על JS השונים שבתבנית. אבל יש סקריפט אחד שחשוב לכתוב עליו. רוב התבניות משתמשות בסקריפט שנקרה cufon, למעסה מדובר בסקריפט שמחליף גופנים רגילים לגופנים השונים. יש עם זה בעיה מאוד גדולה, גופנים בתבניות לא תומכות עברית. נוצר מצב שסקריפט נטען אבל אין בו שימוש, יותר מזה הוא לא מציג את אותם תכנים בכלל למשתמש.
  5. שימוש בשורטקודים. הרבה מאוד תבניות משתמשות בקוד מקוצר לתפעול אתר, אבל במקרה של חוסר זהירות או יכולת שליטה נכונה באתר תביא למצב שבו אתר נראה לא כמו שהתכוונו. מחיקה של אחד האותיות או סוגר של שורטקוד ([/]) יכולה לשבש את כל המבנה של אתר/עמוד מסוים.

וזה רק חלק מבעיות שצריך להתמודד בזמן הגיור של תבנית.

סיכום:

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