نقل موقع ووردبريس إلى استضافة جديدة دون توقّف
نقل موقع ووردبريس بين الاستضافات يثير قلق أصحاب المواقع من احتمال توقف الخدمة أو ضياع الطلبات والمقالات الجديدة أثناء الترحيل. من خلال اتباع آلية النقل اليدوي المنضبطة وتخفيض TTL، يمكنك نقل الموقع بالكامل دون ثانية واحدة من التوقف (Zero Downtime).
مبدأ النقل دون توقف#
الفكرة الأساسية هي إبقاء الموقع القديم يعمل بكامل طاقته للزوار بينما تقوم بإنشاء وتجهيز نسخة طبق الأصل على الخادم الجديد واختبارها محلياً، ثم توجيه حركة المرور بسلاسة عبر DNS.
الخطوة 1: تقليل وقت انتشار DNS (TTL)#
قبل موعد النقل بيوم كامل، توجه إلى لوحة إدارة DNS لنطاقك وقم بتغيير قيمة TTL لسجلات A إلى 300 ثانية (5 دقائق). هذا يضمن استجابة مزودي خدمة الإنترنت للمسار الجديد فور التحويل النهائي.
الخطوة 2: تصدير قاعدة بيانات ووردبريس#
سجل الدخول إلى الخادم الحالي عبر SSH وقم بتصدير قاعدة البيانات بأمر mysqldump أو عبر WP-CLI:
wp db export backup.sql --allow-root
أو باستخدام mysqldump المباشر:
mysqldump -u DB_USER -p DB_NAME > backup.sql
الخطوة 3: ضغط الملفات ونقلها#
قم بضغط ملفات مجلد wp-content أو مجلد ووردبريس كاملاً في ملف tar.gz:
tar -czf site_files.tar.gz -C /var/www/html .
انقل الملفات وقاعدة البيانات إلى الخادم الجديد باستخدام أداة rsync السريعة:
rsync -avzP site_files.tar.gz backup.sql user@NEW_SERVER_IP:/var/www/html/
الخطوة 4: تجهيز الخادم الجديد وقاعدة البيانات#
على الخادم الجديد، فك ضغط الملفات واضبط الملكية لمستخدم خادم الويب (مثل www-data):
cd /var/www/html
tar -xzf site_files.tar.gz
chown -R www-data:www-data /var/www/html
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
أنشئ قاعدة بيانات جديدة ومستخدماً جديداً في MySQL:
CREATE DATABASE wp_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPasswordHere123!';
GRANT ALL PRIVILEGES ON wp_database.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
استورد ملف قاعدة البيانات:
mysql -u wp_user -p wp_database < backup.sql
الخطوة 5: تحديث بيانات wp-config.php#
افتح ملف wp-config.php على الخادم الجديد واضبط بيانات الاتصال بالقاعدة الجديدة:
define( 'DB_NAME', 'wp_database' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'StrongPasswordHere123!' );
define( 'DB_HOST', 'localhost' );
الخطوة 6: اختبار الموقع محلياً عبر ملف hosts#
لا تقم بتغيير DNS قبل التأكد من عمل الموقع! أضف سطراً في ملف hosts على جهازك الشخصي يربط النطاق بعنوان IP الجديد:
NEW_SERVER_IP yourdomain.com www.yourdomain.com
تصفح الموقع، وسجل الدخول للوحة التحكم، وتأكد من عمل الروابط والمقالات وقواعد البيانات. بعد الاطمئنان التام، احذف السطر من ملف hosts وقم بتعديل سجل A في مزود DNS الرسمي لنطاقك.



التعليقات