Search

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

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

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

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

שימו לב – פוסט זה אינו רלוונטי לבעלי אתר העובד בפרוטוקול HTTP2 מכיוון והוא תומך כברירת מחדל בהורדה מקבילית של תמונות.

השלבים לשינוי מיקום תיקיית התמונות

הנה השלבים שיש לבצע בכדי לשנות את מיקום התמונות באתר וורדפרס לסאב דומיין, מומלץ תמיד לבצע גיבוי למסד הנתונים ולקובץ ה 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 והוסיפו לו את הקוד הבא:

<?php
$p = getcwd();
echo $p;
    ?>

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

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

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

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

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

UPDATE wp_posts SET post_content = REPLACE(post_content,'http://your-domain.co.il/wp-content/uploads/','http://media.your-domain.co.il/')
שינוי מיקום תמונות ישנות

4. בצעו הפנייה (redirection) של תמונות הישנות לסאב דומיין החדש

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

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

RedirectMatch 301 ^/wp-content/uploads/(.*)$ http://media.yourdomain.co.il/$1

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

רועי יוסף
רועי יוסף

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

32 תגובות...
  • אסף זילברמן 26 אפריל 2015, 1:18

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

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

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

      • מנהל מערכת 30 אפריל 2015, 19:38

        עם זאת אסף, אני חושב שמומלץ להתייעץ עם אנשי SEO לגבי זה…

  • רבין 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 קבצים בבת אחת וזמן טעינת העמוד יהיה מהיר יותר.

    • אהרון 11 יולי 2017, 13:46

      השיטה שלך לא עובדת זה רק מוסיף עוד כתובת לכתובת הקיימת ולא רואים את התמונות באתר

  • חופית 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 לעלאות פונטים הוא רושם שלא מוצא את הנתיב… למה?

    • רועי יוסף 15 אוקטובר 2016, 18:41

      זו שאלה טובה, איני יודע לצערי לתת לך תשובה….

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

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

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

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

  • אהרון 11 יולי 2017, 13:48

    איך ניתן לדעת מה השם של הטבלה שאני רוצה לשנות ?
    לדו' אני רוצה לשנות את כל התמונות של woocommerce
    תודה

    • רועי יוסף 11 יולי 2017, 23:26

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

  • אבי 6 מאי 2018, 7:38

    מאמר יפה!
    יש לי שאלה שכנראה תהיה קשה… נגיד ואני רוצה את התמונות לעלות לחשבון נפרד באותו השרת.
    המטרה היא שקבצי המדיה לא יהיו בתיקיית של האתר בכל לילה שנעשה גיבוי (CP).

    • רועי יוסף 6 מאי 2018, 19:33

      היי אבי, לא יודע לענות לך על זה.

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

  • דסי 3 אוקטובר 2018, 20:56

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

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

    תודה!

    • רועי יוסף 4 אוקטובר 2018, 12:48

      היי דסי,

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

תגובה חדשה

Up!
לבלוג