انتقل إلى المحتوى
DevMarket
وحدات Odooإضافات ووردبريسقوالب ووردبريسقوالب Shopifyقوالب التطبيقاتالسكربتات والأدواتالمدونةبِع على DevMarket
WordPress وWooCommerce

نقل موقع ووردبريس إلى استضافة جديدة دون توقف: دليل خطوة بخطوة

انقل موقع ووردبريس إلى استضافة جديدة دون توقف: خذ نسخة احتياطية، وانسخ الملفات وقاعدة البيانات، واختبر على الخادم الجديد قبل DNS، واستبدل الروابط بأمان، ثم غيّر DNS واحمِ طلبات WooCommerce.

بقلم DevMarket Editorialنُشر: 9 دقائق قراءة
نقل موقع ووردبريس إلى استضافة جديدة دون توقف: دليل خطوة بخطوة
في هذه الصفحة

لنقل موقع WordPress (ووردبريس) إلى استضافة جديدة دون توقف، ابنِ نسخة كاملة على الخادم الجديد بينما يبقى الموقع القديم يعمل، واختبرها بشكل خاص، ثم وجّه نطاقك إلى الخادم الجديد. ويمكنك النسخ بإضافة نقل (migration plugin) أو بأداة الاستضافة الجديدة أو يدويًا. ويغطي هذا الدليل الخطوات اليدوية، وتوقيت DNS، وما يحتاجه متجر WooCommerce، لأن الطلبات تستمر في الوصول.

باختصار

  • أبقِ الموقع القديم يعمل حتى تختبر النسخة الجديدة. وتحتاج المواقع المزدحمة إلى تجميد قصير للتغييرات عند النسخة الأخيرة.
  • خذ نسخة احتياطية أولًا (كيف تأخذ نسخة احتياطية من WordPress)، واحتفظ بالحساب القديم حتى يثبت نجاح النقل.
  • النطاق نفسه: انسخ الملفات وقاعدة البيانات وعدّل wp-config.php. نطاق جديد: استخدم الأمر search-replace في WP-CLI، لا الاستبدال النصي العادي.
  • اختبر بإدخال في ملف hosts قبل تغيير DNS، وخفّض مدة TTL لسجلات DNS مسبقًا.
  • متجر WooCommerce: أوقف الطلبات الجديدة عند النسخة الأخيرة، أو قارن الطلبات بعد التحويل.

متى تنقل موقعك، وما الطريقة التي تستخدمها؟

انقل موقعك عندما لا تستطيع الباقة تلبية حاجة حقيقية، مثل إصدارات PHP القديمة، أو حدود تسبب أخطاء، أو غياب النسخ الاحتياطية والبيئة التجريبية، أو خادم بعيد، أو دعم بطيء. ولا تنقل موقعك لتعالج خطأ في إضافة أو شاشة بيضاء: فسيرث الخادم الجديد العطل نفسه، وإصلاح أخطاء WordPress الشائعة أسرع.

صف من البطاقات تربط بينها أسهم من اليسار إلى اليمين
ابنِ النسخة واختبرها بينما يبقى الموقع القديم يعمل، ثم غيّر DNS واحتفظ بالموقع القديم احتياطًا.
الطريقةتناسبانتبه إلى
إضافة نقلالمواقع الصغيرة والمتوسطةحدود الرفع والوقت؛ وافحص الإضافة كما في دليل الإضافات لدينا
أداة الاستضافة الجديدة أو خدمتهاأصحاب المواقع الذين يريدون أن تنسخ الاستضافة موقعهمما الذي تنسخه، وهل تستطيع تكرار النسخ لمزامنة أخيرة
النقل اليدويالمواقع الكبيرة، والتحكم الكاملخطوات أكثر؛ ويحتاج إلى وصول إلى الملفات وقاعدة البيانات، ويفضّل SSH مع WP-CLI

تقوم الأداة بالنسخ آليًا، لا بالتخطيط: فتبقى الخطوات الأخرى مطلوبة.

ماذا تجهّز أولًا؟

  1. خفّض مدة TTL لسجلات DNS، وهي المدة التي يجوز للخوادم الأخرى أن تحتفظ فيها بالسجل في ذاكرتها المؤقتة. ويقترح دليل Google للنقل دون تغيير الروابط مدة TTL قدرها بضع ساعات، على أن تُضبط قبل الموعد بأسبوع على الأقل.
  2. خذ نسخة احتياطية من الملفات وقاعدة البيانات، مع نسخة خارج الخادمين معًا.
  3. اسرد ما يعيش خارج WordPress: سجلات DNS (A وMX وTXT)، وصناديق البريد، ومهام cron على الخادم، وعمليات إعادة التوجيه، والشهادات، والخدمات التي لا تسمح إلا بعناوين IP مدرجة في قائمة.
  4. طابِق إصدار PHP القديم في البداية وحدّثه لاحقًا: راجع كيف تحدّث WordPress وWooCommerce بأمان.
  5. اختر وقتًا هادئًا وأوقف التحديثات مؤقتًا.

كيف تنقل موقع WordPress يدويًا؟

يتبع هذا القسم دليل WordPress عن نقل WordPress لحالة العنوان الذي لا يتغير، حيث يكفي نسخ الملفات وقاعدة البيانات.

  1. خذ نسخة احتياطية من مجلد WordPress وقاعدة البيانات.
  2. انسخ الملفات، بما فيها wp-content وwp-config.php و‎.htaccess‎، إلى الخادم الجديد عبر SFTP أو أدوات الاستضافة.
  3. أنشئ قاعدة بيانات فارغة ومستخدمًا على الاستضافة الجديدة؛ فالأسماء تختلف في الغالب.
  4. صدّر قاعدة البيانات القديمة (عبر phpMyAdmin أو أداة الاستضافة أو WP-CLI) واستوردها إلى الجديدة.
  5. عدّل wp-config.php بالقيم الجديدة DB_NAME وDB_USER وDB_PASSWORD وDB_HOST (وهي في الغالب localhost، لكن ليس دائمًا). وأبقِ ‎$table_prefix‎ مطابقًا لجداول القاعدة المستوردة.
  6. افحص ‎.htaccess‎، وبعد أن يعمل الموقع احفظ Settings > Permalinks.

مع WP-CLI تكون خطوات قاعدة البيانات أمرين. ويشغّل التصدير الأداة mysqldump بما في wp-config.php من بيانات اعتماد، لذا يجب أن تكون هذه الأداة موجودة على الخادم.

# Old server: export the database to a file
wp db export before-move.sql

# New server, once the files and wp-config.php are in place
wp db import before-move.sql

خذ نسخة احتياطية قبل أن تنفّذ أي أمر

يكتب الأمر wp db import في قاعدة البيانات المسماة في wp-config.php. وجّهه إلى قاعدة البيانات الجديدة الفارغة، ولا توجّهه أبدًا إلى قاعدة بيانات حيّة، واحتفظ بنسخة احتياطية سليمة من الموقع القديم.

كيف تختبر الخادم الجديد قبل تغيير DNS؟

ملف hosts خريطة محلية تربط الأسماء بعناوين IP يفحصها جهازك قبل DNS. أضف سطرًا يضم عنوان IP للخادم الجديد ونطاقك، مثل ‎203.0.113.10 example.com www.example.com‎ (عنوان مثال)، فلا يصل إلى الخادم الجديد إلا جهازك. وفي Windows يوجد الملف في ‎%SystemRoot%\System32\drivers\etc‎ ويحتاج إلى صلاحيات المسؤول (وثائق Microsoft)؛ وفي macOS وLinux هو ‎/etc/hosts‎. وأزل السطر بعد الانتهاء.

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

تحمل النسخة بيانات حيّة، وتشغّل WordPress المهام المجدولة عند تحميل الصفحات، لذا قد تنطلق رسائل بريد أو مهام من النسخة. ويضيف كثير من أصحاب المواقع ‎define( 'DISABLE_WP_CRON', true );‎، الموصوف في وثائق wp-config في WordPress، إلى النسخة ثم يزيلونه قبل التحويل. ولا يزال بإمكان Action Scheduler أن يبدأ من طلبات لوحة الإدارة، فاجعل جلساتك قصيرة.

ماذا لو تغيّر النطاق أو الرابط؟

إذا تغيّرت الاستضافة وحدها، فتخطَّ هذا القسم. أما إذا تغيّر النطاق، أو انتقلت بين http وhttps أو بين www وبدونها، فيجب أن يتغيّر كل رابط مخزَّن. ويُخزَّن جزء كبير منها في صورة بيانات PHP متسلسلة (serialised)، تسجّل طول كل سلسلة نصية، مثل ‎s:5:"hello";‎. والبحث والاستبدال النصي العادي يغيّر النص ولا يغيّر الطول، فلا تعود القيمة قابلة للقراءة. ويحذّر دليل النقل في WordPress من ذلك، ويوصي بالأمر search-replace في WP-CLI الذي يتعامل مع البيانات المتسلسلة.

# 1. Back up the database first
wp db export before-url-change.sql

# 2. Dry run: report only, save nothing
wp search-replace 'https://old-example.com' 'https://new-example.com' --all-tables-with-prefix --skip-columns=guid --dry-run

# 3. Run it for real
wp search-replace 'https://old-example.com' 'https://new-example.com' --all-tables-with-prefix --skip-columns=guid

يتبع الخيار ‎--skip-columns=guid‎ قاعدة WordPress بألا يُغيَّر عمود GUID أبدًا، ويشمل الخيار ‎--all-tables-with-prefix‎ جداول الإضافات غير المسجّلة. ويكتب الخيار ‎--export=database.sql‎ ملفًا محوَّلًا دون المساس بقاعدة البيانات. وكرّر التشغيل التجريبي بعد ذلك لترى هل بقي العنوان القديم.

ويحتاج تغيير النطاق أيضًا إلى إعادة توجيه: فيوصي دليل Google لنقل الموقع بعمليات إعادة توجيه دائمة من جهة الخادم، تُبقى عادةً سنة على الأقل.

شهادة SSL والبريد الإلكتروني وتحويل DNS

شهادة SSL والبريد الإلكتروني

الشهادة المرتبطة بالخادم القديم لا تنتقل معك، فاسأل الاستضافة الجديدة كيف ومتى تُصدر شهادة. وتختلف أنواع التحقق في Let's Encrypt: فيتطلب HTTP-01 أن يصل نطاقك إلى الخادم الجديد، لذا قد لا ينجح إلا بعد التحويل، بينما يستخدم DNS-01 سجل TXT.

تحدد سجلات MX وجهة البريد، لذا فنقل الموقع لا ينقل صناديق البريد الموجودة لدى الاستضافة القديمة: انسخها أولًا أو أبقِ على خدمة البريد تلك، وأبقِ سجلات MX وSPF وDKIM دون تغيير. وتغيير خوادم الأسماء (nameservers) ينقل كل السجلات، لذا أعد إنشاءها جميعًا لدى مزوّد DNS الجديد أولًا؛ أما تغيير سجل A الخاص بالموقع وحده فيترك البريد كما هو.

التحويل والتراجع

  1. النسخة الأخيرة. جمّد التغييرات، وخذ نسخة احتياطية، وكرّر تصدير قاعدة البيانات واستيرادها، وانسخ الملفات المرفوعة الأحدث.
  2. غيّر السجل. وجّه سجل A الخاص بالنطاق والنطاق الفرعي www إلى عنوان IP الجديد، واحذف أي سجل AAAA إذا لم يكن لدى الخادم الجديد IPv6.
  3. راقب الانتشار. تتحدث محلِّلات DNS (resolvers) كلما انتهت مدة TTL المخزّنة لديها، لذا يرى الناس خوادم مختلفة في هذه الأثناء. ويبيّن ملف نصي يحمل كلمة «قديم» على أحد الخادمين وكلمة «جديد» على الآخر أيهما يجيب.
  4. أبقِ الاستضافة القديمة حتى تصل حركة الزيارات فيها إلى الصفر، كما يقول دليل Google، ثم ارفع مدة TTL.

التراجع هو الموقع القديم: أعد توجيه السجل إليه، وهذا سريع مع مدة TTL منخفضة. واتفق مسبقًا على ما يستدعيه، مثل تعطل صفحة الدفع، وانقل أي طلبات جديدة.

ما الذي يتغيّر في متجر WooCommerce؟

تُحفظ الطلبات والعملاء في قاعدة البيانات، لذا فالطلب الذي يُنشأ على الموقع القديم بعد آخر تصدير لك يكون غائبًا عن الموقع الجديد. جمّد، أو قارن، أو افعل الأمرين.

  • التجميد. قبل التصدير الأخير، حوّل المتجر القديم إلى Coming soon من WooCommerce > Settings > Site visibility، مع تفعيل Apply to store pages only إذا أردت أن يبقى بقية الموقع ظاهرًا. وتقول وثائق WooCommerce إن صفحة الهبوط (landing page) تحل حينئذٍ محل صفحات السلة والدفع والمتجر. ويحمل الاستيراد هذا الإعداد معه، لذا اضبط المتجر الجديد على Live بعد ذلك.
  • المقارنة. دوّن رقم أحدث طلب عند التصدير. وبعد التحويل، افحص WooCommerce > Orders في الموقع القديم بحثًا عن طلبات أحدث، وافحص لوحة تحكم مزوّد الدفع، وأعد إدخال ما هو ناقص.

تنتقل الإجراءات المجدولة (WooCommerce > Status > Scheduled Actions) مع قاعدة البيانات، لذا افحص بعد ذلك ما فشل منها أو تأخر موعده؛ ويشرحها دليل السرعة. ولا تشغّل نسختين حيّتين على حساب دفع واحد، وإذا كان المزوّد يقبل عناوين IP المدرجة في قائمة فقط، فأضف عنوان الخادم الجديد.

قائمة التحقق بعد النقل

  • الروابط وHTTPS: يعرض Settings > General العنوانين الصحيحين WordPress Address (URL) وSite Address (URL)، ويظهر القفل.
  • الروابط الدائمة (Permalinks): احفظ Settings > Permalinks (أو شغّل wp rewrite flush)، ثم افتح المقالات والمنتجات.
  • الوسائط والنماذج والبريد والمدفوعات: تُحمَّل الصور، وتعمل النماذج، ويرسل الطلب التجريبي رسائله، وتجتاز كل طريقة دفع اختبارها.
  • التخزين المؤقت: امسح ذاكرة الصفحات المؤقتة وشبكة CDN؛ وإذا ترك المزوّد القديم الملف object-cache.php أو advanced-cache.php في wp-content، فتأكد أنهما يناسبان الاستضافة الجديدة.
  • المهام المجدولة (Cron): أزل DISABLE_WP_CRON ما لم تكن الاستضافة تشغّل مهمة على مستوى الخادم، وافحص wp cron event list.
  • محركات البحث والأخطاء: الإعداد في Settings > Reading لا يثني محركات البحث عن فهرسة الموقع، ولا يحظر ملف robots.txt الموقع، وتظهر Site Health نظيفة؛ وراجع أخطاء WordPress الشائعة إن تعطل شيء.
  • الاستضافة القديمة: لا تلغِها إلا عندما تتأكد، ثم احذف النسخة القديمة بشكل آمن؛ فهي تحمل بيانات العملاء.

الأسئلة الشائعة

هل أستطيع فعلًا نقل موقع WordPress دون توقف؟

يستطيع الزوار مواصلة استخدام الموقع القديم حتى يتغير DNS، فلا حاجة إلى انقطاع. أما المواقع التي تستقبل طلبات أو تعليقات فلا تزال تحتاج إلى تجميد قصير عند النسخة الأخيرة، أو إلى مقارنة.

كم يستغرق انتشار DNS؟

يتوقف ذلك على مدة TTL وعلى الذاكرة المؤقتة لكل محلِّل. وخفض TTL يقصّر المدة، لكن بعض المحلِّلات يحتفظ بالسجلات مدة أطول، فأبقِ الموقع القديم يعمل.

هل أحتاج إلى استبدال الروابط إذا تغيّرت الاستضافة وحدها؟

لا. مع النطاق نفسه، يكفي نسخ الملفات وقاعدة البيانات وتعديل ‎wp-config.php‎.

هل يضر النقل بترتيبي في نتائج البحث؟

لا ينبغي ذلك، إذا بقيت الروابط كما هي وكان الموقع الجديد مكتملًا وسريعًا ويمكن الوصول إليه. وتقول Google إن انخفاضًا قصيرًا في زحف محركات البحث أمر طبيعي.

الخطوة التالية

اكتب خطتك اليوم: تغيير TTL، والنسخة الاحتياطية، وتفاصيل قاعدة البيانات، والموعد. وإذا لم تختر استضافة بعد، فابدأ بقراءة كيف تختار استضافة WordPress. وبعد ذلك، اتبع قائمة التحقق من الأمان وتصفح إضافات WordPress على DevMarket.

XLinkedInWhatsApp

كيف تختار قالب ووردبريس: قائمة تحقق قبل أن تثبّت أي قالب

اختر قالب ووردبريس بالاختبار لا بالعرض التجريبي: قارن قوالب الكتل والقوالب الكلاسيكية، والمصادر، والسرعة، وإمكانية الوصول، ودعم RTL وWooCommerce، والارتباط بأدوات البناء، وشروط الترخيص على نسخة تجريبية.

9 دقائق قراءة

اعثر على البرنامج المناسب للمهمة

لكل منتج على DevMarket إصدار يراجعه فريقنا، ومفتاح ترخيص فوري، وشروط واضحة للتحديث والدعم.