هل تريد نقل موقع الووردبريس الخاص بك من شركة الاستضافة الحالية الى شركة استضافة أخرى ولكنك لا تعرف كيفية عمل ذلك بالطريقة السليمة؟ قد تريد عمل ذلك بسبب بطء موقعك في الشركة المستضيفة الحالية أو بسبب السعر المرتفع أو بسبب سوء الدعم الفني أو غير ذلك من الأسباب.

في هذا المقال سأشرح لك كيفية نقل موقعك بالكامل من شركة الاستضافة الحالية إلى شركة الاستضافة الجديدة بدون استخدام أي إضافة (Plugin) وبدون تعطل لموقعك إن شاء الله ولو مؤقتاً. في هذا الشرح سأقوم بشرح نقل موقعي التجريبي faisal.site

ملاحظة مهمة: سوف أفترض هنا أنك قمت بالتسجيل في شركة الاستضافة الجديدة بدون تسجيل نطاق جديد، وأنك عند التسجيل، قمت باختيار Existing domain، أي أن لديك مسبقا اسم نطاق وتريد نقله.

محتوى المقال إخفاء

أولاً: قم بتحميل ملفات موقعك وقاعدة البيانات من الشركة المستضيفة الحالية

في هذه الخطوة، سوف تحتاج إلى تنزيل ملفين فقط إلى كمبيوترك:

  • ملفات موقعك بالكامل وذلك بضغطها إلى ملف واحد بصيغة zip
  • ملف قاعدة البيانات الخاص بموقعك وهو بصيغة sql

تنزيل ملفات موقعك بالكامل إلى جهازك بصيغة zip

في حسابك لدى شركة الاستضافة الحالية، قم بالدخول إلى الـFile Manager  الخاص باستضافة موقعك سواء كان ذلك باستخدام الـ cPanel أو باستخدام لوحة التحكم الخاصة بالشركة المستضيفة. في هذا المقال سنستخدم الـ File Manager الخاصة بلوحة التحكم cPanel والتي تستخدمها معظم شركات الاستضافة. لذا افتح لوحة التحكم cPanel الخاصة بحسابك في شركة الاستضافة التي تريد نقل موقعك منها (سوف نسميها شركة الاستضافة القديمة) ثم افتح File Manager

افتح مجلد public_html الذي يحتوي على جميع ملفات موقعك ثم اختر جميع المجلدات والملفات الموجودة به وذلك بالضغط على زر Select All

اضغط بالزر اليمين في أي مكان داخل الملفات ثم اضغط زر Compress

اختر صيغة zip في شاشة الاختيار. سوف يتم وضع جميع المجلدات والملفات في ملف مضغوط بصيغة zip، وغالبا سيتم تسمية هذا الملف المضغوط بإسم أول مجلد، وهو في هذا المثال cgi-bin.zip

قم بالضغط بالزر اليمين على الملف المضغوط واختر Download. سيتم تنزيل ملف بصيغة zip إلى كمبيوترك وهو يحتوي على جميع ملفات ومجلدات موقعك.

تنزيل ملف قاعدة البيانات الخاص بموقعك بصيغة sql

في لوحة التحكم cPanel، قم بالضغط على phpMyAdmin

ثم اختر قاعدة البيانات الخاصة بموقعك من القائمة اليسرى.

ملاحظة: اذا كان لديك أكثر من قاعدة بيانات ولكنك لا تعرف أي واحد منها هو الخاص بموقعك الذي تريد نقله، اقرأ قسم حل المشاكل في الأسفل.

اختر تبويب Export ثم اضغط زر Go. سيتم تنزيل ملف قاعدة البيانات الى جهازك بصيغة sql

الآن أصبح لديك ملف بصيغة zip يحتوي على جميع مجلدات وملفات موقعك، ولديك ملف بصيغة sql يحتوي على قاعدة بيانات موقعك.

الخطوة التالية هي نقل هذه الملفات الى حسابك لدى الشركة المستضيفة الجديدة ولكن قبل ذلك، اكتب في ورقة خارجية رقم الـ IP الخاص بالسيرفر الذي يستضيف موقعك حاليا والذي يمكن ايجاده من الـ cPanel تحت كلمة Shared IP كما هو موضح في هذه الصورة حيث قد نحتاجه لاحقاً:

ثانياً: نقل ملفات الموقع إلى الشركة المستضيفة الجديدة

حتى الآن، موقعك لا يزال يعمل كما هو ولم تقم بأي تغيير سوى تنزيل الملفات وقاعدة البيانات إلى كمبيوترك. الآن سوف تقوم بتجهيز حسابك في الشركة المستضيفة الجديدة حيث ستقوم برفع وتجهيز هذه الملفات قبل أن تقوم بالخطوة الثالثة والأخيرة وهو تحويل الترافيك من شركة الاستضافة الحالية (أو القديمة) إلى الجديدة.

الحصول على الـ Nameservers الخاصة بشركة الاستضافة الجديدة

سوف تحتاج أولاً الحصول على اسم السيرفرات Nameservers الخاصة بشركة الاستضافة الجديدة وكتابتها في أي مكان مؤقتا. ملاحظة: يختلف مكان وجود اسم السيرفرات Nameservers من شركة مستضيفة إلى أخرى. مثلاً في استضافة Siteground يمكنك ايجادها كما يظهر في هذه الصورة بعد الدخول الى حسابك:

يجب أيضاً كتابة الـ IP الخاص بسيرفر الاستضافة الجديدة في ورقة خارجية والذي يمكن ايجاده في الصورة أعلاه أمام خانة IP Address أو من الـ cPanel كما هو موضح في هذه الصورة حيث ستحتاجه لاحقاً:

إنشاء قاعدة بيانات جديدة

قم بإنشاء قاعدة بيانات جديدة في شركة الاستضافة الجديدة وذلك بفتح cPanel ثم قم بالضغط على MySQL Databases

قم بكتابة اسم لقاعدة البيانات واضغط على زر Create Database

في نفس الصفحة، قم بإنشاء مستخدم جديد خاص بقاعدة البيانات هذه وذلك بكتابة الاسم وكلمة مرور قوية مرتين كما يظهر هنا ثم اضغط على زر Create User

في نفس الصفحة، اربط قاعدة البيانات التي أنشأتها بهذا المستخدم ثم اضغط زر Add

اختر ALL PREVILIGES لإعطاء هذا المستخدم كامل الصلاحيات على قاعدة البيانات ثم اضغط Make Changes

استيراد ملف قاعدة البيانات

بعد قيامك بإنشاء قاعدة البيانات الجديدة في حسابك لدى شركة الاستضافة الجديدة، قم باستيراد الجداول من ملف قاعدة البيانات sql الذي قمت بتنزيله في جهازك وذلك بالضغط على phpMyAdmin في لوحة التحكم cPanel الخاصة بشركة الاستضافة الجديدة.

من القائمة اليسرى، قم باختيار قاعدة البيانات التي أنشأتها للتو ثم اضغط على تبويب Import ثم اضغط زر Choose File واختر ملف sql الذي قمت بتنزيله في الخطوة الأولى ثم اضغط زر Go

بعد استيراد ملف sql الى قاعدة البيانات الجديدة سوف تجد الجداول موجودة بالكامل مع ظهور إشعار بنجاح العملية

رفع ملف الـ zip الذي يحتوي على جميع ملفات موقعك

في حسابك لدى شركة الاستضافة الجديدة، قم بالدخول إلى الـFile Manager  ثم افتح مجلد public_html واضغط زر Upload.

سيتم فتح صفحة جديدة. في هذه الصفحة، اضغط زر Select File واختر ملف الـ zip الذي يحتوي على ملفات ومجلدات موقعك والذي قمت بتنزيله إلى كمبيوترك في الخطوة الأولى ثم اضغط Open.

بعد الانتهاء من رفع الملف بنجاح اضغط على رابط Go back  ليتم قفل هذه الصفحة والعودة الى صفحة الـFile Manager . سوف تجد ملف الـ zip المضغوط موجودا في مجلد public_html. قم بالضغط عليه بالزر الأيمن ثم اختر Extract

ستجد أن جميع المجلدات والملفات قد تم استخراجها من الملف المضغوط. يمكنك بعد ذلك حذف الملف المضغوط لكي لا يستهلك مساحة من حسابك.

ملاحظة مهمة: اذا كان حسابك في شركة الاستضافة الجديدة يحتوي على مواقع أخرى مسبقاً، فلا تنسخ الملف المضغوط الى مجلد public_html حيث أنه قد يحتوي على ملفات موقع آخر لك في شركة الاستضافة الجديدة. لذا أنشيء مجلداً جديداً وانسخ الملف المضغوط إليه.

ربط موقعك بقاعدة البيانات الجديدة

الى الآن، قمت في شركة الاستضافة الجديدة بإنشاء قاعدة بيانات جديدة واستوردت الجداول لها، وقمت برفع ملفات موقعك إليها ولكن لم يتم ربط قاعدة البيانات الجديدة هذه بملفات موقعك. لعمل ذلك، افتح مجلد public_html باستعمال File Manager ثم ابحث عن ملف wp-config.php. اضغط بالزر الأيمن على الملف ثم اختر Edit

سوف يتم فتح صفحة جديدة بمكونات الملف. ابحث عن السطر التالي:

/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name' );

ثم استبدل اسم قاعدة البيانات الموجودة بإسم قاعدة البيانات الجديدة التي أنشأتها في الخطوة الثانية مع الحفاظ على علامة التنصيص ‘ قبل وبعد اسم قاعدة البيانات. في المثال أعلاه اسم قاعدة البيانات الموجودة كمثال هو database_name. استبدلها بإسم قاعدة البيانات الجديدة وهي faisueuf_faisalsite في مثالنا المشروح لتصبح:

/** The name of the database for WordPress */
define( 'DB_NAME', 'faisueuf_faisalsite' );

ثم ابحث عن السطر التالي:

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

واستبدل اسم المستخدم الموجود بإسم المستخدم الجديد الذي أنشأته في الخطوة الثانية مع الحفاظ على علامة التنصيص ‘ قبل وبعد اسم المستخدم. في المثال أعلاه اسم المستخدم الموجود كمثال هو database_user. استبدله بإسم المستخدم الجديد وهو faisueuf_faisal في مثالنا المشروح ليصبح

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

وأخيراً ابحث عن السطر التالي:

/** MySQL database password */
define( 'DB_PASSWORD', 'kfh46Fs!)k' );

واستبدل كلمة المرور الموجودة بكلمة المرور الجديدة التي أنشأتها في الخطوة الثانية مع الحفاظ على علامة التنصيص ‘ قبل وبعد كلمة المرور. في المثال أعلاه كلمة المرور هي kfh46Fs!)k . استبدلها بكلمة المرور التي أنشأتها لقاعدة البيانات في الخطوة الثانية عند قسم إنشاء قاعدة بيانات جديدة.

اضغط زر Save Changes لحفظ التغييرات التي قمت بها

ثالثاً: التأكد من أن موقعك في شركة الاستضافة الجديدة يعمل

حتى الآن كل ما قمنا به هو “نسخ” موقعك الأصلي من الشركة المستضيفة القديمة الى الشركة المستضيفة الجديدة، أي أن زوار موقعك يتم توجيههم الى الآن نحو شركة الاستضافة القديمة وهذا شيء جيد لكي يتسنى لك معرفة إن كان موقعك في شركة الاستضافة الجديدة يعمل بشكل صحيح وتجربته وذلك قبل تحويل الزوار الى الاستضافة الجديدة.

ولكن كيف يمكن تحويلك أنت لوحدك الى شركة الاستضافة الجديدة عندما تزور موقعك. ضع في بالك انه في الوضع الطبيعي، فكمبيوترك مثل أي جهاز آخر على الانترنت، أي انك عندما تكتب اسم موقعك في المتصفح، فسيتم نقلك الى الموقع الأصلي والذي يعمل بشكل سليم. اذن كيف تخبر كمبيوترك انك عندما تكتب اسم موقعك في المتصفح، فيجب على كمبيوترك وحده التوجه نحو الاستضافة الجديدة بدلاً من القديمة للتأكد أن موقعك يعمل بشكل صحيح هناك؟

الحل هو بتعديل ملف الـ hosts والذي يوجد في كمبيوترك. هذا الملف هو أول مكان ينظر اليه المتصفح عندما يزور أي موقع وذلك بالبحث في هذا الملف عن الـ IP الخاص بالموقع الذي تزوره قبل محاولة الحصول عليه بالطرق التقليدية. عادة لا يحتوي هذا الملف على أي IP لأي موقع ولكن ستستخدمه لإخبار المتصفح أن يذهب الى سيرفر شركة الاستضافة الجديدة الخاصة بموقعك المستنسخ بدلاً من سيرفر الاستضافة القديمة.

لتعديل هذا الملف افتح برنامج الـ Notepad الخاص بالويندوز كمسؤول وذلك بالضغط بالزر الأيمن عليه ثم اختيار More ثم Run as Administrator

اضغط Yes

بعد فتح برنامج الـ Notepad كمسؤول، اضغط File ثم Open

افتح المسار الموضح بالصورة وهو C:\Windows\System32\drivers\etc ثم تأكد من اختيار All Files أمام اسم الملف لكي تظهر لك عدة ملفات. اختر الملف hosts ثم اضغط Open

قم بكتابة عنوان الـ IP الخاص بسيرفر الاستضافة الجديدة والذي حصلنا عليه في الخطوة الثانية واضغط زر Tab في الكيبورد واكتب أمامه اسم موقعك.

لا تنسى حفظ التغييرات التي قمت بها بالضغط على File ثم Save

أصبح الوضع المؤقت الآن بالنسبة لموقعك كما هو موضح بالصورة التالية حيث أنك الوحيد الذي يمكنه تصفح الموقع المستنسخ للتأكد منه.

الآن قم بفتح المتصفح ولكن يفضل استخدام خاصية Incognito Window وذلك بالضغط على الثلاث نقاط في متصفح قوقل كروم ثم اختيار Incognito Window

ثم قم بفتح موقعك من هذه النافذة. هل يعمل موقعك بشكل صحيح؟ في حالة الإجابة بنعم، فأنت مستعد الآن لنقل زوار موقعك والترافك بشكل رسمي إلى الاستضافة الجديدة.

رابعاً: تغيير وجهة الترافك نحو موقعك في شركة الاستضافة الجديدة

بما أن الزوار والترافيك الى الآن يتوجهون نحو موقعك الأصلي في الشركة المستضيفة القديمة، فيجب عليك توجيههم نحو الموقع المستنسخ والموجود في شركة الاستضافة الجديدة فكيف يتم ذلك؟

يتم ذلك عبر تغيير قيمة الـ nameservers في حسابك لدى الشركة المستضيفة القديمة الى الـ nameservers الخاصة بالشركة المستضيفة الجديدة والتي كنت قد حصلت عليها في خطوة سابقة وهي (الحصول على الـ Nameservers الخاصة بشركة الاستضافة الجديدة)

تختلف طريقة تغيير قيمة الـ nameservers من شركة استضافة إلى أخرى. هنا سنشرح تغييرها في استضافة Namecheap.

بعد دخولك لحسابك في Namecheap، اختر Domain List من القائمة اليسرى ثم اضغط زر Manage الموجود أمام اسم نطاقك.

أمام خيار Nameservers، اختر Custom DNS ثم اكتب الـ Nameservers الخاصة بحسابك في شركة الاستضافة الجديدة والذي غالباً يبدأ بـ ns1 و ns2 ثم اضغط علامة الصح الخضراء.

بعد عدة دقائق إلى عدة ساعات، سوف يبدأ نقل الترافك بحيث يتوجه زوار موقعك الى شركة الاستضافة الجديدة. يمكنك التأكد من ذلك باستخدام موقع dnschecker.org وكتابة اسم موقعك في خانة البحث واختيار NS ثم الضغط على زر Search لكي ترى هل تم تغيير الـ Nameserver، أو اختيار A ثم الضغط على زر Search لكي ترى هل تم تغيير الـ IP إلى الـ IP الخاص بحسابك في شركة الاستضافة الجديدة.

الآن أصبح الوضع كالتالي حيث أن زوار موقعك يتم توجيههم الى موقعك في شركة الاستضافة الجديدة مباشرة:

ملاحظة مهمة جدا:

موقعك قد تم نقله الآن إلى شركة الاستضافة الجديدة بالكامل ويعمل بدون مشاكل، لكن اسم النطاق لم يتم نقله حيث أنه لازال مسجلاً لدى شركة الاستضافة القديمة. يمكنك القيام بأحد الأمور التالية:

  • الابقاء على اسم النطاق مع شركة الاستضافة القديمة وتجديده كل سنة ولكن بدون تجديد الاستضافة. أي أنك سوف تجدد لإسم النطاق فقط (domain name). هذا ما نفعله هنا في موقعنا الحالي حيث أن اسم النطاق موجود في Namecheap ولكن الموقع مستضاف لدى شركة استضافة أخرى.
  • نقل اسم النطاق من شركة الاستضافة القديمة الى شركة الاستضافة الجديدة. توجد الكثير من الشروحات في الانترنت لكيفية فعل ذلك كما هو مشروح في هذا الرابط.

خامساً: نقل رسائل البريد الإلكتروني

لا توجد طريقة واحدة لنقل رسائل البريد الإلكتروني حيث أن رسائلك قد تكون مستضافة لدى مزود خدمة خارجي مثل Office 365 أوGoogle Workspace أو Zoho أو غيرهم. في هذه الحالة، كل ما عليك فعله في حسابك في شركة الاستضافة الجديدة هو تغيير القيم الخاصة بـ MX Records في الـ  cPanel والموجودة في Zone Editor. يمكنك نسخ هذه القيم من الـ cPanel الخاص بحسابك في شركة الاستضافة القديمة.

ولكن هنا سأفترض أنك كنت تستقبل رسائلك في شركة الاستضافة القديمة وتريد نقلها إلى شركة الاستضافة الجديدة. في هذه الحالة ادخل على الـ cPanel في حسابك في شركة الاستضافة القديمة ثم افتح File Manager. قم بفتح مجلد mail ثم افتح المجلد الذي يحوي اسم نطاقك. قم بضغط المجلدات الموجودة بداخله كما شرحنا سابقاً وحمل الملف المضغوط بصيغة zip إلى كمبيوترك الشخصي.

بعد ذلك ادخل على الـ cPanel الخاص بحسابك في شركة الاستضافة الجديدة ثم قم بإنشاء حساب بريد الكتروني من صفحة Email Accounts وتأكد أنك تقوم بإنشاء حساب بريد إلكتروني بنفسم الاسم الموجود في حسابك لدى شركة الاستضافة القديمة.

بعد ذلك افتح File Manager. قم بفتح مجلد mail ثم افتح المجلد الذي يحوي اسم نطاقك. قم برفع الملف المضغوط الى هذا المجلد ثم قم بفك الضغط عنه. بعد ذلك سوف تجد رسائلك موجودة كما هي.

حلول لبعض المشاكل التي قد تواجهك

قد لا تخلو عملية نقل موقعك من شركة استضافة إلى أخرى من بعض المشاكل التي قد تواجهك. هنا سوف أضع بعض المشاكل التي قد تواجهك وكيف تحل هذه المشاكل إن صادفتك.

فشل عملية رفع الملف المضغوط الى حسابك في الاستضافة الجديدة عند استخدام File Manager

غالباً لن تستطيع رفع ملف الملف المضغوط بصيغة zip الى الـ File Manager اذا كان حجمه كبيراً حيث أن ذلك يعتمد على شركة الاستضافة والتي قد تحدد أقصى مساحة يمكنك رفعها مثلا بـ 512 ميغابايت أو 1 غيغابايت أو 2 غيغابايت أو غيرها.

في هذه الحالة يمكنك التواصل مع الدعم الفني لكي يزيدوا هذه القيمة ولو بشكل مؤقت أو يمكنك استخدام بروتوكول FTP لرفع الملف. يمكنك استخدام أي تطبيق يدعم FTP مثل تطبيق FileZilla. قبل ذلك قم بإضافة حساب خاص لاستخدامه لهذا الغرض وذلك بفتح الـ cPanel الخاص بحسابك في شركة الاستضافة الجديدة ثم فتح FTP Accounts وإضافة الحساب هناك

ثم قم باستخدام تطبيق FileZilla لرفع هذا الملف باستخدام هذا الحساب.

فشل عملية رفع ملف قاعدة البيانات الى حسابك في الاستضافة الجديدة عند استخدام phpMyAdmin

اذا كان السبب هو حجم الملف كما قد يظهر لك في رسالة الخطأ، فقم بفتح Select PHP Version

ثم اختر تبويب Options وقم بتغيير قيمة upload_max_filesize و post_max_size إلى حجم أكبر من حجم ملفك.

لا تنس تحديث قيمة max_execution_time إلى قيمة مناسبة (بالثواني) وفقًا لسرعة التحميل لتجنب فشل عملية التحميل إذا استغرقت وقتًا أطول من القيمة المحددة الموجودة مسبقاً. مثلا اذا كانت القيمة 30، اجعلها مثلا 300

في بعض الأحيان تفشل عملية رفع ملف sql حتى لو كان حجمه ليس كبيرا، مع ظهور رسالة خطأ غير مفهومة لغير المطورين. في هذه الحالة جرب تصدير الملف بصيغة zip بدلاً من sql وذلك أثناء عملية تصديرك (export) لملف قاعدة البيانات عند استخدامك لـ phpMyAdmin في حسابك لدى شركة الاستضافة القديمة كما هو موضح في هذه الصورة.

بعد ذلك قم باستيراد (import) هذا الملف في phpMyAdmin في حسابك لدى شركة الاستضافة الجديدة كما هو مشروح أعلاه في قسم استيراد ملف قاعدة البيانات في الخطوة الثانية.

لديك أكثر من موقع في شركة الاستضافة القديمة ولا تعرف أين توجد ملفات كل موقع

في الوضع الطبيعي، يكون موقعك موجوداً بداخل مجلد public_html كما ذكرنا سابقاً. ولكن اذا كان لديك أكثر من موقع، فسيكون الموقع الأول الذي قمت بتسجيله لدى شركة الاستضافة القديمة هو الذي يتواجد في مجلد public_html. أما المواقع الأخرى فيكون لديها مجلد خاص باسمها في نفس مستوى مجلد public_html (وليس بداخله). يمكنك التأكد من المجلدات الخاصة بكل موقع وذلك بالذهاب الى cPanel ثم فتح Domains حيث ستجد هناك اسم جميع مواقعك والمجلد الخاص بكل موقع أمامه.

بعد ذلك يمكنك الدخول للمجلد الخاص بالموقع الذي تريد نقله وضغط جميع ملفاته ومجلداته بصيغة zip كما شرحنا سابقاً.

لديك أكثر من موقع في شركة الاستضافة القديمة أو أكثر من قاعدة بيانات ولا تعرف أي واحد منها يخص موقعك الذي تريد نقله.

افتح المجلد الخاص بموقعك الذي تريد نقله ثم افتح ملف wp-config.php وابحث عن السطر التالي

/** The name of the database for WordPress */
define( 'DB_NAME', 'faisueuf_faisalsite' );

كما ترى أعلاه، اسم قاعدة البيانات الخاصة بالموقع هو faisueuf_faisalsite. يمكنك فتح قاعدة البيانات هذه كما ذكرنا باستخدام phpMyAdmin ثم القيام بتصديره كما تم شرحه.

الختام

يمكنك بعد نقل موقعك والتأكد أنه يعمل بشكل سليم إلغاء الاستضافة في شركة الاستضافة القديمة وحذف السطر الذي أضفته في ملف hosts.

نأمل أن تحوز المقالة على رضاكم. في حالة وجود أية أسئلة، لا تترددوا بطرحها في خانة التعليقات في الأسفل.

close

مرحباً بك 👋
تشرفنا بزيارتك.

قم بالتسجيل في نشرتنا البريدية للحصول على آخر المستجدات إلى بريدك مباشرة.

نعدك بأننا لن نزعجك. يمكنك الغاء الاشترك في أي وقت

اشترك
إخطار عن
guest
3 تعليقات
التقيمات المضمنة
اظهار كل التعليقات
سلطان
سلطان
قبل 9 شهور

شرح كافي ووافي

خالد المشير
خالد المشير
قبل 8 شهور

مجهود جبار فعلا
ما حصلت اي موقع عربي يشرح حل هذي المشكلة مثلك
تحياتي واحترامي

ايمان
ايمان
قبل 1 شهر

أخيرا حصلت الطريقة بطريقة مبسطة ومفهومة

شكرا لك