حل أخطاء ووردبريس الشائعة: الشاشة البيضاء والخطأ الحرج وغيرهما
حل أخطاء ووردبريس الشائعة بهدوء: خذ نسخة احتياطية، واقرأ السجلات، واعثر على السبب بالاستبعاد، ثم عالج أخطاء قاعدة البيانات و500 والذاكرة ووضع الصيانة و404 وتسجيل الدخول.
9 دقائق قراءة
انقل موقع ووردبريس إلى استضافة جديدة دون توقف: خذ نسخة احتياطية، وانسخ الملفات وقاعدة البيانات، واختبر على الخادم الجديد قبل DNS، واستبدل الروابط بأمان، ثم غيّر DNS واحمِ طلبات WooCommerce.
لنقل موقع WordPress (ووردبريس) إلى استضافة جديدة دون توقف، ابنِ نسخة كاملة على الخادم الجديد بينما يبقى الموقع القديم يعمل، واختبرها بشكل خاص، ثم وجّه نطاقك إلى الخادم الجديد. ويمكنك النسخ بإضافة نقل (migration plugin) أو بأداة الاستضافة الجديدة أو يدويًا. ويغطي هذا الدليل الخطوات اليدوية، وتوقيت DNS، وما يحتاجه متجر WooCommerce، لأن الطلبات تستمر في الوصول.
باختصار
wp-config.php. نطاق جديد: استخدم الأمر search-replace في WP-CLI، لا الاستبدال النصي العادي.انقل موقعك عندما لا تستطيع الباقة تلبية حاجة حقيقية، مثل إصدارات PHP القديمة، أو حدود تسبب أخطاء، أو غياب النسخ الاحتياطية والبيئة التجريبية، أو خادم بعيد، أو دعم بطيء. ولا تنقل موقعك لتعالج خطأ في إضافة أو شاشة بيضاء: فسيرث الخادم الجديد العطل نفسه، وإصلاح أخطاء WordPress الشائعة أسرع.
| الطريقة | تناسب | انتبه إلى |
|---|---|---|
| إضافة نقل | المواقع الصغيرة والمتوسطة | حدود الرفع والوقت؛ وافحص الإضافة كما في دليل الإضافات لدينا |
| أداة الاستضافة الجديدة أو خدمتها | أصحاب المواقع الذين يريدون أن تنسخ الاستضافة موقعهم | ما الذي تنسخه، وهل تستطيع تكرار النسخ لمزامنة أخيرة |
| النقل اليدوي | المواقع الكبيرة، والتحكم الكامل | خطوات أكثر؛ ويحتاج إلى وصول إلى الملفات وقاعدة البيانات، ويفضّل SSH مع WP-CLI |
تقوم الأداة بالنسخ آليًا، لا بالتخطيط: فتبقى الخطوات الأخرى مطلوبة.
يتبع هذا القسم دليل WordPress عن نقل WordPress لحالة العنوان الذي لا يتغير، حيث يكفي نسخ الملفات وقاعدة البيانات.
wp-content وwp-config.php و.htaccess، إلى الخادم الجديد عبر SFTP أو أدوات الاستضافة.wp-config.php بالقيم الجديدة DB_NAME وDB_USER وDB_PASSWORD وDB_HOST (وهي في الغالب localhost، لكن ليس دائمًا). وأبقِ $table_prefix مطابقًا لجداول القاعدة المستوردة..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. وجّهه إلى قاعدة البيانات الجديدة الفارغة، ولا توجّهه أبدًا إلى قاعدة بيانات حيّة، واحتفظ بنسخة احتياطية سليمة من الموقع القديم.
ملف 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 لنقل الموقع بعمليات إعادة توجيه دائمة من جهة الخادم، تُبقى عادةً سنة على الأقل.
الشهادة المرتبطة بالخادم القديم لا تنتقل معك، فاسأل الاستضافة الجديدة كيف ومتى تُصدر شهادة. وتختلف أنواع التحقق في Let's Encrypt: فيتطلب HTTP-01 أن يصل نطاقك إلى الخادم الجديد، لذا قد لا ينجح إلا بعد التحويل، بينما يستخدم DNS-01 سجل TXT.
تحدد سجلات MX وجهة البريد، لذا فنقل الموقع لا ينقل صناديق البريد الموجودة لدى الاستضافة القديمة: انسخها أولًا أو أبقِ على خدمة البريد تلك، وأبقِ سجلات MX وSPF وDKIM دون تغيير. وتغيير خوادم الأسماء (nameservers) ينقل كل السجلات، لذا أعد إنشاءها جميعًا لدى مزوّد DNS الجديد أولًا؛ أما تغيير سجل A الخاص بالموقع وحده فيترك البريد كما هو.
www إلى عنوان IP الجديد، واحذف أي سجل AAAA إذا لم يكن لدى الخادم الجديد IPv6.التراجع هو الموقع القديم: أعد توجيه السجل إليه، وهذا سريع مع مدة TTL منخفضة. واتفق مسبقًا على ما يستدعيه، مثل تعطل صفحة الدفع، وانقل أي طلبات جديدة.
تُحفظ الطلبات والعملاء في قاعدة البيانات، لذا فالطلب الذي يُنشأ على الموقع القديم بعد آخر تصدير لك يكون غائبًا عن الموقع الجديد. جمّد، أو قارن، أو افعل الأمرين.
تنتقل الإجراءات المجدولة (WooCommerce > Status > Scheduled Actions) مع قاعدة البيانات، لذا افحص بعد ذلك ما فشل منها أو تأخر موعده؛ ويشرحها دليل السرعة. ولا تشغّل نسختين حيّتين على حساب دفع واحد، وإذا كان المزوّد يقبل عناوين IP المدرجة في قائمة فقط، فأضف عنوان الخادم الجديد.
wp rewrite flush)، ثم افتح المقالات والمنتجات.object-cache.php أو advanced-cache.php في wp-content، فتأكد أنهما يناسبان الاستضافة الجديدة.DISABLE_WP_CRON ما لم تكن الاستضافة تشغّل مهمة على مستوى الخادم، وافحص wp cron event list.يستطيع الزوار مواصلة استخدام الموقع القديم حتى يتغير DNS، فلا حاجة إلى انقطاع. أما المواقع التي تستقبل طلبات أو تعليقات فلا تزال تحتاج إلى تجميد قصير عند النسخة الأخيرة، أو إلى مقارنة.
يتوقف ذلك على مدة TTL وعلى الذاكرة المؤقتة لكل محلِّل. وخفض TTL يقصّر المدة، لكن بعض المحلِّلات يحتفظ بالسجلات مدة أطول، فأبقِ الموقع القديم يعمل.
لا. مع النطاق نفسه، يكفي نسخ الملفات وقاعدة البيانات وتعديل wp-config.php.
لا ينبغي ذلك، إذا بقيت الروابط كما هي وكان الموقع الجديد مكتملًا وسريعًا ويمكن الوصول إليه. وتقول Google إن انخفاضًا قصيرًا في زحف محركات البحث أمر طبيعي.
اكتب خطتك اليوم: تغيير TTL، والنسخة الاحتياطية، وتفاصيل قاعدة البيانات، والموعد. وإذا لم تختر استضافة بعد، فابدأ بقراءة كيف تختار استضافة WordPress. وبعد ذلك، اتبع قائمة التحقق من الأمان وتصفح إضافات WordPress على DevMarket.
حل أخطاء ووردبريس الشائعة بهدوء: خذ نسخة احتياطية، واقرأ السجلات، واعثر على السبب بالاستبعاد، ثم عالج أخطاء قاعدة البيانات و500 والذاكرة ووضع الصيانة و404 وتسجيل الدخول.
9 دقائق قراءة
اختر قالب ووردبريس بالاختبار لا بالعرض التجريبي: قارن قوالب الكتل والقوالب الكلاسيكية، والمصادر، والسرعة، وإمكانية الوصول، ودعم RTL وWooCommerce، والارتباط بأدوات البناء، وشروط الترخيص على نسخة تجريبية.
9 دقائق قراءة
استخدم قائمة صيانة ووردبريس هذه لتخطيط المهام الأسبوعية والشهرية والسنوية: التحديثات والنسخ الاحتياطي والمستخدمون والإضافات والأمان والسرعة وPHP والنطاق وSSL، مع Site Health وفحوص WooCommerce.
9 دقائق قراءة
لكل منتج على DevMarket إصدار يراجعه فريقنا، ومفتاح ترخيص فوري، وشروط واضحة للتحديث والدعم.