דלג לתוכן הראשי

מהו WordPress Multisite?

בליבה של WordPress קיימת תכונה בשם 'Multisite' (רב-אתרים), שמקורותיה מגיעים לשנת 2010, עם השקת WordPress 3.0. מאז היא עברה מספר עדכונים שנועדו להוסיף תכונות חדשות ולחזק את האבטחה.

במהות, אפשר לחשוב על WordPress multisite כך: אוניברסיטה מתחזקת התקנה אחת של WordPress, אבל כל פקולטה מנהלת אתר WordPress משלה.

מה זה בעצם WordPress Multisite?

Multisite היא תכונה של WordPress שמאפשרת למספר אתרים לחלוק התקנה אחת של WordPress. כאשר מפעילים multisite, אתר ה-WordPress המקורי עובר המרה לתמיכה במה שנקרא בדרך כלל רשת אתרים.

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

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

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

תת-דומיין או תת-תיקייה?

יש שני מצבים להפעלת WordPress multisite – ואתם צריכים לבחור אחד מהם כשאתם ממירים את התקנת ה-WordPress הרגילה שלכם להתקנת multisite:

תת-דומיין: לדוגמה: site.domain.com

…או

תת-תיקייה: לדוגמה: yourdomain.com/site

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

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

לפני קבלת ההחלטה, הנה כמה נקודות לזכור:

מצב תת-תיקייה הוא המצב הקל ביותר מבחינת הקמה ותחזוקה. זה קורה כי כל האתרים הם פשוט נתיבים שמצורפים לדומיין הראשי (למשל yourdomain.com/subsite). כתוצאה מכך, אתם צריכים רק תעודת SSL אחת לדומיין הראשי וזה יכסה את כל הרשת.

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

מצב תת-דומיין קצת יותר מורכב להקמה, אבל מבנה ה-URL שלו (למשל subsite.yournetwork.com) נתפס בדרך כלל כ"מקצועי יותר".

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

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

מנהל העל

התקנות WordPress של אתר בודד מאפשרות לכם להוסיף מספר בלתי מוגבל של משתמשים ולתת למשתמשים אלו תפקידים שונים עם הרשאות שונות.

ב-WordPress Multisite, סוג חדש של משתמש נפתח: מנהל העל – ופאנל ניהול חדש נפתח: פאנל ניהול הרשת.

כפי שהשם מרמז, למנהל העל יש כוחות-על על הרשת, והוא מסוגל לנהל את כל תתי-האתרים, התוספים, ערכות העיצוב, הכל!

ברגע שאתם ממירים את התקנת ה-WordPress של אתר בודד ל-multisite, המנהל המקורי של האתר הבודד ישודרג אוטומטית למנהל על.

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

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

מה משותף בין תתי-אתרים ומה לא

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

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

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

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

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

ניהול משתמשים ב-WordPress Multisite

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

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

דמיינו את התרחיש הבא:

אתם יוצרים רשת WordPress multisite ומתחילים להציע תתי-אתרים בתשלום חודשי לאנשים שרוצים חנות מסחר אלקטרוני.

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

אז מגיעה לקוחה שנייה – עליזה. אתם עושים את אותו הדבר בשבילה ועכשיו גם לה יש חנות ברשת שלכם.

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

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

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

הערה: אנחנו מבינים כמה זה יכול להיות בעייתי בהתאם לשימוש שלכם, אז ל-Ultimate Multisite יש אפשרות שעוקפת את הבדיקות הרגילות למשתמש קיים, ומאפשרת ליצור מספר חשבונות עם אותה כתובת אימייל. כל חשבון קשור לתת-אתר, כך שהסיכון להתנגשות נשמר למינימום. בדוגמה למעלה, יוחנן לא היה מקבל הודעת שגיאה והיה יכול לקנות את הנעליים האלה ללא בעיה. אפשרות זו נקראת Enable Multiple Accounts, וניתן להפעיל אותה ב-Ultimate Multisite → Settings → Login & Registration.

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

שיקולי ביצועים

WordPress multisite באמת חזק כשזה מגיע למספר האתרים שהוא יכול לתמוך בהם. זה ניתן להוכחה על ידי העובדה ש-WordPress.com, Edublogs ו-Campuspress הם כולם שירותים מבוססי multisite וכל אחד מארח אלפי אתרים.

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

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

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

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