איך לשנות את מיקום תיקיית התמונות באתר וורדפרס לסאב דומיין ?

כיצד לשנות את מיקום תיקיית התמונות באתר וורדפרס לסאב דומיין בכדי לשפר את מהירות טעינת האתר ?

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

אחד מהשלבים הוא לשנות את מיקום תיקיית התמונות (Uploads) לסאב דומיין. וורדפרס מאחסנת את כל התמונות והקבצים שאתם מעלים בתיקיית wp-content/uploads, נכון יהיה להעביר את התוכן של של תיקייה זו אל מחוץ לתיקייה הראשית של וורדפרס לדומיין משני (Sub-Domain). ברגע שתמונות נקראות מדומיין אחר ולא מהדומיין של האתר, מתאפשרת הורדה מקבילית של התמונות בדפדפן וכך זמן טעינת האתר משתפר בצורה משמעותית.

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

לצורך פשטות ההסבר, נניח שאתר הוורדפרס שלכם הוא http://your-domain.co.il והסאב דומיין שפתחתם הינו http://media.your-domain.co.il.

1.העתיקו את התוכן מהדומיין הראשי לסאב דומיין

גשו לתיקיית wp-content/uploads בשרת והעבירו את התוכן שלה לתוך הספריה הראשית של הסאב דומיין שפתחתם.

2. שנו את מיקום ברירת המחדל של תיקיית ה Uploads

בגירסאות וורדפרס קודמות לגירסה 3.5 הייתה האפשרות לבצע זאת דרך לוח הבקרה של וורדפרס תחת הגדרות > מדיה, בכדי לבצע זאת בגירסאות חדשות יותר יש להשתמש בתוסף פשוט הנקרא WP Original Media Path.

התקינו אותו וגשו להגדרות המדיה ותראו את השדות הבאים:

WP Original Media

תחת Full URL path to files הכניסו את כתובת הסאב דומיין שלכם http://media.your-domain.co.il, וודאו כי אין בסוף הכתובת את הסימן ״/״.

תחת Store uploads in this folder צריך להכניס את ה Absolute Path של תיקיית הסאב דומיין על השרת. לדוגמא var/www/vhosts/your-domain.co.il/media.your-domain.co.il/ בכדי לדעת את ה path הנכון עקבו אחר השלבים הבאים:

א. צרו קובץ חדש בשם path.php והוסיפו לו את הקוד הבא:

ב. העתיקו את הקובץ לספרייה הראשית של הסאב דומיין שפתחתם.

ג. גשו ל http://media.your-domain.co.il/path.php בדפדפן והעתיקו את ה Absolute Path לשדה Store uploads in this folder.

ד. שמרו את ההגדרות.

על הדרך, הצטרפו לרשימת התפוצה !

3. שנו את המיקום של התמונות הישנות

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

שינוי מיקום תמונות ישנות

4. בצעו Redirect של תמונות הישנות לסאב דומיין החדש

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

הוסיפו את הקוד הבא לקובץ htaccess:

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

רועי יוסף

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

תגובות פייסבוק

{ 25 תגובות… הוסף אחת }
  • אסף זילברמן 26 באפריל 2015, 1:18

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

    • מנהל מערכת 26 באפריל 2015, 1:28

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

  • רבין 10 במאי 2015, 16:54

    האם יש דרך להעלות את הקבצים לשרת נפרד ממש ?

    • מנהל מערכת 10 במאי 2015, 16:57

      היי רבין,
      כן, בדיוק באותה דרך…

      • רבין 11 במאי 2015, 10:15

        אני אחדד את השאלה שלי,

        אני מחפש דרך שקבצים שמועלים דרך הממשק MEDIA של WP, יעלו\ישמרו על מכונה נפרדת, ע"י העתקה ב-SSH\SFTP. (נגיד מכונה שהיא ה-CDN שלי)

        התוסף WP Original Media Path לא נראה שהוא נותן מענה לצורך הזה, הוא רק חושף אפשרות שהוסרה בגרסאות החדשות של WP לגבי תקיית המדיה.

  • מנהל מערכת 13 במאי 2015, 14:36

    היי רבין,

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

  • אבי לבקוביץ 14 במאי 2015, 0:21

    למיטב ידיעתי אפשר לעשות את זה באמצעות שורת קוד אחת בקונפיג wp-config.php
    define('UPLOADS', 'http://images.mydomain.com');

    מבחינת קידום אתרים הדבר הזה מועדף מפני שבעוד שכשכהתמונות נמצאות בתיקית Uploads באותו דומיין שהתבנית נמצאת בו עם כל קבצי ה-CSS וה-JS, כשהאתר טוען את הכל מהשרת הוא מסוגל רק מספר מסוים של שאילתות מכל אתר – 10 בד"כ. אם זה מאוחסן בסאבדומיין זה נחשב מאתר אחר ואז הוא יוכל לטעון 20 קבצים בבת אחת וזמן טעינת העמוד יהיה מהיר יותר.

  • חופית 18 ביוני 2015, 14:04

    היי, האם מספיק לשנות רק את טבלת wp_posts? מה קורה אם יש פלאגינים ששואבים תמונות מתיקיית המדיה, צריך לשנות להם גם?

    • מנהל מערכת 18 ביוני 2015, 15:23

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

      • חופית 18 ביוני 2015, 15:36

        תודה על התשובה המהירה 🙂

      • חופית 22 ביוני 2015, 20:26

        היי,

        עושה רושם שמאז שביצעתי את השינוי הזה, כאשר מנסים לשתף פוסט בפייסבוק הוא מזהה את האתר כספאם ומבקש לבצע security check

        הוא כותב כך:
        It looks like a link that you're sharing might be unsafe. Please remove this link:
        http://media.example.com/2015
        If you're sure you want to share this link, please complete the security check below.
        ואז יש קפאצ'ה. גם כשמאשרים את זה אז כמישהו רוצה להגיע לפוסט ע"י לחיצה על הקישור הוא מקבל הודעה שהאתר לא בטוח וצריך לאשר שבאמת רוצים לעבור לאתר.
        זה יוצר ללקוח שלי נזק תדמיתי קשה ומעבר לכך פייסבוק עלולים לחסום אותו על היותו ספאמר ויותר הוא לא יוכל לפרסם את האתר שלו בפייסבוק ולשתף שם תכנים.
        האם נתקלתם בזה בעבר ואם כן איך ניתן לפתור את זה?
        זה דחוף!
        תודה
        חופית

  • לוצ' עופר 18 בנובמבר 2015, 12:03

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

    • רועי יוסף 18 בנובמבר 2015, 12:59

      היי עופר, שם הטבלה הוא בהתאם ל prefix של הדטאבייס שבחרת בהתקנת הוורדפרס. כברירת מחדל שמה wp_posts אך יכולה להיות עם כל prefix שתבחר. תוכל לוודא מה ה prefix שלך על ידי מבט ב table_prefix$ בקובץ wp-config.php בספרייה הראשית של וורדפרס.

  • לוצ' עופר 18 בנובמבר 2015, 13:31

    תודה רבה. אולי לא הבהרתי את עצמי אבל בעיקר מוזר לי המילה posts כי הרי מדובר במדיה ולא בפוסטים. אז במקרה שלי אני אמורה לבחור את הטבלה בדטה בייס שקוראים לה zbt_posts?
    כלומר לא לבצע את השינוי על כל הדטה בייס?

  • לוצ' עופר 18 בנובמבר 2015, 13:50

    ממש תודה.
    אתקשר עוד שעה.

  • אושרי 8 באפריל 2016, 5:33

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

    • רועי יוסף 8 באפריל 2016, 10:53

      היי אושרי,
      גם עמודים וגם פוסטים נמצאים בדטאבייס תחת wp_posts – פקודת ה sql שאתה צריך להשתמש בה זהה…

  • בדרנה חסן 7 ביוני 2016, 1:15

    האם אפשר להחזיר תמונות שהסרתי לפני כמה חודשים ???

  • יצחק לשר 21 ביולי 2016, 8:54

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

  • זאב קזקוב 15 באוקטובר 2016, 13:53

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

  • שרון הוד 22 בינואר 2017, 2:18

    אם האתר פועל עם SSL, האם צריך גם שהסאב-דומיין יהיה עם SSL?

    • רועי יוסף 22 בינואר 2017, 14:27

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

השאירו תגובה

כבר הולכים ? הרשמו לרשימת התפוצה !

הכניסו את האימייל שלכם וקבלו עדכונים חודשיים על מאמרים, טיפים ומדריכים חדשים !

לעולם לא נשתף את הפרטים שלכם...

קראו גם את:
עורך ויזואלי - אפשרויות עיצוב - וורדפרס
כיצד להוסיף אפשרויות עיצוב מותאמות אישית לעורך הויזואלי בוורדפרס ?

סגור