ما هي رموز حالة HTTP؟
رموز حالة استجابة HTTP تشير إلى ما إذا كان طلب HTTP معين قد اكتمل بنجاح. هناك العديد من رموز الحالة، ولكن القليل منها فقط له معنى في سياق تحسين محركات البحث (SEO).
لنلقي نظرة عليها الآن.
200
رمز حالة النجاح HTTP 200 OK
يشير إلى أن الطلب قد نجح.
لكي يتم فهرسة صفحة على Google، يجب أن تعيد رمز الحالة 200
. هذا هو ما تبحث عنه عادةً في صفحاتك لكي تحصل على زيارات عضوية. هذا هو الرمز الافتراضي الذي يتم تعيينه عندما يقوم Next.js بعرض صفحة بنجاح.
301/308
رمز حالة إعادة التوجيه HTTP 301 Moved Permanently
يشير إلى أن المورد المطلوب قد تم نقله بشكل دائم إلى عنوان URL الهدف.
هذا هو نوع إعادة التوجيه الدائمة. بشكل عام، هذا هو أكثر أنواع إعادة التوجيه استخدامًا.
يمكن استخدام عمليات إعادة التوجيه لأسباب متنوعة، ولكن السبب الرئيسي هو الإشارة إلى أن عنوان URL قد تم نقله من نقطة أ إلى نقطة ب. هناك حاجة إلى عمليات إعادة التوجيه لضمان أنه في حالة نقل المحتوى من مكان إلى آخر، لا تفقد العملاء الحاليين والمحتملين وأن الروبوتات يمكنها الاستمرار في فهرسة موقعك.
ملاحظة: تستخدم عمليات إعادة التوجيه الدائمة في Next.js إعادة التوجيه الدائمة الرمز 308 افتراضيًا بدلاً من 301 لأنه الإصدار الأحدث ويعتبر الخيار الأفضل.
الفرق الرئيسي بين رمزي الحالة هو أن 301
يسمح بتغيير طريقة الطلب من POST
إلى GET
، بينما 308
لا يسمح بذلك.
يمكنك تشغيل إعادة توجيه 308
في Next.js عن طريق إرجاع إعادة توجيه بدلاً من الخصائص في دالة getStaticProps()
.
// pages/about.js
export async function getStaticProps(context) {
return {
redirect: {
destination: '/',
permanent: true, // triggers 308
},
};
}
يمكنك أيضًا استخدام المفتاح permanent: true
في عمليات إعادة التوجيه المعينة في next.config.js
.
//next.config.js
module.exports = {
async redirects() {
return [
{
source: '/about',
destination: '/',
permanent: true, // triggers 308
},
];
},
};
302
رمز حالة إعادة التوجيه HTTP 302 Found
يشير إلى أن المورد المطلوب قد تم نقله مؤقتًا إلى عنوان URL الهدف.
في معظم الحالات، يجب أن تكون عمليات إعادة التوجيه 302
عمليات إعادة توجيه 301
. قد لا يكون هذا هو الحال إذا كنت تقوم بإعادة توجيه المستخدمين مؤقتًا إلى صفحة معينة (مثل صفحة ترويجية) أو إذا كنت تقوم بإعادة توجيه المستخدمين بناءً على الموقع.
404
رمز خطأ العميل HTTP 404 Not Found
يشير إلى أن الخادم لا يمكنه العثور على المورد المطلوب.
كما ذكرنا سابقًا، يجب إعادة توجيه الصفحات التي تم نقلها باستخدام رمز حالة HTTP 301
إلى الموقع الجديد. عندما لا يحدث هذا، قد تعيد عناوين URL رمز حالة 404
. رموز حالة 404
ليست سيئة بالضرورة بشكل افتراضي، لأنها النتيجة المرجوة إذا زار المستخدم عنوان URL غير موجود، ولكن لا ينبغي أن تكون خطأ متكررًا في صفحاتك لأن ذلك قد يؤدي إلى ترتيب بحث ضعيف.
سيعيد Next.js تلقائيًا رمز حالة 404
لعناوين URL غير الموجودة في تطبيقك.
في بعض الحالات، قد ترغب أيضًا في إرجاع رمز حالة 404
من الصفحة. يمكنك القيام بذلك عن طريق إرجاع ما يلي بدلاً من الخصائص:
export async function getStaticProps(context) {
return {
notFound: true, // triggers 404
};
}
يمكنك إنشاء صفحة 404 مخصصة يتم إنشاؤها بشكل ثابت أثناء البناء عن طريق إنشاء pages/404.js
.
مثال:
// pages/404.js
export default function Custom404() {
return <h1>404 - الصفحة غير موجودة</h1>;
}
410
رمز خطأ العميل HTTP 410 Gone
يشير إلى أن الوصول إلى المورد الهدف لم يعد متاحًا على الخادم الأصلي ومن المحتمل أن يكون هذا الوضع دائمًا.
لا يتم استخدام هذا الرمز كثيرًا، ولكن قد ترغب في البحث عن رمز الحالة هذا إذا كنت تحذف محتوى من موقعك لن يكون موجودًا بعد الآن.
أمثلة حيث قد يكون من الحكمة استخدام رمز HTTP 410 Gone
تشمل:
- التجارة الإلكترونية: المنتجات التي تمت إزالتها بشكل دائم من المخزون.
- المنتدى: المواضيع التي تم حذفها من قبل المستخدم.
- المدونة: مقالة مدونة تمت إزالتها من الموقع.
يخبر رمز الحالة هذا الروبوتات أنه لا ينبغي لها أبدًا العودة لزحف هذا المحتوى.
500
رمز استجابة خطأ الخادم HTTP 500 Internal Server Error
يشير إلى أن الخادم واجه حالة غير متوقعة منعته من تلبية الطلب.
سيعيد Next.js تلقائيًا رمز حالة 500
لخطأ غير متوقع في التطبيق. يمكنك إنشاء صفحة خطأ مخصصة 500
يتم إنشاؤها بشكل ثابت أثناء البناء عن طريق إنشاء pages/500.js
.
مثال:
// pages/500.js
export default function Custom500() {
return <h1>500 - حدث خطأ في جانب الخادم</h1>;
}
503
رمز خطأ الخادم HTTP 503 Service Unavailable
يشير إلى أن الخادم ليس جاهزًا لمعالجة الطلب.
يوصى بإرجاع رمز الحالة هذا عندما يكون موقعك معطلاً وتتوقع أن يكون الموقع معطلاً لفترة طويلة. هذا يمنع فقدان الترتيب على المدى الطويل.