اذهب إلى المحتوى

تغيير رابط موقع ووردبريس


Ali Alrohia

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

  • إن خيار "عنوان الموقع (URL)" هو العنوان الذي تريد للزوار كتابته ضمن المتصفح للوصول لمدونتك.
  • إن خيار "عنوان ووردبريس (URL)" هو العنوان الذي توجد فيه ملفات نواة ووردبريس.

ملاحظة: يجب أن يتضمن كلا الخيارين السابقين الجزء https://‎ في البداية لكن من دون "/" في النهاية.

يحتاج كل فترة شخص ما لتغيير هذه الخيارات يدويًا، وعادةً يحصل هذا عندما يُغيّر هذا الشخص أحد أو كلا هذين الخيارين ثم يتفاجأ أن موقعه لا يعمل بالشكل الصحيح، لذا يشرح هذا المقال كيفية تغيير هذه الإعدادات مُباشرةً.

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

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

طرق تغيير رابط موقع ووردبريس

إليك أربع طرق سهلة لتغيير رابط الموقع يدويًا، أي من هذه الطرق سوف يعمل ويؤدي نفس الوظيفة.

تحرير ملف wp-config.php

تستطيع ضبط رابط الموقع يدويًا باستخدام ملف wp-config.php حيث عليك إضافة السطرين التاليين له واستبدال "example.com" بالموقع لموقعك.

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

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

تحرير ملف functions.php

إن كنت تمتلك وصولًا للموقع من خلال اتصال FTP فهذه الطريقة يمكن أن تُساعدك لاستعادة موقعك سريعًا إن غيرت هذه القيم بطريقة غير صحيحة.

أولًا، اتصل بالموقع باستخدام FTP ثم انسخ ملف functions.php للقالب الفعّال الذي تريد تعديله باستخدام محرر نصي بسيط وأعد رفعه إلى الموقع، ثم أضف السطرين البرمجيين التاليين مباشرةً بعد السطر ‎<?php (استخدام الرابط الخاص بك بدلًا من القيمة example.com):

update_option( 'siteurl', 'http://example.com' );
update_option( 'home', 'http://example.com' );

ارفع الملف من جديد لموقعك بنفس المكان حيث يوفر تطبيق FileZilla خيار تعديل الملف لتنفيذ ما سبق بسرعة إن كنت تستطيع استخدامه، ثم أعد تحميل صفحة تسجيل الدخول أو صفحة مدير الموقع عدة مرات، ويجب أن يعود الموقع للعمل الآن.

ملاحظة مهمة: عليك إزالة الشيفرة البرمجية السابقة من ملف functions.php بعد تأكدك من عودة الموقع للعمل من جديد.

ملاحظة: إن كان القالب الذي تستخدمه لا يمتلك ملف functions.php عليك إنشاء واحد جديد باستخدام محرر نصي وإضافة الوسم ‎<?php والسطرين البرمجيين السابقين مع استخدام الرابط الخاص بموقعك بدلًا من القيمة example.com.

<?php
update_option( 'siteurl', 'http://example.com' );
update_option( 'home', 'http://example.com' );

ارفع هذا الملف إلى مسار القالب ثم أزل السطرين البرمجيين السابقين أو الملف كاملًا بعد عودة الموقع للعمل من جديد.

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

عنصران مهمان جدًا هما تعديلات الموّجه router أو الجدار الناري firewall وانتظار ما يزيد من 10 دقائق بعد تنفيذ التعديلات النهائية. استخدم SSH للدخول للخادم (المحر nano هو محرر نصي مُثبت مُسبقًا على الخادم).

$ nano /var/www/books/wp-content/themes/twentyeleven/functions.php

أضف السطور البرمجية بعد الوسم ‎<?php

update_option( 'siteurl', 'http://your.site.url:port/yourblog');
update_option( 'home', 'http://your.site.url:port/yourblog');

أعد تحميل الموقع ضمن المتصفح باستخدام رابط خارجي.

http://your.site.url:port/yourblog

أزل هذه السطور التي أضفتها (أو اجعلها عبارةً عن تعليق) عبر الأمر السابق نفسه:

$ nano /var/www/books/wp-content/themes/twentyeleven/functions.php

ثم ادخل للموجه فالخطوات التالية هي من أجل pfSense حيث أن خطوات إعداد الموجهات الأخرى مشابهة.

أضف إلى الجدار الناري/جدول nat سطرًا شبيه بالسطر التالي:

wan/tcp/port/LAN.server.IP/80

أضف إلى الجداري الناري/جدول القواعد rules table السطر التالي:

tcp/*/port/LAN.server.IP/port/*

ضمن النظام/متقدم/الشبكة ألغ اختيار Disable NAT Reflection:

"Disables the automatic creation of NAT redirect rules for access to your public IP addresses from within your internal networks. Note: Reflection only works on port forward type items and does not work for large ranges > 500 ports."

الآن انتظر لمدة عشر دقائق ثم جرب إن كان الرابط الخارجي http://your.site.url:port/yourblog من متصفح ضمن الشبكة المحلية يستطيع تحميل الموقع الصحيح.

طريقة تعيين الموقع

يدعم ووردبريس طريقة تعيين موقع تلقائية الغرض منها المساعدة السريعة لإعادة موقعك للعمل عند نقل موقع من خادم لآخر.

الشيفرة البرمجية للدالة

عند ضبط RELOCATE بقيمة true ضمن ملف wp-config.php (انظر للقسم التالي) سوف تدخل الشيفرة التالية حيز العمل ضمن ملف wp-login.php:

if ( defined( 'RELOCATE' ) AND RELOCATE ) {    
  // Move flag is set
  if ( isset( $_SERVER['PATH_INFO'] ) AND ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) )
        $_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], "", $_SERVER['PHP_SELF'] );
    $url = dirname( set_url_scheme( 'http://'. $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) );
    if ( $url != get_option( 'siteurl' ) )
        update_option( 'siteurl', $url );
}

إليك خطوات العمل.

أولًا، حرر ملف wp-config.php ثم أضف بعد عبارات define (قبل سطر التعليق الذي يقول "That’s all, stop editing!‎") التعليمة التالية define('RELOCATE',true);‎ واحفظ الملف.

ثانيًا، افتح المتصفح وتوجه يدويًا إلى الملف wp-login.php ضمن الخادم الجديد، فعلى سبيل المثال إن كان موقعك الجديد موجودًا على http://www.yourdomainname.com عندها عليك كتابة http://www.yourdomainname.com/wp-login.php ضمن المتصفح.

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

أخيرًا، بعد أن أُصلحت المشكلة عليك تحرير ملف wp-config.php وإزالة السطر الذي أضفته أو تغيير القيمة من true إلى false إن كنت تعتقد أنك سوف تغيير رابط الموقع قريبًا.

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

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

تغيير الرابط مباشرةً من قاعدة البيانات

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

أولًا، خذ نسخة احتياطية عن قاعدة البيانات واحفظها في مكان مختلف عن الموقع ثم انتقل للوحة تحكم phpMyAdmin واضغط على رابط قواعد البيانات.

ثانيًا، سوف تظهر لك قائمة بقواعد البيانات، عليك اختيار القاعدة المرتبطة بموقعك، وسوف تظهر جميع الجداول ضمن قاعدة البيانات على الشاشة.

ثالثًا، ابحث عن الجدول wp_options من القائمة مع الانتباه أن بادئة الجدول wp_‎ يمكن أن تكون مختلفة إن غيرتها أثناء تثبيت ووردبريس، ثم اضغط على الأيقونة الصغيرة التي تُشير إلى تصفح الجدول، وستظهر لك صفحة تتضمن قائمة بحقوله ثم ابحث ضمن حقل option_name عن site_url، واضغط على أيقونة تحرير الحقل التي تتواجد عادةً في أقصى يسار السطر وسوف تظهر نافذة تحرير الحقل، حينها غير معلومات الرابط ضمن حقل option_value للعنوان الجديد، وتحقق أنه صحيح ثم اضغط على Go لحفظ المعلومات الجديدة.

رابعًا، يجب أن يظهر لك الآن جدول wp_options من جديد، ابحث عن الحقل home ضمن الجدول واضغط على أيقونة تحرير الحقل مع الانتباه لوجود عدة صفحات ضمن هذا الجدول إن لم تجد الحقل المطلوب في أول صفحة.

أخيرًا، أدخل معلومات الرابط الجديدة ضمن حقل option_value، وتحقق أن المعلومات صحيحة ثم اضغط على Go لحفظ المعلومات.

نقل موقع ووردبريس

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

هذه المعلومات مذكورة هنا فقط لكنها ربما غير كاملة أو دقيقة. عليك قراءة مقال نقل موقع ووردبريس أولًا إن كنت تحاول نقل ووردبريس من نظام لآخر.

تبديل بادئة الجداول

ربما تُشغَّل عدة مواقع ووردبريس باستخدام قاعدة بيانات واحدة من خلال بعض التعديلات على ملف wp-config.php وهذا ما يفعله العديد من مدراء مواقع ووردبريس. تتضمن هذه التعديلات ضبط بادئة جداول قاعدة البيانات وإن حصل وغيرت بادئة جدول خاص بك عليك تحديث عدة مدخلات ضمن جدول اسمه يقابل الاسم prefix_usermeta أيضًا.

تذكر أن تغييرات SQL دائمة لذا عليك أخذ نسخة احتياطية عن قاعدة البيانات أولًا قبل البدء بأي تعديلات.

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

UPDATE `newprefix_usermeta` SET `meta_key` = REPLACE( `meta_key` , 'oldprefix_', 'newprefix_' );

تغيير قالب الملفات

افتح كل ملف قالب ضمن قالب ووردبريس وابحث عن مرجع أُدخل يدويًا لاسم نطاق موقعك القديم واستبدله باسم النطاق الجديد. ابحث عن روابط مكتوبة يدويًا ربما أضفتها ضمن ملفات القالب المتنوعة مثل sidebar.php و footer.php. يستخدم ووردبريس وسم القالب الذي يُدعى bloginfo()‎ لتوليد عنوان موقعك تلقائيًا من المعلومات الموجودة ضمن تبويب عام من قسم الإعدادات في لوحة تحكم ووردبريس، ولا حاجة لتعديل هذا الوسم ضمن ملفات القالب.

تغيير ملف الإعدادات

سوف تحتاج لتحديث ملف إعدادات ووردبريس إن نُقلت قاعدة البيانات أو تغيرت بطريقة ما.

  1. تحتاج فقط لتعديل ملف الإعدادات إن:
  2. نُقلت قاعدة بياناتك من خادم لآخر ولا تعمل على الخادم المحلي localhost
  3. أعدت تسمية قاعدة بياناتك.
  4. غيّرت اسم مستخدم قاعدة البيانات.
  5. خذ نسخة احتياطية عن ملف wp-config.php
  6. افتح هذا الملف باستخدام محرر نصي
  7. راجع محتواه وابحث بالأخص عن مدخل مضيف قاعدة البيانات database host.
  8. احفظ الملف.

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

تحقق من ملفك الشخصي

اتبع الخطوات التالية:

  1. عليك التحقق ضمن تبويب عام في قسم الإعدادات من لوحة تحكم ووردبريس أنك أجريت التغييرات الصحيحة للرابط.
  2. تحقق أن المرجع ضمن عنوان ووردبريس URL يتضمن العنوان الجديد.
  3. تحقق أن المرجع ضمن عنوان الموقع URL يتضمن العنوان الجديد.
  4. إن أجريت أي تعديل عليك حفظ التغييرات.

تحديث ملف ‎.htaccess

عليك تحديث ملف ‎.htaccess بعد تعديل المعلومات ضمن تبويب عام في قسم الإعدادات من لوحة تحكم ووردبريس إن كنت تستخدم الروابط الدائمة أو أي إعادة توجيه أو إعادة كتابة للروابط، لذا اتبع الخطوات التالية.

أولًا، خذ نسخة احتياطية عن ملف ‎.htaccess وهذا أمر مُفضل وليس واجبًا، ثم افتحه عبر محرر نصي.

ثانيًا، راجع محتوى الملف وابحث عن أي قواعد إعادة كتابة مُخصصة أو إعادة توجيه أدخلتها سابقًا ثم انسخ هذه القواعد لملف آخر لحفظها في مكان آمن، ثم أغلق الملف.

ثالثًا، اتبع التعليمات ضمن Permalink SubPanel لتحديث الروابط الدائمة ضمن ملف ‎ .htaccess.

رابعًا، افتح ملف ‎.htaccess الجديد وتحقق إن كانت قواعد إعادة الكتابة وإعادة التوجيه خاصتك موجود فيه، وإن لم تكن موجودة انسخها من الملف المحفوظ سابقًا ثم ألصقها ضمنه ثم أجري أي تعديلات ضرورية لقواعد إعادة الكتابة أو إعادة التوجيه المخصصة لتعبر عن عنوان موقعك الجديد، ثم احفظ الملف.

أخيرًا، اختبر إعادة التوجيه لتتأكد أنها تعمل جيدًا.

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

أمور إضافية عليك ملاحظتها

هناك أمور ربما ترغب بتغييرها لتصحيح الروابط عند نقل الموقع.

  1. روابط الصور: وهي مخزنة ضمن عمود postcontent في جدول wpposts. تستطيع استخدام شيفرة مشابهة لما ذكر في الأعلى لتحديث روابط الصور.
  2. wp-options: يوجد قيم أخرى غير القيمة siteurl والقيمة home يجب مراجعتها مثل upload_path وبعض عناصر الإضافات (يعتمد على ما ثبته من ودجات وخرائط موقع وغيرها).
  3. لإصلاح الودجات التي تتضمن روابط منتهية الصلاحية عليك تعديلها ضمن تبويب ودجات في قسم الإعدادات ضمن لوحة تحكم ووردبريس.
  4. ابحث ضمن كامل قاعدة المعطيات عن أي عنصر متبقي وتحقق مما تُغيره.
  5. إن كنت تعمل على شبكة ووردبريس متعددة المواقع سوف تحتاج لاستبدال وحدات من الرابط في قاعدة البيانات حيث تكون مخزنة في العديد من الجداول التي تتضمن كل واحدة من المواقع، لذا عليك أن تكون حذرًا لما تستبدله وتحقق من أنك تعرف معنى أو وظيفة الحقل قبل تغييره. ألق نظرة على ملاحظات هامة حول عمود GUID في الأسفل لمثال عما لا يجب تغييره.
  6. إن وجدت الرابط القديم في خيارات قاعدة البيانات ضمن dashboardincominglinks تستطيع تجاهل أو حذف هذا الخيار فهو غير مستخدم منذ إصدار ووردبريس 3.8.

ملاحظة هامة حول عمود GUID

سوف تصادف عند تغييرك للروابط مباشرةً في قاعدة البيانات روابط موجودة ضمن عمود guid في جداول wp_posts، إذ من المهم ألا تغير محتويات هذا الحقل.

يُشير المصطلح GUID للعبارة Globally Unique Identifier، والغرض من هذا الحقل حفظ معرف لكل منشور حيث يكون هذا المعرف فريدًا ولا يتغير أبدًا، ويُستخدم حقل GUID بشكل أساسي لإنشاء تغذيات ووردبريس.

عندما يقرأ قارئ التغذية التغذيات سوف يستخدم محتويات حقل GUID لمعرفة إن كان عرض عنصرًا معينًا من قبل أم لا، وهو ينفذ ذلك من خلال طريقة من عدة طرق لكن الأكثر استخدامًا هي بتخزين قائمة بقيم GUID التي عرضها ويُعلمها على أنها مقروءة.

إن تغيير GUID يعني أن العديد من قارئات التغذية سوف تعرض فجأةً محتواك مرة أخرى على أنه محتوًى جديدًا وهذا يمكن أن يُزعج القارئ، وليكون حقل GUID فريدًا على مجال واسع فإنه يستخدم رابط موقعك أو تمثيلًا معينًا له لذا إن كنت تملك الرابط example.com عندها أنت الوحيد الذي يستخدم هذا الرابط وبالتالي فهو فريد لك ولموقعك، ولذلك يستخدم ووردبريس الروابط الدائمة أو شكل منها لحقل GUID.

إن السبب الثاني الذي يجب من أجله ألا يتغير حقل GUID هو أنه حتى إن غيرت النطاق فإن المقال يبقى نفس المقال حتى لو بموقع جديد، ويجب أن تعرف قارئات التغذيات عند الانتقال لموقعك الجديد أن المقالات هذه هي نفسها المقالات السابقة وليست محتوى جديد.

بناءً على ما سبق، لا تغير أبدًا محتويات عمود GUID تحت أي ظرف كان.

إن كان من الواجب تغيير مجلد المرفوعات لموقع آخر عندها يجب تغيير روابط ملفات الوسائط ضمن عمود post_content لجدول المنشورات، فعلى سبيل المثال إذا كان مجلد المرفوعات الافتراضي يتغير من wp-content/uploads إلى images:

UPDATE wp_posts SET post_content = REPLACE(post_content,'www.domain.com/wp-content/uploads','www.domain.com/images');

ملاحظة: ألق نظرة على نقل ووردبريس متعدد المواقع قسم نقل ووردبريس متعدد المواقع.

أداة wp-cli

إن wp-cli أداة مفيدة جدًا للصدفة Shell.

wp search-replace 'example.dev' 'example.com' --skip-columns=guid

أو إن أردت فقط تغيير الخيار تستطيع عمل التالي:

wp option update home 'http://example.com'
wp option update siteurl 'http://example.com'

ترجمة -وبتصرف- للمقال Common WordPress Errors من موقع ووردبريس.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...