يعتبر الخطأ 404 (الصفحة غير موجودة)، أحد أكثر الأخطاء المرتبطة ببروتوكول HTTP شيوعًا. حيث يظهر هذا الخطأ للمستخدمين عند تصفحهم لمواقع الويب. وهو يتسبب للأسف في فقدان الزوار وزيادة معدل الارتداد Bounce Rate.
لهذا السبب، يلجأ بعض أصحاب المواقع إلى إنشاء تصميم مخصص لصفحات 404 في مواقعهم. أو يقومون بإعادة توجيه الزوار للصفحة الرئيسية للموقع أو أي صفحة أخرى بهدف المساعدة على تقليل معدل الارتداد ومنح المستخدمين فرصة أكبر لاكتشاف محتوى مفيد على هذا الموقع.
في هذه المقالة، سنوضح لك كيفية إعادة توجيه جميع صفحات 404 إلى الصفحة الرئيسية في مواقع ووردبريس خطوة بخطوة. وذلك باستخدام الإضافات (Plugins) وباستخدام الحلول البرمجية للمطورين.
نظرة عامة على الخطأ 404 (الصفحة غير موجودة)
يمكننا القول أن الخطأ 404 يشير إلى عدم توفر الصفحة المحددة التي تحاول الوصول إليها في موقع ما، وفي هذه الحالة يمكن لمتصفح الويب الخاص بك الاتصال بخادم الاستضافة ولكن لا يمكنه الوصول إلى الصفحة المحددة التي تحاول الوصول إليها في هذا الموقع.
يعود السبب في وقوع هذا الخطأ هو أن هذه الصفحة غير موجودة من البداية، أو ربما تم حذفها أو نقلها، أو أن عنوان URL لهذه الصفحة مكتوب بشكل خاطئ. والرقم 404 عبارة عن كود مختصر يشير إلى استجابة السيرفر على طلبك، وهو واحد من بين 500 استجابة أخرى تحدث عند زيارة أي صفحة ويب.
عندما ينتهي بالزائر المطاف إلى صفحة غير موجودة تحمل الخطأ 404 فإنه يشعر بالإنزعاج. لذا إذا كنت أحد أصحاب المواقع ولم تقم بتخصيص تصميم صفحة الخطأ 404 بشكل جذاب للمستخدم، ولم تقم كذلك بإعادة توجيه الصفحات 404 error إلى صفحة أخرى، فإن النتيجة التي سيحصل عليها زوار موقعك ستكون كالتالي:
لهذا السبب، أصبحت الغالبية العظمى من المواقع تلجأ إلى تخصيص صفحة معينة لتلقي جميع صفحات 404. ومنهم من يتفنن في هذه الصفحة بحيث يعتذر للزائرعن وقوع الخطأ، كما يقترح عليه صفحات بديلة ذات صلة ليذهب إليها. وهذا بكل تأكيد يعطي انطباعًا أفضل عن الموقع.
عندما تطلب الوصول إلى رابط أو صفحة ما على الإنترنت في أحد المواقع، فإنك بذلك ترسل طلب (Request) إلى الخادم، ثم يقوم الخادم بدوره بالرد على طلبك فيما يسمى باستجابة أو رد الخادم (Server response) أو بالأحرى (HTTP response).
تتوفر 5 أنواع مختلفة تضم 500 حالة لاستجابة السيرفر على طلبك لكل منها كود مخصص يدل عليها. وفيما يلي شرح مختصر لهذه الأكواد.
أكواد حالة استجابة السيرفر HTTP response status codes
تشمل أكواد حالة الاستجابة (الرد) من السيرفر HTTP response status codes ما يلي:
1-الردود المعلوماتية أو الإعلامية Informational responses (من 100 إلى 199):
وهي أول استجابة من السيرفر تدل على حالة المعلومات والبروتوكول المستخدم، وهي تعتبر استجابات مؤقتة. على سبيل المثال الكود 101 هو كود (تبديل البروتوكولات) ويعني أن العميل قد طلب من السيرفر تغيير البروتوكولات وأن السيرفر قد وافق على القيام بذلك. والكود 102 الذي يعتبر من أشهر أكواد الردود الإعلامية وهو يفيد بأن السيرفر استلم الطلب ولكن لم تتم معالجته حتى الآن.
الردود الناجحة Successful responses (من 200 إلى 299):
تضم مجموعة من الاستجابات التي تعبر عن نجاح الطلب الموجه للسيرفر. ومن أشهر أكواده الكود 200 الذي يدل على أن المحتوى متوفر وتم عرضه.
إعادات التوجيه Redirects (من 300 إلى 399)
عبارة عن ردود تدل على أن الصفحة معاد توجيهها إلى صفحة أخرى. من أمثلتها إعادة التوجيه من النوع 301 الذي يفيد بأن الصفحة تم نقلها كلياً لصفحة أخرى.
أخطاء العميل Client errors (من 400 إلى 499)
وهي أخطاء تحدث من جانب العميل أو الموقع نفسه، وليست أخطاء من طرف السيرفر. وتشير عادةً إلى عدم توفر المحتوى. من أمثلتها الخطأ 404 الذي نتناوله في مقال اليوم والذي يشير إلى عدم وجود الصفحة أو الرابط الذي طلبته.
أخطاء السيرفر Server errors (من 500 إلى 599)
مجموعة من الردود يعيدها السيرفر إلى المتصفح لتدل على وقوع خطأ ما من جانب السيرفر. من أشهر أخطاء السيرفر الخطأ العام 500 Internal Server Error الذي يعني أن السيرفر واجه حالة غير متوقعة منعته من تلبية الطلب.
يمكنك معرفة كود حالة استجابة السيرفر لأي صفحة عن طريق النقر بزر الماوس الأيمن على الصفحة، واختيار inspect من القائمة الظاهرة، ثم التوجه إلى تبويب Network كما توضح الصورة بالأسفل:
وبالرجوع إلى ووردبريس، فسوف نشرح لكم في الفقرات التالية طريقة إعادة توجيه جميع صفحات 404 إلى الصفحة الرئيسية للموقع، أو إلى أي صفحة أخرى مخصصة من تصميمك. يساعد ذلك بالطبع في تحسين موقعك وتسهيل وصول الزوار إلى محتوى شبيه لما يبحثون عنه بدلاً من أن يجدوا أنفسهم في صفحة بيضاء.
أسباب حدوث الخطأ 404 (الصفحة غير موجودة)
يحدث ذلك الخطأ لعدة أسباب لعل أهمها:
- خطأ إملائي من قبل المستخدم عندما يكتب رابط الصفحة يدوياً.
- بسبب حذف مقال أو تغير الرابط الخاص به.
- تغيير صيغة الروابط الدائمة Permalinks على الووردبريس، مما يؤدي إلى تحول جميع روابط موقعك إلى صفحات خاطئة.
- نقل موقعك من دومين إلى آخر أو من سيرفر إلى آخر مما يغير بنية الروابط الدائمة، وفي هذه الحالة تحتاج إلى عمل متقن لتحويل كل رابط لمكانه الصحيح. أقرب مثال على ذلك هو التحويل من بلوجر إلى الووردبريس.
إذًا عليك ملاحقة كافة الروابط المعطلة في موقعك وصيانتها وإعادة تحويلها إلى مكانها الصحيح، أو حتى إلى صفحات ذات صلة. لكن لحين حدوث ذلك قم بتحويل جميع الصفحات 404 إلى صفحتك الرئيسية حتى لا تترك الزوار في حالة من اليأس لعدم وصولهم لما يبحثون عنه.
تجدر الإشارة إلى أن الصفحات 404 قد تظهر أيضًا كحالة مؤقتة نتيجة مشكلة في المتصفح او السيرفر. لهذا السبب، قد تحتاج أحياناً لتنظيف متصفحك أو إعادة تشغيل الراوتر لحل تلك المشكلة. لكن! اطمئن مثل تلك المشكلات تحدث بشكل فردي ومؤقت ولا تعمم على كافة مستخدمي موقعك.
إعادة توجيه جميع صفحات 404 إلى الصفحة الرئيسية في ووردبريس
عادةً ما يتم نقل ترتيب أرشفة الصفحات المعاد توجيهها إلى الصفحات الجديدة (الموجه إليها)، خاصة عند استخدام إعادة التوجيه من النوع 301. لذلك نوصي بعمل إعادة التوجيه من النوع 301 للصفحات المحذوفة، أو التي تم نقلها إلى روابط أخرى، لضمان تدفق الزوار على نفس المحتوى، والأهم نقل ترتيب الصفحة المفقودة إلى صفحة جديدة.
تتمثل إحدى طرق تحسين الموقع والحفاظ على تفاعل المستخدمين بشكل أفضل، في إعادة توجيه صفحات الخطأ 404 إلى صفحات أخرى أكثر صلةً بالموضوع. لعل أحد أفضل الطرق فعالية هو عمل صفحة 404 مخصصة. مع ذلك! يفضل العديد من مالكي ومطوري المواقع إعادة توجيه الزوار إلى الصفحة الرئيسية.
تتوفر 3 طرق يمكن استخدامها لإعادة توجيه صفحات الخطأ 404 إلى الصفحة الرئيسية لموقعك على الووردبريس. تشمل هذه الطرق:
- إعادة التوجيه إلى الصفحة الرئيسية باستخدام ملف 404.php.
- إعادة توجيه صفحات 404 إلى الصفحة الرئيسية بالحلول البرمجية عن طريق ملف functions.php.
- استخدام إضافة All 404 Pages Redirect to Homepage.
سواء كنت صاحب موقع أو مطور ووردبريس، فإن الطرق الثلاثة المذكورة بالأعلى يمكن تطبيقها بسهولة وبخطوات بسيطة. تابع الشرح المصور لمعرفة ذلك خطوة بخطوة.
ملحوظة: بالطبع أنت بحاجة لتطبيق أحد الطرق الثلاث المذكورة وليس جميعها، فإنما قصدنا توفير عدة بدائل لتختار من بينها ما يناسبك.
أولاً: إعادة توجيه جميع صفحات 404 إلى الصفحة الرئيسية باستخدام ملف 404.php
يكون ملف 404.php متواجدًا في غالبية ما لم يكن جميع قوالب الووردبريس خصوصاً المتقدمة منها. وظيفة هذا الملف توجيه أي صفحة غير موجودة تحمل رمز الخطأ 404 إليها، بحيث توضح للزائر أن الصفحة غير موجودة وتوفر له عدة خيارات أخرى مثل اقتراح محتوى، شريط للبحث في الموقع، روابط لأقسام ومقالات... إلخ.
الصورة التالية توضح تصميم صفحة 404 في موقعنا ووردبريس بالعربية، يمكنك ملاحظة أن تصميم الصفحة جذاب ومتوافق تماماً مع تصميم القالب، كما أنها تظهر اقتراحات عديدة لتوجيه المستخدمين إليها بدلاً من ترك الموقع، كما هو مبين فنحن بالطبع لا نريد ترك زوارنا حائرين مشتتين.
يمكننا أيضاً إضافة كود إعادة توجيه في أعلى هذه الصفحة، بحيث يتم تحويل جميع الزيارات الواردة إليها إلى الصفحة الرئيسية للموقع بدلاً من عرضها للزائر.
وتجدر الإشارة إلى أنه من الأفضل تخصيص تصميم صفحة 404 لموقعك بدلاً من إعادة توجيهها لصفحة أخرى. لاسيما إذا كان الموقع يملك عدد عالٍ من الزيارات. فالتحويل من الصفحة 404.php إلى الصفحة الرئيسية بالرغم من كونه يحسن الـSEO مقابل ما إذا تركت الصفحة دون أي إجراء، لكنه ن ناحية أخرى قد يؤثر في هذه الحالة على أداء الموقع.
لذا إذا كان لديك صفحة مخصصة للخطأ 404 ذات تصميم جيد وتفي بالغرض فقد يكون هذا هو الخيار الأفضل لموقعك. وإلا فاتبع التعليمات التالية للتحويل للصفحة الرئيسية:
1. قم بالتوجه ملفات موقعك عن طريق أحد برامج عميل FTP مثل برنامج Filezilla.
2. اذهب إلى مجلد القالب على المسار التالي: wp-content، ثم اختر المجلد themes، ثم اختر من داخله المجلد الذي يحمل اسم القالب النشط.
3.ابحث عن الملف 404.php الموجود بداخله كما توضح الصورة بالأسفل، أو قم بإنشائه إن لم يكن موجوداً.
4. افتح الملف 404.php بأي محرر نصوص، ثم أضف في بدايته الكود التالي كما توضح الصورة بالأسفل:
//Start redirect all 404 page to the Home Page header ('HTTP/1.1 301 Moved Permanently'); header("Location: ".get_bloginfo('url')); exit(); //End redirect all 404 page to the Home Page
5. قم بحفظ الملف وارفعه مرة أخرى في نفس المسار.
شرح الكود:
- السطر الأول يقوم بنقل أرشفة وترتيب الصفحة إلى الرابط الجديد، وهذا ما يدل عليه الرقم 301 وقد وضحنا ذلك في بداية المقال.
- بعدها يتم إعادة تحويل الزائر إلى الصفحة الرئيسية. فالدالة header () عند تمرير location لها ستطلب من السيرفر تغير URL إلى الرابط المرر للدالة، وهو في حالتنا get_bloginfo('url') الذي يعيد رابط الموقع.
- دالة الخروج exit () تكتب لعدم تنفيذ باقي أكواد الملف.
بعد اتباع جميع الخطوات المذكورة بالأعلى، يمكنك التأكد من أن ما قمت به صحيح وذلك من خلال محاولة الوصول إلى أي عنوان (رابط) خاطئ في موقعك (يمكن القيام بذلك بكتابة حروف عشوائية بعد دومين موقعك)، يجب عندها أن يتم تحويلك إلى الصفحة الرئيسية.
في الواقع، إن التعديل على القالب الأساسي ليست الطريقة المثالية لإعداد موقعك بصورة عامة، أو لإعادة توجيه جميع صفحات 404 إلى الصفحة الرئيسية في الووردبريس كما في حالتنا هذه، فربما يتم حذف هذه التعديلات بعد تحديثات القالب.
لذلك يفضل أن يتم التعديل على القالب الإبن Child theme للقالب الرئيسي وذلك بإنشاء صفحة 404.php في المجلد الرئيسي للقالب الإبن، وإضافة نفس الكود السابق له لكن بعد وضعه بين وسمي الفتح والإغلاق في php بالشكل التالي:
<?php //Start redirect all 404 page to the Home Page header ('HTTP/1.1 301 Moved Permanently'); header("Location: ".get_bloginfo('url')); exit(); //End redirect all 404 page to the Home Page ?>
وبالنسبة التعليمة exit() في هذه الحالة ليست ضرورية، وذلك لأن الكود سيتوقف بالفعل عند الخروج من الملف في السطر السابق لكونه لا يحتوي أي كود بعده. لكن لا ضرر من وضعها.
يمكنك أيضاً اتباع الطريقة التالية وهي في الواقع الطريقة الأسهل والمفضلة لدى المطورين وأصحاب المواقع، كونها لا تتأثر بالتحديثات كما أنها بسيطة جداً ويتم إنجازها بخطوة واحدة.
ثانياً: إعادة توجيه صفحات 404 إلى الصفحة الرئيسية باستخدام ملف functions.php
لعل أحد أفضل الحلول البرمجية ذكاءاً هو التعديل على ملف functions.php في القالب الإبن child theme لعمل إعادة التوجيه لجميع الصفحات الغير موجودة على موقعك، لأن هذا الحل لن يتأثر ذلك أبداً بتحديثات القالب.
للقيام بذلك اتبع الخطوات التالية:
1. من لوحة تحكم الووردبريس انتقل إلى المظهر Apearance، ثم محرر القوالب Theme editor.
2. افتح الملف functions.php للقالب الإبن من القالب النشط، ثم أضف الكود التالي، ثم قم بالنقر على تحديث الملف Update File، كما توضح الصورة:
//Start redirect all 404 page to the Home Page function all_404_redirect_to_home(){ if(is_404()){ header("Location: ".get_bloginfo('url')); } } add_action('wp', 'all_404_redirect_to_home'); //End redirect all 404 page to the Home Page
ثالثاً: استخدام إضافة All 404 Pages Redirect to Homepage
هذه الإضافة ليست الوحيدة لكنها واحدة من أفضل الإضافات التي تسمح لك بعمل إعادة توجيه لجميع صفحات 404 إلى الصفحة الرئيسية بدون الحاجة لكتابة أكواد.
كما تجدر الإشارة إلى أن هذه الإضافة ليس لها وظائف أخرى، مما يعني أنها خفيفة ولا تؤثر على آداء الموقع كونها تعمل فقط في لوحة التحكم.
لإعادة تعين صفحات 404 باستخدام الإضافة، من خلال التوجه إلى لوحة تحكم ووردبريس ثم الذهاب إلى تبويبة (إضافات) ثم اختر (أضف جديد)
ثم في مربع البحث عن الإضافات اكتب اسم الإضافة All 404 Pages Redirect to Homepage، ستلاحظ ظهور الإضافة المطلوبة. أنقر على Install Now كما توضح الصور التالية:
4. ثم بعد ذلك قم بتفعيل الإضافة بالنقر على زر تفعيل Activate.
إذا واجهتك أية مشكلات خلال تثبيت وإعداد الإضافة All 404 Pages Redirect to Homepage الرجاء الاطلاع على مقالنا التالي: كيف تقوم بتنصيب إضافة ووردبريس وتفعيلها على موقعك بالشكل الصحيح.
ضبط إعدادت الإضافة
بعد تثبيت الإضافة وتفعيلها، يجب عليك ضبط إعدادات الإضافة لتقوم بتحويل جميع صفحات الخطأ 404 إلى الصفحة الرئيسية وذلك باتباع خلال الخطوات التالية:
1. انتقل إلى التبويب إعدادات (Settings) في لوحة تحكم ووردبريس.
2. انقر فوق اسم الإضافة All 404 Pages Redirect to Homepage، كما توضح الصورة بالأسفل:
3. اختر من القائمة المنسدلة بجانب Status الخيار تفعيل Enabled.
4. ثم قم بكتابة رابط الصفحة الرئيسية لموقعك -أو أي رابط أخر تريده- في مربع النص التالي الظاهر بجانب عبارة (Status Disabled Redirect all 404 pages to) لتحويل جميع صفحات 404 إلى هذا الرابط.
5. انقر على زر تحديث Update، كما توضح الصورة بالأسفل:
الآن عد لتصفح موقعك من جديد وجرب عمل الإضافة من خلال كتابة أي عنوان خاطئ. مثلأ اكتب رموزاً عشوائية بعد اسم الدومين كما يلي:
ستلاحظ أنك لن ترى الصفحة 404 في هذه الحالة، بل ستنتقل مباشرة إلى الصفحة الرئيسية لموقعك.
خاتمة
وبهذا نكون قد تناولنا في هذا المقال بشيء من التفصيل ما هو الخطأ 404 وما الذي يعنيه الكود 404، وأشرنا أنه واحد من بين 500 كود آخر يتم إرسالها إلى المتصفح ليعرض الرسالة المناسبة للمستخدم. كما شرحنا كيفية إعادة توجيه جميع صفحات 404 إلى الصفحة الرئيسية من خلال ثلاث طرق مختلفة. اثنتان منهما يعتمدان الحلول البرمجية وواحدة تعتمد على الإضافة All 404 Pages Redirect to Homepage المخصصة لهذه المهمة.
عزيزي القارئ، كل ما عليك هو اختيار الطريقة التي تناسبك من بين الطرق الثلاث الواردة في المقالة. واستخدامها في حال أردت إعادة توجيه الزوار إلى الصفحة الرئيسية لموقعك على الووردبريس عندما لا يتم العثور على صفحة ما في الموقع، بدلاً من إظهار صفحة الخطأ 404 التي تتسبب كما ذكرنا في جعل المستخدمين يغادرون موقعك على الفور ويبحثون عن مواقع أخرى.
وإذا واجهتك أي مشكلة أثناء تنفيذ الخطوات الواردة في المقال، لا تتردد في التواصل معنا في قسم التعليقات، وسوف نرد على استفسارك في أقرب فرصة.
السلام عليكم اخي الحبيب
عند اضافه منتج في الوكومرس ادخل البيانات وعندما اضغط ع نشر لايحفظ المنتج ويقوم بتحويلي الى المقالات
وعليكم السلام ورحمة الله وبركاته
هل بيتم حفظ المنتج في المسودة أم لا تحفظ بيانته بالأساس؟
وهل قمت بعمل أي تعديل على الموقع مثل تنصيب إضافة ما أو عمل تعديل على ملفات الموقع مباشرة قبل المشكلة المذكورة؟
شكراً من القلب أفضل موقع يشرح عن الووردبريس ❤️ الله يرضى على والديك.
شكرًا كثيرًا على تعليقك أخ أمجد
يسعدنا متابعتك لنا
سلام عليكم
شكرا لك عالشرح الجميل
انا ظهرت معاي هالمشكلة
لكن ليس بالصفحة الرئيسية بالموقع
الموقع شغال ممتاز
ظهرت لي بلوحة التحكم
يعني اريد الدخول على الصفحات او الاضافات او القالب او المظهر او المقالات او الاعدادات او اي قسم بلوحة التحكم يحولني على طول الى صفحة 404 ويوقول لي الصفحة غير موجودة
ايه حل هالمشكلة
وعليكم السلام ورحمة الله وبركاته
يعني الموقع شغال معك بكل صفحاته ولكن المشكلة في صفحة الأدمن فقط؟
http://www.example.com/wp-admin؟
في الغالب المشكلة من إحدى الإضافات أو القوالب عندك
جرّب تلغي تفعيلها واحدة تلو الأخرى وشاهد إن كانت المشكلة بها أم لا
وكذلك أطرح تجربتك في منتدى عرب ووردبريس وسنتابع معك إن شاء الله
ar-wp.com/forums/
والله يااستاذ عمر طرحت موضوعي بمنتدى عرب ووردبريس وماقصروا الشباب
وجربت كل حلولهم وماانحلت المشكلة
نعم المشكلة بصفحة الادمن
وجزاك بمثله
أخي لم أعرف ما هي الحلول التي جربتها ولم تنفع معك
عمومًا جرب الحلول التالية بالترتيب وأخبرني بالنتائج:
1- إلغاء تنشيط جميع الإضافات والقوالب المفعلة من خلال لوحة تحكم FTP
2- استعادة آخر نسخ احتياطي قبل مواجهة المشكلة
3- إعادة تحميل Re-upload wp-login.php
4- إنشاء ملف Htaccess جديد
جرب الحل الأول ولو لم ينفع معك جرب الثاني وهكذا وأخبرني بالنتيجة
السلام عليكم
اخي الكريم
جوجل سيرش بتقول عندي في الموقع في فهرسة الصفحات
يوجد 74 صفحة متاثرة
لم يتم العثور عليها 404
و سبق نصبت و فعلت أدات
Redirection
و بعد وضع رابط مثل
https://zwahef.info/أسباب-و-علاج-أمراض-العيون-عند-السلاحف/
في Source URL
و وضع الرابط المفروض التوجه له
في Target URL
لم يتغير شيء
Not Found
The requested URL was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
و قمت بتنصيب و تفعيل أداة
All 404 Redirect to Homepage
و عملت Enabled
أمام Status
و كتبت اسم الموقع أمام
Redirect all 404 pages to:
ثم ضغطت علي
Update
و كل ذلك و مازالت المشكلة
و بالضغط علي الرابط الموجود به مشكلة في جوجل سيرش
https://zwahef.info/أسباب-و-علاج-أمراض-العيون-عند-السلاحف/
لم تنحل المشكلة
Not Found
The requested URL was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
و شكرا مقدما
وعليكم السلام ورحمة الله وبركاته
أهلًا يا أيمن
بصراحة الشرح غير واضح بهذا الشكل في تعليقك
لو ممكن توضح مشكلته أكثر بدعمها سكرين شوتس في موضوع لك على منتدى عرب ووردبريس
ar-wp.com/forums/
وهساعدك في الحل إن شاء الله
شكرا لك علي الافاده