تخطَّ إلى المحتوى

١٢ يوليو ٢٠٢٦

حل خطأ 404 Not Found بالعربي

شارك المقال:

الشقيق الأشهر في عائلة أخطاء الويب:

404 Not Found
The requested URL was not found on this server.

عكس أخيه الخطأ 500 تمامًا: الخادم هنا بصحة ممتازة واستقبل طلبك وردّ بوضوح — «لا شيء على هذا المسار». المشكلة في العنوان لا في المحرك.

زائر أم صاحب موقع؟

  • زائر: جرّب فحص إملاء الرابط، احذف ما بعد آخر / وتدرج للأعلى، أو ابحث عن الصفحة من بحث الموقع. انتهى دورك.
  • صاحب الموقع/المطور: الـ404 عندك على نوعين — روابط ميتة تسرّب زوارك وترتيبك، وأعطال إعداد تكسر صفحات حية. البقية لك.

الأسباب الستة وحلولها

السببالعلامةالحل
رابط تغيّر بلا تحويلصفحة قديمة كانت تعملتحويل 301
حساسية الأحرفيعمل محليًا (ويندوز) لا على الخادم (لينكس)وحّد الأسماء lowercase
روابط SPA بعد النشريعمل بالتنقل وينكسر بالتحديثrewrite إلى index.html
ووردبريس: الروابط الدائمةكل المقالات 404 فجأةإعادة حفظ Permalinks
ملف لم يُرفع أصلًاصورة/ملف واحد ميتارفعه وتحقق من المسار
خطأ إملائي بالروابط الداخلية404 من صفحاتك نفسهاصحّح المصدر

1) غيّرت الروابط؟ التحويل 301 ليس اختياريًا

أعدت هيكلة الموقع أو غيّرت slug مقالة؟ كل رابط قديم بلا تحويل = خسارة مزدوجة: زائر يرتد + ترتيب متراكم يتبخر. التحويل الدائم 301 ينقل الاثنين للعنوان الجديد:

# Next.js (الإعداد) — redirects في ملف الإعداد
{ source: "/old-post", destination: "/blog/new-post", permanent: true }

# Apache (.htaccess)
Redirect 301 /old-page https://example.com/new-page

وأين تجد الروابط الميتة المهمة؟ Google Search Console → Pages → Not found (404): قائمة بما يحاول جوجل والزوار الوصول إليه وفشل — رتّبها وحوّل ما له قيمة.

2) الحساسية للأحرف — فخ «يعمل عندي»

ويندوز لا يفرق بين Logo.png وlogo.png، وخوادم لينكس تفرق بصرامة. النتيجة الكلاسيكية: يعمل محليًا وينكسر بالإنتاج. القاعدة الوقائية: كل أسماء الملفات والمسارات lowercase دائمًا بلا استثناء.

3) تطبيقات SPA: التحديث يكسر الصفحة

أشهر 404 عند مطوري React/Vue: التنقل يعمل، وF5 على /about يعطي 404. السبب أن الخادم لا يعرف مساراتك الداخلية — التطبيق كله في index.html. الحل rewrite شامل:

# Netlify — ملف _redirects
/*  /index.html  200

# Nginx
try_files $uri $uri/ /index.html;

(Vercel وأطر مثل Next.js تتولاه تلقائيًا — إحدى فوائد الأطر الكاملة.)

4) ووردبريس: كل شيء 404 فجأة

المقالات كلها انكسرت بعد نقل أو تحديث؟ الغالب .htaccess أو إعدادات الروابط: الإعدادات ← الروابط الدائمة ← حفظ بلا أي تغيير — يعيد توليد القواعد. استمر؟ راجع ملف .htaccess نفسه.

حوّل صفحة 404 من طريق مسدود إلى ممسكة زوار

الافتراضية تقول «انتهت الرحلة». المخصصة الذكية تقول «تفضل من هنا»:

  • رسالة ودودة + بحث + روابط لأهم الأقسام (هكذا صفحتنا نحن — جرّب رابطًا عشوائيًا على الموقع 😄).
  • الأهم تقنيًا: أن ترد بحالة 404 حقيقية لا 200 — وإلا صارت Soft 404 تحسب صفحة فارغة ضد جودة موقعك.

قائمة تحقّق سريعة

  • GSC → Pages → 404: هذه قائمة نزيفك — حوّل المهم بـ301.
  • أسماء ملفات lowercase دائمًا — وداعًا لمفاجآت لينكس.
  • SPA؟ rewrite شامل لـ index.html قبل النشر لا بعده.
  • ووردبريس: إعادة حفظ الروابط الدائمة أول إسعاف.
  • صفحة 404 مخصصة ببحث وروابط — وبحالة 404 فعلية.

الخلاصة

404 أصدق من 500 وأسهل: العنوان خاطئ أو المحتوى انتقل. صحّح المصادر، حوّل القديم بـ301، اضبط rewrite تطبيقات الـSPA، واجعل صفحة الخطأ نفسها نقطة انطلاق جديدة للزائر بدل نهاية رحلته.

افهم رموز الحالة كلها من مسار الشبكات وHTTP بالعربي، وأكمل الثنائي مع حل خطأ 500 Internal Server Error وحل خطأ CORS.

📚 مصادر رسمية للتعمّق: توثيق HTTP والشبكات على MDN

الأسئلة الشائعة

هل أخطاء 404 تضر ترتيب موقعي في Google؟

الـ404 بحد ذاته طبيعي ولا يعاقب الموقع — كل المواقع فيها روابط ميتة. الضرر الحقيقي عندما تتحول صفحة كانت تترتب وتجلب زوارًا إلى 404 بلا تحويل 301: تخسر ترتيبها المتراكم وروابطها الخلفية والزوار معًا. القاعدة: غيّرت رابطًا مهمًا؟ حوّله.

ما الفرق بين 404 و410 وSoft 404؟

404 «غير موجود» (ربما مؤقتًا)، و410 «حُذف نهائيًا وعمدًا» فيسرّع إزالته من الفهرس. أما Soft 404 فمشكلة: صفحة تقول للزائر «غير موجود» لكن ترد بحالة 200 — فيحسبها Google صفحة حقيقية فارغة المحتوى ويعاملها كإشارة جودة سيئة. صفحة الخطأ يجب أن ترد بحالة 404 فعلية.

روابط موقعي React/Vue تعمل ثم تعطي 404 عند التحديث — لماذا؟

لأن التنقل داخل SPA يتم بالجافاسكريبت بلا طلبات جديدة، لكن التحديث (F5) على /about يسأل الخادم عن ملف بهذا المسار — وهو غير موجود لأن التطبيق كله في index.html. الحل إعداد rewrite يعيد كل المسارات إلى index.html: ملف redirects في Netlify، وتلقائي في Vercel، وtry_files في Nginx.

اقرأ أيضًا

تصفّح كل المقالات في المدوّنة، أو ابدأ التعلّم من المسارات و خرائط الطريق.