חיפוש ]

איך להעביר אתר וורדפרס (מיגרציה) בין שרתים / דומיינים?

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

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

אך לפני שנתחיל בהסברים, וודאו כי יש ברשותכם את הדברים הבאים:

  • גישה לממשק הניהול של וורדפרס.
  • גישה לממשק הניהול של שרת האחסון שלכם (cPanel לדוגמה).
  • גישת FTP לשרתים (לא חובה תכלס, ניתן להשתמש בממשק הניהול).

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

מיגרציה ידנית של אתר וורדפרס לשרת חדש

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

שלב 1 – הורדת קבצי האתר למחשב האישי שלכם

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

לחילופין, באפשרותכם להתחסר לממשק הניהול של השרת הנוכחי, להכנס ל File Manager ולכווץ את הקבצים לקובץ Zip לפני ההורדה ולחסוך המון זמן. תוכלו אף להוריד את הקובץ שכיווצתם באותו ממשק ניהול ללא צורך להתחבר ל FTP. לבחירתכם.

שלב 2 – הורדת מסד הנתונים מהשרת הנוכחי

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

לחצו על מסד הנתונים של האתר ולאחר מכן לחצו על Export בסרגל הכלים העליון. בחרו את האופציה quick תחת Export method ולחצו על Go בכדי להוריד את מסד הנתונים.

שלב 3 – העלאת הקבצים לשרת האחסון החדש

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

כך או כך, אם העלתם קובץ Zip כמובן שיש צורך לפרוס אותו ואת זאת ניתן לבצע רק דרך ה File Manager בממשק הניהול של השרת.

שלב 4 – יצירת מסד נתונים בשרת האחסון החדש

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

בכדי ליצור מסד נתונים חדש גשו ל MySQL Datbases בממשק הניהול של השרת, לחצו על Create New Database ובחרו שם למסד הנתונים.

יצירת מסד נתונים חדש ב cPanel

גשו ל Add new User באותו מסך. בחרו שם משתמש וסיסמה וצרו משתמש חדש על לחיצה על Create User.

יצירת משתמש חדש למסד הנתונים ב cPanel

לאחר מכן, גשו מטה לחלק הנקרא Add User to Database, בחרו את שם המשתמש ואת מסד הנתונים שיצרתם ולחצו Add.

הוספת המשתמש החדש למסד הנתונים ב cPanel

במסך הבא לחצו על All Privileges בכדי לתת את כל ההרשאות הנחוצות למשתמש ובצעו את השינוי על ידי הכפתור Make Changes.

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

שלב 5 – עדכון קובץ wp-config.php בהתאם למסד הנתונים החדש

עליכם לערוך את קובץ wp-config.php הקיים בתיקייה הראשית של וורדפרס בכדי לספק הרשאות בכדי שהאתר יוכל להתחבר למסד הנתונים החדש. עליכם לשנות מספר פרטים בקובץ זה:

  • DB_NAME – שם מסד הנתונים.
  • DB_USER – שם המשתמש של מסד הנתונים.
  • DB_PASSWORD – הסיסמה למסד הנתונים.
  • DB_HOST – שם ההוסט של מסד הנתונים. (ברוב המקרים יהיה localhost אך זה תלוי בפלטפורמת האחסון שלכם. אם localhost לא עובד התייעצו עם התמיכה של חברת האחסון.
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxxxxx');

/** MySQL database username */
define('DB_USER', 'xxxxxxxxx');

/** MySQL database password */
define('DB_PASSWORD', 'xxxxxxxxx');

/** MySQL hostname */
define('DB_HOST', 'localhost');

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

שלב 6 – ייבוא מסד הנתונים לשרת החדש

לאחר שיצרתם מסד נתונים חדש ועדכנתם את wp-config.php, גשו ל phpMyAdmin בממשק הניהול של השרת החדש ותקראו את מסד התונים שזה עתה יצרתם. לחצו עליו ולאחר מכן לחצו על Import בסרגל הכלים העליון.

לחצו על Choose File ובחרו את קובץ מסד הנתונים שהורדתם קודם לכן ונמצא על המחשב שלכם. לחצו על Go והמתינו עד לסיום הפעולה.

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

בכל אופן, במידה וביצעתם את הפעולות כראוי, בשלב הנוכחי אתם אמורים להצליח ולהתחבר לממשק הניהול של וורדפרס בשרת האחסון החדש. בשלב זה יש לגשת לממשק הניהול של וורדפרס > הגדרות > קישורים ישירים וללחוץ על שמירה (Save Permalinks).

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

שלב 7 – שנו את כתובות האתר במסד הנתונים לדומיין החדש (אופציונלי)

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

א. שינוי השדות home ו siteurl במסד הנתונים

ב phpMyAdmin, מצאו את טבלת wp_options ולחצו עליה על מנת לראות את השדות שהיא מכילה.

זו יכולה להיות גם בעל קידומת אחרת מאשר wp_ אך תמיד תסתיים ב options.

מצאו את השדות siteurl ו home ותראו כי הערך של אלו הוא כתובת הדומיין הישנה. ערכו את השדות והחליפו את הכתובת לדומיין החדש שלכם.

לחילופין, ובמידה ואינכם מרגישים נוח לעבוד עם phpMyAdmin, באפשרותכם לדרוס הגדרות אלו על ידי עריכת הקובץ wp-config.php והוספת השורות הבאות, כאשר את example.co.il עליכם להחליף בדומיין החדש שלכם:

define( 'WP_HOME', 'http://example.co.il' );
define( 'WP_SITEURL', 'http://example.co.il' );

ב. בצעו Search & Replace לכל הכתובות במסד הנתונים

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

לאחר הפעלת התוסף, גשו בממשק הניהול של וורדפרס לכלים > Update URLs.

התוסף די פשוט ואינו מסובך לתפעול. רשמו את הדומיין הישן תחת השדה Old URL ואת הדומיין החדש תחת New URL. סמנו את כל התיבות תחת האפשרות Choose which URLs should be updated כבתמונה הבאה:

לחצו על הכפתור Update URLs NOW ובזאת סיימתם. התוסף יציג לכם את מספר הכתובות שהוא החליף במסד הנתונים….

לסיכום

חשוב לציין, מדריך זה מתאר צעד אחר צעד כיצד להעביר את אתר הוורדפרס בפני עצמו, אך אם אתם מעבירים אתר לשרת חדש, עליכם לנתב את שם הדומיין לשרת האחסון החדש (אחת הדרכים זה שינוי ה DNS – Domain Name System).

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

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

  • doronily 25 אפריל 2016, 15:48

    תודה על המדריך, עבדתי לפיו בהעברה מלוקלי לאחסון. בסוף התהליך, נתקלתי בתקלות מוזרות בלינקים של כל העמודים, Settings > Permalinks > Save Changes

    פתר את העניין.

    • רועי יוסף 9 נובמבר 2017, 20:27

      תודה דורון, אכן פותר במצבים מסויימים 🙂

  • אודי 1 דצמבר 2018, 20:30

    הי רועי,
    ז"א שאין צורך להתקין וורדפרס נקי בשרת היעד ואז לדרוס אותו?
    האם לפי שיטתך האתר יופיע ב- cpanel בשרת היעד?

    • רועי יוסף 1 דצמבר 2018, 20:34

      היי אודי,

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

      • אודי בורג 30 אפריל 2022, 15:46

        שימוש בשיטה זו ללא התקנת וורדפרס נקי לפני לא מציג את ההתקנה ב-Softaculus מה שמקשה על יצירת STG, שכפול וכו'.

  • מוטי 17 פברואר 2019, 18:53

    מדריך מעולה שהסביר לי סוף סוף ממש מההתחלה ועד הסוף איך מעבירים אתר משרת לשרת,
    כל הכבוד, תודה רבה 🙂

    • רועי יוסף 17 פברואר 2019, 18:58

      שמח שאהבת מוטי 🙂

      • קובי 19 נובמבר 2020, 22:37

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

        • רועי יוסף 19 נובמבר 2020, 22:39

          היי קובי, מה ז״א ב״פתיחת השרת החדש״ והיכן אתה מנסה להוסיף את הדומיין בדיוק?

  • רוב 4 מרץ 2019, 18:11

    ההסבר הכי מקיף שיש

    • רוב 5 מרץ 2019, 9:23

      פעלתי לפי ההסברים שלך ויש לי קובץ ZIP עם כל הנתונים, אבל אחרי שהעליתי אותו ופרסתי אותו חלק מתיקיות כמו ה-plugin לא נפרסו למורת שהן קיימות בתוך ה-ZIP למה זה קורה?

  • עדי בן שלוש 21 אפריל 2019, 17:19

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

    • רועי יוסף 21 אפריל 2019, 18:05

      היי עדי,

      מעבר לשלב 7 את צריכה להפנות את ה DNS של הדומיין החדש לשרת שלך. התהליך של שינוי ה DNS אינו מתואר בפוסט זה אך הוא דיי פשוט..

  • רוב 12 ספטמבר 2019, 14:28

    איך מונעים בעיות של עלייה לא טובה? העברתי אתר וכל העיצוב השתבש. הכלי של Search Replace DB מביא לי שגיאה:

    The script encountered an error while running an AJAX request. If you are using your hosts file to map a domain try browsing via the IP address directly. If you are still running into problems we recommend trying the CLI script bundled with this package. See the README for details.

    • רוב 15 ספטמבר 2019, 13:22

      זה נכון גם לאחסון מסוג של nginx?

      • רועי יוסף 15 ספטמבר 2019, 13:44

        כמובן….

        • רוב 15 ספטמבר 2019, 15:29

          תודה,

          לא יודע מה קרה אבל הייתה לי בעיה באתר מבוסס אלמנטור עם oceanwp ו-WPML כל העיצוב נפל, האחסון עשה שחזור וינסה להעביר את האתר.למה בכלל יש בעיות כשמשנים את הכתובת? רק הורדתי המילה new מהשם דרך הכלי של search and replace db,

          אחרי שהורדתי והעליתי את האתר לתיקייה השורש…

          • רועי יוסף 15 ספטמבר 2019, 23:53

            ניסית לבנות מחדש את ה CSS דרך הכלים של אלמנטור? אם אני לא טועה לאלמנטור יש אפשרות לבנות מחדש את ה CSS. לגבי WPML אתה צריך לבדוק את ההגדרות שלו ברמת ה URLS אני מניח…

            • רוב 16 ספטמבר 2019, 9:55

              תודה, נסיתי את זה ,האתר בסדר אבל הניהול נשבר.
              מצאתי הסבר על הקוד הזה

              define( 'CONCATENATE_SCRIPTS', false );
              define( 'SCRIPT_DEBUG', true );

              שאומרים להסיר אותו אחרי שהכל מסתדר אבל כשאני מסיר אותו אז הניהול שוב נשבר.
              יש כל מיני הודעות על jquery-migrate.js
              כמו
              JQMIGRATE: 'ready' event is deprecated
              JQMIGRATE: jQuery.browser is deprecated
              וכמה קבצים שחסרים, כדאי לעלות את רק התיקייה של wp-admin מחדש?

        • נסים א. 4 יוני 2021, 11:41

          מה צריך לעשות בשרת הישן לאחר סיום התהליך ולאחר שהכול עובד בשרת החדש?
          כלומר איך מבצעים סגירה מסודרת של האתר הישן?
          תודה

          • רועי יוסף 4 יוני 2021, 16:35

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

  • תמיר 28 מרץ 2020, 17:24

    מאמר מצויין, תודה רבה על ההפשטה של התהליך

  • שרון 20 מאי 2020, 18:36

    תענוג

  • אורי 14 יוני 2020, 0:38

    היי,
    אני מעוניין להעביר מוצרים מאתר שנבנה ב prestashop לוורדפרס-ווקומרס
    האם זה אפשרי? איך מבצעים את זה?
    ואם אפשר להעביר גם את הSEO

    • אורי 14 יוני 2020, 0:40

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

  • סאם 15 יוני 2020, 12:09

    היי רועי.
    המדריך נכון גם להעברה לדומיין אחר בתוך אותו שרת?

  • רוב 16 נובמבר 2020, 7:22

    יש הבדל בין Velvet Blues Update URLs לבין Better Search Replace?
    בפוסט אחר כתבת עליו בשביל המטרה של עדכון כתובות

    • רועי יוסף 16 נובמבר 2020, 11:25

      היי רוב, אין הבדל עקרונית…

      • רוב 16 נובמבר 2020, 11:27

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

        • רועי יוסף 16 נובמבר 2020, 11:32

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

  • רוב 16 נובמבר 2020, 12:22

    תודה, השתמשתי בדופליקטור ולא הייתי צריך לעדכן כתובות

  • אורה 17 נובמבר 2020, 19:35

    הי רועי,
    יש לי קובץ של מסד נתונים שאני עושה import אליו כמו שהסברתי אני מקבלת את השגיאה הבאה:

    ---- Database: `rabanutc_mdj_wp`---- ------------------------------------------------------------
        Table structure for table `wp_commentmeta`--CREATE TABLE
        `wp_commentmeta` (  `meta_id` bigint(20) UNSIGNED NOT
        NULL,  `comment_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0',
        `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
        `meta_value` longtext COLLATE utf8mb4_unicode_520_ci)
        ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci

    יש לך רעיון מה לעשות?
    תודה

  • חיים 25 אוגוסט 2021, 18:03

    מדריך מעולה
    תודה רבה!

  • מירי 29 אוגוסט 2021, 21:39

    ערב טוב רועי,
    קודם כל תודה על המדריך הברור והמפורט. שאלתי:

    אני מנסה להעביר אתר משרת חי לשרת מקומי על המחשב. הכל עבד מצוין עד שהגעתי להחלפת כתובות. הורדתי את התוסף ועשיתי הכל כפי שרשמת אך אני מקבלת את השגיאה הבאה:
    Fatal error: Out of memory (allocated 249561088) (tried to allocate 61440 bytes)
    ניסיתי לפתור מהאינטרנט אך שום דבר לא עזר, אולי תוכל לעזור לי?

    תודה מראש, מירי

    • מירי 29 אוגוסט 2021, 22:31

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

  • רפי 1 מאי 2022, 11:50

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

    תודה, רפי

תגובה חדשה

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

Savvy WordPress Development