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

تقرير خبير SEO المعروف في WordPress Joost de Valk (المعروف أيضًا باسم yoast) عن النتائج التي توصل إليها مؤخرًا من عدة سنوات من عمليات تدقيق SEO على موقع الويب. وفقًا لهذا التقرير ، واجه عدد كبير من مواقع الويب التي تمت مراجعتها مشكلات في تحسين صفحة الخطأ 404. يحتوي قالب WordPress الافتراضي (حاليًا TwentyTwelve) على قالب أساسي جدًا لهذه الحالة ، وليس هناك الكثير من مالكي المواقع يتعدون ذلك.

لماذا هو مهم؟

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

أحد القواعد الأساسية لواجهة المستخدم هو عدم ترك المستخدمين في طريق مسدود دون توجيه. هناك دائمًا زر الرجوع في المتصفح ، ولكن هل تريد حقًا أن يستخدمه زائرك؟

Apple 404

تفاحة يوفر ملف sitemap على صفحة الخطأ 404 مصحوبًا برسالة بسيطة وواضحة.

37 Signals 404

37signals استخدام فرصة إضافية لتقديم منتجاتهم ، ويوفر معلومات الاتصال لحل المشكلة.

Zurb 404

Zurb تؤكد صفحة الخطأ 404 على خيار الاتصال بها مع وجود مشكلة. يجب على المصممين حل المشكلات ، أليس كذلك؟

Problogger 404

Problogger يقدم مجموعة واسعة من المحتويات المختلفة للتعمق في القراءة.

Justin Tadlock's 404

جوستين تادلوك يستخدم مدونة فتات الخبز لتقديم رابط الصفحة الرئيسية.

إنشاء صفحة خطأ مخصصة 404 في WordPress

ما الذي يمكن عمله لتحسين هذا الوضع؟ كيف يمكن تحويل هذا الخطأ إلى فرصة؟

عند البحث عن الأفكار والإرشادات ، يمكننا الرجوع إلى ووردبريس كودكس أو إرشادات مشرفي المواقع من Google كنقاط انطلاق مثالية. في الواقع ، مهمتنا الأساسية بسيطة للغاية: شرح سبب عدم إمكانية تحديد موقع الصفحة وتقديم اقتراحات للوصول إلى الشاشة المناسبة. من وجهة النظر هذه ، يمكننا استخلاص قائمة بالمكونات الممكنة التي تنشئ صفحة خطأ 404 "مثالية":

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

من خلال هذه القائمة ، يمكننا تحديد النصائح والأفكار المفيدة لما يجب تضمينه في نموذج الخطأ 404:

  • المشاركات الأخيرة و / أو الشعبية ، أو المشاركات العشوائية بدلاً من ذلك ؛
  • خيارات الاشتراك (مثل RSS) بالإضافة إلى تفاصيل الاتصال ؛
  • خريطة الموقع ، خاصة في حالة المواقع الصغيرة ؛
  • الترقيات أو المعلومات حول العروض والخدمات الخاصة بك ؛
  • مواد ترويجية لتحديد موقعك وصناعتك بسهولة ؛
  • معلومات حول عنوان URL المطلوب ومعظم المحتويات ذات الصلة ؛
  • tagcloud كوسيلة سريعة لوضع الزائر في سياق موقعك ؛
  • إشعار و / أو نظام تتبع ليكون على بينة من أي أخطاء 404 على موقعك.

شيء واحد مهم في صفحة الخطأ 404 هو حالة HTTP 404 المناسبة التي يجب أن يقدمها الخادم. لحسن الحظ ، يعالج WordPress ذلك لنا تلقائيًا ، حتى نتمكن من تركيز جهودنا على إنشاء الصفحة نفسها. نحتاج إلى المظهر النشط أن يكون لدينا قالب منفصل للصفحة المسماة 404.php. بنية العظام العارية للقالب بسيطة للغاية:

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

الآن ، عندما قمنا بالتحضيرات الأولية ، دعنا نملأ الصفحة. أفضل شيء يمكننا القيام به للزائر في صفحة 404 هو تخمين ما هو مطلوب بالفعل وتقديم أقرب مباراة ممكنة. يتم تخزين المعلومات حول عنوان URL المطلوب بواسطة WordPress في خاصية $ wp-> request . يمكننا تحليل تلك السلسلة ومحاولة العثور على محتوى مشابه يستند إلى بيانات post_name ، التي تخزّن معلومات حول الرخويات البريدية والصفحات . إذا لم يعيد هذا البحث أي شيء ذي معنى ، فيمكننا تجربة بحث منتظم من خلال محتوى المشاركة. إذا لم تؤد هذه الجهود إلى نتائج إيجابية ، فيمكننا دائمًا تقديم قائمة بالمشاركات الأخيرة كإجراء احتياطي.

بالطبع ، نحن أيضًا نضمّن الرسالة الصديقة ، ونموذج البحث ورابطًا إلى الصفحة الرئيسية.

أولاً سنقوم بإنشاء بعض الوظائف المساعدة للتعامل مع بعض إجراءات القوالب ؛ يمكن تضمينها في functions.php من الموضوع الخاص بك أو مباشرة في بداية ملف 404.php.

function frl_get_requested_slug(){global $wp;$q = $wp->request;$q = preg_replace("/(.*)(html|htm|php|asp|aspx)$/","",$q);$parts = explode('/', $q);$q = end($parts);return $q;}

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

function frl_list_posts($posts){if(empty($posts))return '';$list = array();foreach($posts as $cpost) {$title = apply_filters('the_title', $cpost->post_title);$url = get_permalink($cpost);$list[] = "
  • يقوم frl_load_error_style بتحميل الأنماط المخصصة باستخدام القالب 404 ، بافتراض وجود ملف .css المناسب في المجلد / css داخل دليل المظهر النشط.

    يتضمن رمز القالب كما خططنا أربعة أجزاء: الرسالة الودية ؛ البحث؛ قائمة المشاركات الأخيرة ؛ الفرصة الاخيرة.

    الرسالة الودية:

    404: الصفحة غير موجودة

    عذرًا ، للأسف ، لم نتمكن من العثور على الصفحة المطلوبة.

    دعونا العثور على المعلومات التي تحتاجها.

    البحث عن المحتوى المطلوب:

      'any'، 'post_status' => 'publish'، 'name' => $ q، 'posts_per_page' => 5)؛ $ query = new WP_Query ($ args)؛  // query posts by slugif (empty ($ query-> posts)) {// search for posts $ q = str_replace ('-'، ''، $ q)؛ $ args = array ('post_type' => 'any '،' post_status '=>' publish '،' s '=> $ q،' posts_per_page '=> 5)؛ $ query-> query ($ args)؛} if (! empty ($ query-> posts)) :> 

    هل كنت تبحث عن واحدة من الصفحات التالية؟

      المشاركات)؛؟>

    بادئ ذي بدء ، نقوم بإجراء استعلام WordPress باستخدام مجموعة أولى من الوسيطات التي تبحث عن الجودة المطلوبة في حقل اسم الصفحة / الصفحة. إذا لم نحصل على أي نتائج بعد ذلك ، فإننا نستبدل الشرطات في السلسلة المطلوبة بمسافات ونقوم بإجراء استعلام آخر يبحث عن الكلمات المطلوبة في محتوى الصفحات / الصفحات. إذا حصلنا على أي نتائج ، فإننا نقوم بإخراجها بمساعدة دالة frl_list_posts التي تم إنشاؤها مسبقًا .

    قائمة المشاركات الأخيرة:

      'post'، 'post_status' => 'publish'، 'posts_per_page' => 5)؛ $ query-> query ($ args)؛ if (! empty ($ query-> posts))؟ 

    لماذا لا نلقي نظرة من خلال أحدث المشاركات؟

      المشاركات)؛؟>

    في هذا الجزء ، نقوم بإجراء استعلام عن آخر 5 مشاركات في المدونة ونقوم بإخراجها بنفس الطريقة السابقة.

    الفرصة الاخيرة:

    ليس جيد؟

    يرجى استخدام نموذج البحث للمحاولة مرة أخرى أو بدء التصفح من الصفحة الرئيسية .

    . إذا كنت بحاجة إلى مزيد من المساعدة ، يُرجى عدم التردد في الاتصال على [email protected] .

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

    منع أخطاء 404 على موقعك

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

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

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

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

    صورة مميزة / صورة مصغرة ، صورة مفقودة عبر Shutterstock.