מדוע עודף תוספים פוגע בביצועי האתר שלכם
מערכת וורדפרס הפכה לפלטפורמה הפופולרית בעולם בזכות הגמישות שלה ומאגר התוספים העצום שעומד לרשות המשתמשים. עם זאת קלות ההתקנה של תוספים גורמת לבעלי אתרים רבים להתקין עשרות רכיבים שונים מבלי להבין את ההשלכות. כל תוסף שמותקן ומופעל על האתר מוסיף משקל לקוד המקור טוען קבצי עיצוב נוספים דורש קריאות למסד הנתונים ולעיתים קרובות מעמיס על משאבי השרת.
כאשר אנו ניגשים אל תהליך בניית אתר בוורדפרס בצורה מקצועית המטרה העיקרית היא לשמור על קוד נקי ככל האפשר. תוסף שמטרתו היחידה היא להוסיף קוד מעקב של גוגל אנליטיקס למשל הוא מיותר לחלוטין ויכול להכיל מאות שורות קוד שלעולם לא יעשה בהן שימוש. במקום זאת ניתן לכתוב פונקציה פשוטה של עשר שורות שתבצע בדיוק את אותה הפעולה מבלי לפגוע במהירות האתר.
בעיות אבטחה ופגיעות מצד גורמים שלישיים
מעבר לעניין הביצועים ישנה סוגיית האבטחה. כל תוסף הוא למעשה קוד שנכתב על ידי מפתח צד שלישי. ככל שיש לכם יותר תוספים כך שטח התקיפה של האתר גדל. תוספים שלא עודכנו זמן רב או שנכתבו בצורה מרושלת עלולים להכיל פרצות אבטחה שיאפשרו להאקרים לחדור לאתר שלכם. שימוש בקוד מותאם אישית שאתם או המפתח שלכם כתבתם מצמצם משמעותית את הסיכון הזה.
היכרות עם קובץ הפונקציות וכיצד הוא עובד
בלב כל תבנית וורדפרס שוכן קובץ מרכזי הנקרא קובץ הפונקציות או בשמו המקצועי קובץ פונקציות פי אייצ’ פי. קובץ זה מתנהג למעשה כמו תוסף בפני עצמו והוא נטען אוטומטית בכל פעם שגולש מבקר באתר. ייעודו המקורי הוא להוסיף תכונות ויכולות ייחודיות לתבנית העיצוב אך מפתחים מנצלים אותו כדי לשנות את התנהגות המערכת כולה ללא צורך בתוספים חיצוניים.
לפי התיעוד הרשמי של קודקס וורדפרס הדרך הבטוחה והנכונה ביותר לבצע שינויים בקובץ זה היא על ידי יצירת תבנית בת. תבנית בת יורשת את כל התכונות של התבנית המקורית אך מאפשרת לכם להוסיף קוד משלכם מבלי לחשוש שיימחק כאשר התבנית המקורית תתעדכן לגרסה חדשה. זוהי פרקטיקת החובה הראשונה לפני שמוסיפים שורת קוד אחת לאתר.
הוקים פילטרים ואקשנים
כדי להבין כיצד לכתוב קוד לוורדפרס חשוב להכיר את מנגנון ההוקים של המערכת. המערכת מאפשרת לכם להתחבר לנקודות זמן מסוימות במהלך טעינת העמוד ולהפעיל את הקוד שלכם בדיוק ברגע הנכון. ישנם שני סוגים עיקריים של הוקים
- אקשנים מאפשרים להוסיף קוד חדש או לבצע פעולה בנקודה מסוימת למשל הוספת קוד לאזור ההדר של האתר.
- פילטרים מאפשרים לקחת נתון קיים שוורדפרס עומדת להציג לשנות אותו ולהחזיר אותו שונה למשל שינוי אורך התקציר של מאמר בבלוג.
דוגמאות מעשיות לקטעי קוד שיחסכו לכם תוספים כבדים
כעת ניגש לחלק המעשי ונראה כיצד פעולות נפוצות שדורשות בדרך כלל התקנת תוספים יכולות להתבצע באמצעות שורות קוד בודדות ופשוטות. זכרו תמיד לגבות את האתר לפני הוספת קוד חדש.
הסרת גרסת הוורדפרס מקוד המקור
כברירת מחדל וורדפרס חושפת את מספר הגרסה שלה בקוד המקור של האתר. זהו מידע מיותר שעלול לשמש גורמים זדוניים כדי לדעת אילו פרצות אבטחה קיימות באתר שלכם במידה ולא עדכנתם את המערכת. במקום להתקין תוסף אבטחה כבד תוכלו להוסיף את הקוד הבא
function remove_wordpress_version() {
return '';
}
add_filter('the_generator', 'remove_wordpress_version');
השבתת תגובות באתר תדמית
כאשר מבינים מה זה אתר תדמית אמיתי ואיכותי מבינים שאין צורך במערכת תגובות פעילה שמושכת ספאם מיותר. משתמשים רבים מורידים תוספים מיוחדים כדי לכבות את מנגנון התגובות אך אפשר לעשות זאת בקלות דרך הקוד. הקוד הבא יסגור את האפשרות להשאיר תגובות בכל הפוסטים והעמודים באתר
function disable_comments_status() {
return false;
}
add_filter('comments_open', 'disable_comments_status', 20, 2);
add_filter('pings_open', 'disable_comments_status', 20, 2);

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

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