אירוח ותוספים ל-WordPress

הפיכת WordPress למהירה ומאובטחת: רשימת תיוג לביצועים ותוספים

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

WordPress טוב בדיוק כמו מה שמריץ אותו

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

החדשות הטובות הן שאותו מספר מצומצם של החלטות מתקן את רוב הבעיות, והן נוגעות ל-stack ולא לתוכן. יש להפעיל Caching באגרסיביות בשכבה הנכונה, להרחיק את מסד הנתונים מנתיב הגישה המרכזי, להריץ רק את מעט ה-plugins שמצדיקים את מקומם באמת, לשמור על הכל מעודכן (patched), ולבודד את האתר כך שבעיה תישאר מוגבלת. פוסט זה מציג את רשימת התפוצה הזו, בסדר שבו אנו מיישמים אותה על כל אתר WordPress בפלטפורמה.

מטמון בשרת, לא רק בתוסף

המנוף הגדול ביותר למהירות של WordPress אינו הפעלת WordPress כלל ברוב הביקורים. בקשה סטנדרטית מפעילה את WordPress, מריצה את התוספים שלך ומבצעת שאילתות במסד הנתונים לפני שהיא שולחת בייט אחד; מטמון עמודים מלא (full-page cache) מגיש את העמוד המוכן ישירות משרת האינטרנט בגישה הבאה, ובכך מדלג על תהליך האתחול כולו. למקום שבו מטמון זה יושב יש חשיבות: תוסף מטמון יושב בתוך PHP, כך ש-PHP עדיין מתחיל לפני שהמטמון יכול להשיב, בעוד שמטמון ברמת השרת משיב מוקדם יותר בבקשה ומחזיק עמודים בצורה שהשרת יכול לפנות באופן מיידי.

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

מטמון האובייקטים ומסד הנתונים

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

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

התוספים שכדאי להריץ — ואלה שהפלטפורמה מחליפה

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

מה שנשאר וראוי להרצה הוא הקבוצה הקטנה שמוסיפה יכולת אמיתית: התוספים שהאתר שלך באמת צריך לצורך התפקוד שלו, ו—בפלטפורמה שלנו—שני התוספים ברמת ה-repo שאנו בונים ומספקים עם כל אתר. תוסף ה-cache שלנו מחבר את WordPress ל-cache של השרת ומטפל בניקוי חכם, כך שעריכה מנקה רק את העמודים שהיא אמורה לנקות. תוסף ה-footprint שלנו מסיר את הסימנים המזהים שהתקנת WordPress ברירת מחדל מפיצה—גרסה ותגית generator, נקודות קצה של גילוי, XML-RPC, pingbacks וכותרת powered-by—בכל פריסה, כך שעדכון תוסף או תבנית לא יוכל להחזיר אותם בשקט. שניהם בנויים לפי הסטנדרטים של ספריית התוספים של WordPress.org, חינמיים ומתעדכנים מעצמם.

שמירה על WordPress מאובטח ומעודכן

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

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

WooCommerce והדפים שאסור לך לעולם לשמור במטמון

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

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

שאלות נפוצות

האם אני עדיין צריך תוסף מטמון כמו WP Rocket?

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

אילו תוספים הפלטפורמה הופכת למיותרים?

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

האם אחסון במטמון ישבור את עגלת הקניות שלי ב-WooCommerce או את העמודים למשתמשים מחוברים?

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

איך אתם שומרים על אבטחת WordPress מבלי שאצטרך לנהל זאת?

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

נסה בחינם למשך 14 יום

הקם את האתרים הראשונים שלך חינם למשך 14 יום — ללא צורך בכרטיס אשראי. מעביר אתר או רשת קיימים? ההעברה הראשונה שלך עלינו.

התחל בחינם