204 بلا محتوى
ما معنى HTTP 204، ولماذا تعامل Google استجابات 204 بطريقة تشبه حالات 404s الناعمة، ومتى تُستخدم 204 بصورة صحيحة في واجهات API والمنارات، وما الذي ينبغي إرساله بدلًا منها لصفحات الويب.
اللغات
دليل واحد في هذه الصفحة
- أداة مباشرة ذات صلةHTTP Status & Redirect Checker
HTTP 204 No Content هو رمز نجاح 2xx يعيد جسمًا فارغًا عمدًا؛ وليس خطأً، ولا علاقة له بوجود عنوان URL، ولا تقيده المواصفة بمجموعة ثابتة من الطرق. وهو الاستجابة الصحيحة لطلبات DELETE وPUT في REST API ولمنارات التحليلات مثل sendBeacon وMeasurement Protocol في GA4، رغم اختلاف مصممي API حول مدى استخدامه. أما أثره على SEO فمحدود: تقول وثائق Google إن 204 لا تمنحها محتوى تعالجه، لذلك لا تتم فهرسة الصفحة التي تريد ترتيبها من هذه الاستجابة، وغالبًا ما تظهر عمليًا كـ404 ناعم في Search Console، مع أن Google لا تضمن هذا التصنيف أو جدول إزالة محددًا. لذلك 204 مناسبة لنقاط نهاية API والمنارات، وخاطئة لأي شيء يفترض أن يحقق ترتيبًا. إذا اختفت الصفحة فعلًا فاستخدم 404 أو 410؛ وإذا انتقلت فاستخدم 301؛ وإذا كان يفترض أن تحتوي على محتوى فأصلح الخادم أو CDN الذي يرسل 204 بدل 200 بجسم حقيقي.
الخلاصة — تعني استجابة 204 No Content أن طلبك نجح وأن الخادم يرسل صفحة فارغة عمدًا. إنها رمز نجاح وليست خطأ. وهذا مناسب لأشياء مثل حفظ التطبيق لعملك في الخلفية أو عمل متتبع تحليلات، لكنه خطأ في صفحة ويب حقيقية تريد ظهورها في Google. فالجسم الفارغ لا يمنح Google شيئًا تفهرسه، ولذلك تعامل 204 في الصفحة مثل 404 ناعم.
ما هي 204 فعليًا؟
تأتي كل استجابة يرسلها خادمك مع رمز حالة. تعني رموز 2xx النجاح. ويعني 200 OK، وهو الرمز الذي تريده لصفحاتك، أن الصفحة موجودة بجسمها كله. وتعني 204 No Content النجاح أيضًا، لكن مع اختلاف: يقول الخادم إنه نفذ ما طلبته ولا يوجد شيء لعرضه عمدًا.
الكلمة الأساسية هي عمدًا. ليست 204 صفحة فشل تحميلها أو عنوان URL غير موجود؛ إنها استجابة صُممت لتكون فارغة. تخيلها كإيماءة من الخادم تقول “تم” من دون أن تسلمك شيئًا.
لماذا تمثل مشكلة لصفحة ويب؟
تفهرس Google محتوى الصفحة. وإذا أعاد عنوان URL 204 فلا يوجد محتوى يمكن قراءته، لأن الجسم فارغ حسب التصميم. وتقول وثائق Google بوضوح: “wasn’t able to receive any content and therefore can’t process it.” (ترجمة) «لم تتمكن من تلقي أي محتوى، ولذلك لا تستطيع معالجته». فالصفحة التي تريد ترتيبها وتعيد 204 لا تمنح Google ما تعمل عليه، وهذا يعني أنها لن تتم فهرستها؛ وعمليًا تعرض Search Console هذه الحالات غالبًا بالطريقة نفسها التي تعرض بها 404 الناعم، أي صفحة نجحت تقنيًا لكنها لا تحتوي على شيء يستحق الفهرسة.
Evidence for this claim Google says it treats a 204 response as though the URL returned a soft 404. Scope: Google Search indexing behavior for URLs returning HTTP 204. Confidence: high · Verified: Google: HTTP status codes and Searchلذلك عندما تظهر صفحة تريد ترتيبها كـ204 في زحف أو في Search Console، فهذه مشكلة ينبغي إصلاحها وليست حالة ينبغي تركها.
متى تكون 204 مناسبة تمامًا؟
معظم الاستجابات التي ستراها ليست صفحات أصلًا:
- حفظ التطبيقات في الخلفية. تضغط “حفظ” فيخزن التطبيق عملك دون إعادة تحميل الصفحة، ويمكن للخادم أن يجيب بـ204.
- التحليلات والتتبع. ترسل المتتبعات طلبات منارة صغيرة لتسجيل حدوث شيء. لا توجد صفحة لإرجاعها، لذلك 204 مناسبة تمامًا.
- واجهات التطبيقات (APIs). عندما يطلب نظام من نظام آخر حذف شيء، لا يوجد غالبًا ما يُرسل؛ تقول 204 إن العملية تمت.
لا يحتاج أي من هذه الاستخدامات إلى الظهور في Google، لذا تكون 204 هناك هي الاستجابة الصحيحة وليست خطأ.
القاعدة الوحيدة التي يجب تذكرها
لا تُعد 204 لعنوان URL تريد أن يعثر عليه الناس في البحث. إذا اختفت الصفحة نهائيًا، فاستخدم 404 أو 410. وإذا انتقلت، فأعد توجيهها بـ301. وإذا كان يفترض أن تحتوي على محتوى، فأصلح ما يرسل استجابة فارغة. وللنسخة الأعمق، أي الصياغة الدقيقة لدى Google، وحالات API والمنارات، وتشخيص 204 العرضية، انتقل إلى علامة التبويب المتقدم.
الخلاصة — 204 هي رمز نجاح
2xxمطابق للمواصفة، وفق RFC 9110 §15.3.5، ويعيد جسمًا فارغًا حسب التصميم؛ يجب أن يكون الجسم فارغًا، ولا توجد ترويسةContent-Lengthحتى بقيمة0، وقد يرفض المتصفح استجابة 204 التي ترسل محتوى. ليست خطأً ولا تقول شيئًا عن وجود العنوان، ولا تقيدها المواصفة بقائمة طرق ثابتة. الاستخدامات المشروعة تكاد تكون دائمًا لاستجابات غير المستندات، مثلDELETEأوPUTفي REST API والمنارات التحليلية، ومنهاsendBeacon()وMeasurement Protocol في GA4، مع اختلاف الممارسين حول مدى اللجوء إليها. وأثر SEO ضيق: يقول جدول رموز الحالة لدى Google إن “Google wasn’t able to receive any content and therefore can’t process it” (ترجمة) «لم تتمكن Google من تلقي أي محتوى ولذلك لا تستطيع معالجته»، ما يعني أن الصفحة التي تريد ترتيبها لن تتم فهرستها من هذه الاستجابة. وغالبًا ما تظهر عمليًا كـ404 ناعم في Search Console، رغم أن Google لا تضمن هذا التصنيف أو جدول إزالة. أصلح 204 العرضية على مستوى الصفحة بإعادة 200 حقيقية، أو استخدم 404 أو 410 أو 301 بحسب النية.
ماذا تعني 204 في المواصفة؟
لا تترك RFC 9110، أي دلالات HTTP، مجالًا للالتباس: تعني 204 أن الخادم نفذ الطلب بنجاح ولا يوجد محتوى إضافي لإرساله في جسم حمولة الاستجابة. إنها رمز نجاح من عائلة 2xx نفسها التي ينتمي إليها 200 OK، مع فرق مقصود هو عدم وجود جسم.
هناك ثلاث تفاصيل تشغيلية مهمة. أولًا، يجب أن يكون الجسم فارغًا فعلًا؛ تقول MDN: “must not include any content or the Content-Length header (browsers may reject responses that include content).” (ترجمة) «يجب ألا تتضمن أي محتوى أو ترويسة Content-Length (وقد ترفض المتصفحات الاستجابات التي تتضمن محتوى)». وهذا حظر حقيقي لا عرف مرن؛ فـRFC 9110 §8.6 تمنع Content-Length في 204 منعًا مطلقًا، لذا فإن إرسال Content-Length: 0 ليس متوافقًا مع المواصفة. تنتهي الاستجابة عند قسم الترويسات. ثانيًا، تصف أي ترويسات تحملها 204، مثل ETag أو Last-Modified، التمثيل المحدد بعد اكتمال العملية، لا جسمًا أُرسل. ثالثًا، تظهر ETag في بعض استجابات 204، مثل مثال MDN لطلب PUT يحدّث موردًا مكانه، لكن المواصفة لا تلزم كل 204 بها؛ فلا تتوقعها كأمر ثابت. وتكون 204 قابلة للتخزين المؤقت استدلاليًا افتراضيًا ما لم تقل الطريقة أو ترويسات التحكم الصريحة خلاف ذلك.
والأهم أن 204 لا علاقة لها بوجود عنوان URL. يمكن لنقطة نهاية API عاملة أن تعيد 204 إلى الأبد بصورة صحيحة. وهذا هو الفرق عن 404 غير الموجود أو 410 الذي اختفى؛ فهما يتناولان الغياب، بينما تتناول 204 طلبًا ناجحًا يحمل حمولة فارغة عمدًا.
كيف تتعامل Google مع 204؟
هذه هي قصة SEO كاملة، وهي أضيق مما توحي به صياغات مدونات الشركات. تفهرس Google المحتوى، و204 لا تحتوي على محتوى. وتخص وثيقة Google لرموز الحالة 204 بعبارة محددة ومحدودة: تقول قاعدة 2xx العامة إن Google تنظر في المحتوى لمعالجته، بينما يقول صف 204 المخصص “Google wasn’t able to receive any content and therefore can’t process it.” (ترجمة) «لم تتمكن Google من تلقي أي محتوى ولذلك لا تستطيع معالجته».
هذا هو الحد الفعلي، ومن المهم تحديد ما يثبته وما لا يثبته. تقول إرشادات 2xx العامة في الصفحة نفسها إن المحتوى الفارغ أو الشبيه بالخطأ قد يُبلغ عنه كـ404 ناعم، لكن صف 204 لا يضمن أن كل 204 ستظهر بهذا التصنيف في Search Console، ولا تنشر Google جدول إزالة لها. الثابت أن 204 على عنوان محتوى لا توفر لمسار فهرسة Google شيئًا يعمل عليه، ولذلك فإن القول إن العنوان لن يُفهرس من هذه الاستجابة استنتاج معقول، لا ادعاء أمده إلى خسارة ترتيب مضمونة على مستوى الموقع أو استعادة تلقائية لميزانية الزحف؛ فوثائق Google لا تعد بأي منهما. وعمليًا تعرض Search Console هذه الحالات غالبًا كـ404 ناعم، لكن تعامل مع اسم التقرير وتوقيته كسلوك ملاحظ لا كضمان موثق.
هذا هو الموقف الذي تبنيته في كتابتي. ففي دليلي على مدونة Ahrefs بعنوان أكواد حالة HTTP وتأثيرها على SEO، وتحت معالجة Google لاستجابات 2xx، كتبت مباشرة: “تسمح معظم استجابات النجاح بفهرسة الصفحات، لكن الاستجابات بلا محتوى ستُعامل كحالات خطأ ناعمة ولن تتم فهرستها.” وما زلت أرى ذلك قراءة عملية صحيحة؛ أما الصياغة الأدق والحالية في وثيقة Google فهي إطار “لا يمكنها تلقي المحتوى أو معالجته”، وهو ما أحيلك إليه عند الحاجة إلى الحد الرسمي الدقيق. 2xx
توثق Google أن 404 الناعم تواصل الزحف وتبدد ميزانية الزحف، لكن هذه إرشادات عامة عن 404 الناعم وليست وعدًا خاصًا بـ204. لا تحرر 204 الموارد أو تعيد توجيهها تلقائيًا؛ فتخصيص الموارد يعتمد وفق Google على حدود الخدمة وجودة الموقع والمخزون، لا على رمز الحالة الذي أدى إلى الاستبعاد. الخلاصة الآمنة هي إصلاح 204 العرضية لأنها تمنع فهرسة الصفحة، لا لأنك مستحق لعائد محدد من ميزانية الزحف عند إصلاحها.
Evidence for this claim Using 204 does not automatically free crawl budget or redirect crawl resources; the official Google 204 guidance establishes only that no content can be processed. Scope: web crawling and indexing Confidence: high · Verified: How HTTP status codes affect Google's crawlers204 مقابل الرموز التي تختلط بها
| الرمز | الجسم | المعنى | الاستخدام الصحيح |
|---|---|---|---|
200، محتوى حقيقي | ممتلئ | نجاح، هذه هي الصفحة | صفحة تريد فهرستها |
200، فارغ أو نص “غير موجود” | فارغ أو نص خطأ | نجاح معلن بلا محتوى حقيقي، أي 404 ناعم | لا شيء؛ هذه مشكلة يجب إصلاحها |
204 | فارغ حسب التصميم | نجاح بلا جسم عمدًا | واجهات API والمنارات، وليس عنوان صفحة |
404 | أي جسم | غير موجود | صفحة اختفت بلا بديل |
410 | أي جسم | اختفى نهائيًا | صفحة أزيلت عمدًا وبصورة دائمة |
301 | — | انتقل نهائيًا | صفحة انتقلت إلى عنوان URL جديد |
المأزق أن 204 و200 الفارغة و404 و410 قد تنتهي كلها كـ”404 ناعم” في GSC عندما لا يوجد محتوى قابل للاستخدام، لكنها تشير إلى نيات مختلفة جدًا لعميل ملتزم بالمواصفة. فـ410 إشارة مقصودة إلى أن المورد كان موجودًا واختفى نهائيًا، أما 204 فلم تُصمم لهذا المعنى ولا ينبغي أن توجد على عناوين الصفحات أصلًا.
متى تكون 204 صحيحة تمامًا، وليست خطأ؟
كل 204 مشروعة تقريبًا هي استجابة غير مستندية:
DELETEأوPUTفي REST API. عندما يحذف العميل موردًا أو يحدّثه مكانه ولا يوجد شيء مفيد لإرجاعه، تكون 204 الإجابة الاصطلاحية، وهي النمط الذي توصي به RFC 9110 نفسها.- منارات التحليلات والتتبع. تتوقع مواصفة W3C Beacon المبنية حول
navigator.sendBeacon()أن تجيب نقاط نهاية المنارات بـ204. وتعيد نقطة نهاية Measurement Protocol في Google Analytics 4 رمز 204 للزيارات التي تقبلها. لاحظ أن GA4 يعيد 204 حتى للحمولات المشوهة أو غير الصالحة، لذلك تؤكد 204 أن نقطة النهاية كانت قابلة للوصول وردت هيكليًا، لا أن الزيارة عولجت فعليًا. لا تقرأ 204 المنارة كدليل نجاح. - تجربة “حفظ دون مغادرة الصفحة”. يحفظ
PUTالحالة في مكانها ويبقي المستخدم في الصفحة الحالية؛ وتقول صياغة MDN: “the client doesn’t need to navigate away from its current page.” (ترجمة) «لا يحتاج العميل إلى مغادرة صفحته الحالية».
الخيط المشترك هو أن هذه ليست عناوين URL ينبغي لأحد فهرستها، ولذلك تكون 204 صحيحة ومتوقعة. المشكلة الوحيدة هي وجود 204 على عنوان مستند يفترض أن يحقق ترتيبًا.
هناك دقة ذات صلة: لا تقيد RFC 9110، ورمز 204، بعمليات DELETE أو PUT أو المنارات تحديدًا، فهذه مجرد الأنماط الشائعة. تعريف المواصفة محايد تجاه الطريقة؛ وما يهم هو عقد الطريقة نفسه وما إذا كان إرجاع تمثيل سيكون مفيدًا. وهذا يعمل في الاتجاهين. إذ يمكن قانونيًا لطلب GET أن يعيد 204، وقد ناقش الممارسون ذلك لسنوات، لكن السؤال الحقيقي عن الصفحة القابلة للفهرسة ليس ما إذا كانت 204 مع GET مسموحة، بل ما إذا كان العنوان يحتاج إلى تسليم Google تمثيلًا لكي يُعثر عليه. وبالنسبة لصفحة تريد ترتيبها، الجواب دائمًا نعم. إذن قاعدة SEO لا تتعلق بطريقة HTTP المستخدمة، بل بكون العنوان يفترض أن يكون مستندًا أصلًا. DELETE PUT
ومن المفيد أيضًا معرفة أن القول إن “204 صحيحة دائمًا لاستجابات API” ليس متفقًا عليه عالميًا حتى بين مصممي API. تذكر كتابة Postman أن 204 هي الخيار المعتاد للأفعال التي لا شيء لإرجاعه، بينما يجادل Brandur Leach بالعكس: قد تكون استجابة النجاح الفارغة ضارة قليلًا بعملاء API الذين يتوقعون تمثيلًا بعد الكتابة الناجحة، مثل الحالة المحدثة أو المعرّف المولد أو الحقل المحسوب. هذا مفاضلة مشروعة في تصميم API تتعلق بسهولة التطوير، لا بصحة HTTP؛ وتظل 204 متوافقة مع المواصفة في الحالتين، وهو أمر منفصل عن سؤال SEO هنا. ومن المواضع التي تصبح فيها كتابات API مهملة أحيانًا إرسال Content-Length: 0 في 204 “للاحتياط”. لا تفعل ذلك؛ إذ تحظر RFC 9110 §8.6 ترويسة Content-Length في استجابة 204 تمامًا، لا القيمة غير الصفرية فقط.
تشخيص وإصلاح 204 العرضية على مستوى الصفحة
إذا أظهر زاحف مثل Screaming Frog أو Ahrefs Site Audit، أو أظهرت سجلاتك، 204 على صفحة ينبغي أن تحتوي على محتوى:
- تأكد مما تحصل عليه Googlebot فعلًا. استخدم فحص عنوان URL في Search Console لرؤية الحالة والمحتوى المعروض اللذين تتلقاهما Google، لا ما يراه المتصفح فقط. قد تعيد CDN أو عامل الحافة أو WAF أو مسار التطبيق 204 للروبوتات أو في ظروف معينة بينما يبدو كل شيء سليمًا لك، وهو نمط “يبدو سليمًا في متصفحي” نفسه الذي يحدث مع 403 شاردة.
- أصلحها بحسب النية:
- ينبغي أن توجد الصفحة بمحتوى ← اعثر على منطق الخادم أو CDN أو التطبيق الذي يصدر 204 وأعد 200 صحيحة بجسم حقيقي.
- اختفت الصفحة بلا بديل ← أعد 404 أو 410.
- انتقلت الصفحة ← أعد 301 إلى العنوان الجديد.
- راقب. راقب تقرير فهرسة الصفحات في GSC لإدخالات 404 الناعم، وتابع رموز حالة الزحف في السجلات، واضبط زاحفك على الإبلاغ عن 204 حتى لا تزيل واحدة عرضية قسمًا كاملًا من الفهرسة بصمت.
403200404410301204
احتفظ بهذا النموذج الذهني: 204 ليست “سيئة”. إنها أداة دقيقة صحيحة لنقاط نهاية API والمنارات وخاطئة للمستندات. والفشل الوحيد هو استخدامها في المكان الخطأ. للرموز الشقيقة مثل 403 و404 و410 و404 الناعم مواضعها في القرار، أما موضع 204 فخارج الصفحة.
ملخص الذكاء الاصطناعي
خلاصة مركزة من النسخة المتقدمة:
- 204 No Content رمز نجاح
2xxوفق RFC 9110 §15.3.5، ويعيد جسمًا فارغًا حسب التصميم. ليست خطأً ولا تقول شيئًا عن وجود عنوان URL. ولا تقيدها المواصفة بقائمة طرق ثابتة؛ فـDELETE وPUT والمنارات أنماط شائعة وليست شرطًا، و204 معGETقانونية بروتوكوليًا. - يجب أن يكون الجسم فارغًا بلا استثناء. وفق MDN لا يجوز لـ204 أن تتضمن محتوى أو ترويسة
Content-Length، وتحظر RFC 9110 §8.6 الترويسة تمامًا، لذلك ليستContent-Length: 0متوافقة فعلًا. تصف أي ترويسات تحملها 204 التمثيل المحدد بعد العملية، لا جسمًا منقولًا. وتكون 204 قابلة للتخزين المؤقت استدلاليًا افتراضيًا، لكنETagليست مضمونة في كل 204؛ فمثال MDN يتضمنها لحالة PUT محددة لا كقاعدة عامة. - أثر SEO ضيق ومحدد: تقول وثيقة Google لرموز الحالة إن “Google wasn’t able to receive any content and therefore can’t process it.” (ترجمة) «لم تتمكن Google من تلقي أي محتوى ولذلك لا تستطيع معالجته». وهذا يدعم استنتاجًا معقولًا هو أن الصفحة التي تريد ترتيبها لن تتم فهرستها من تلك الاستجابة، لكن Google لا تضمن تصنيف 404 ناعم محددًا أو جدول إزالة، ولا تعافي ميزانية الزحف تلقائيًا أو أثر ترتيب مثبتًا. وكما كتب Patrick: “ستُعامل 204 كـ404 ناعم ولن تتم فهرستها”؛ هذا هو النمط العملي المرصود، مع أن الصياغة الرسمية أضيق.
- الاستخدامات المشروعة غالبًا ليست مستندات: DELETE أو PUT في REST API، ومنارات التحليلات مثل
sendBeacon()وMeasurement Protocol في GA4. يعيد GA4، حتى للزيارات المشوهة، 204؛ لذلك لا تثبت 204 المنارة أن الزيارة عولجت. ولا يتفق الممارسون بالكامل؛ فـPostman يعدها افتراضية للأفعال التي لا شيء لإرجاعه، بينما يرى Brandur Leach أن نجاحًا بلا تمثيل قد يضر قليلًا بعملاء يتوقعون تمثيلًا. هذه مناقشة سهولة API وليست مسألة صحة HTTP. - لا تكون 204 صحيحة أبدًا لصفحة قابلة للترتيب. صفحة اختفت بلا بديل ←
404أو410؛ صفحة انتقلت ←301؛ صفحة ينبغي أن تحتوي محتوى ← أصلح الخادم أو CDN الذي يصدر 204 وأعد200حقيقية. وتأكد مما تتلقاه Googlebot عبر فحص عنوان URL.DELETEPUTContent-LengthPUTDELETEPUT
التوثيق الرسمي
مراجع المصادر الأولية لتعريف 204 وطريقة تعامل Google معها.
مواصفة HTTP ومرجع المتصفح
- RFC 9110 §15.3.5 — 204 No Content — التعريف الحاكم: نجاح بلا جسم حمولة ولا مقطورات، وقابلية تخزين مؤقت استدلالية، وتصف الترويسات التمثيل المحدد بعد العملية.
- RFC 9110 §8.6 — Content-Length — القاعدة التي تحظر
Content-Lengthفي استجابة 204 تمامًا، لا عندما تكون غير صفرية فقط. - MDN — 204 No Content — شرح بلغة مباشرة لقيد الجسم الفارغ و
Content-Lengthوقابلية التخزين المؤقت ومثالETagالمحدد وحالة الحفظ دون مغادرة الصفحة.
Google Search Central
- كيف تؤثر حالات HTTP وأخطاء الشبكة وDNS في Google Search — جدول رموز الحالة الذي يذكر 204 بالاسم وتعريف Google للـ404 الناعم.
المنارات والتحليلات، حالات 204 المشروعة
- W3C — Beacon — مواصفة
navigator.sendBeacon()التي تتوقع 204 من نقاط نهاية المنارات. - Google Analytics 4 — مرجع Measurement Protocol — نقطة تجميع GA4 التي توثق هنا استجاباتها، بما فيها 204 للزيارات المقبولة.
اقتباسات من المصدر
تصريحات موثقة. يقفز كل رابط إلى المقطع المقتبس في صفحة المصدر حيث يدعم المصدر العبارة.
مواصفة HTTP
- “The 204 (No Content) status code indicates that the server has successfully fulfilled the request and that there is no additional content to send in the response payload body.” (ترجمة) «يشير رمز الحالة (بلا محتوى) إلى أن الخادم نفّذ الطلب بنجاح، ولا يوجد محتوى إضافي لإرساله في جسم حمولة الاستجابة.» — RFC 9110, HTTP Semantics, §15.3.5. Read the section
وثائق MDN
- “The HTTP
204 No Contentsuccessful response status code indicates that a request has succeeded, but the client doesn’t need to navigate away from its current page. A204response is cacheable by default, and anETagheader is included in such cases.” (ترجمة) «تشير استجابة HTTP الناجحة بلا محتوى إلى نجاح الطلب، لكن العميل لا يحتاج إلى مغادرة صفحته الحالية. وتكون هذه الاستجابة قابلة للتخزين المؤقت افتراضيًا، ويظهر رأس ETag في مثل هذه الحالات.» Jump to quote
Google Search Central — معالجة 2xx و204
- “Google wasn’t able to receive any content and therefore can’t process it.” (ترجمة) «لم تتمكن Google من تلقي أي محتوى، ولذلك لا تستطيع معالجته.»
— من وثيقة Google لرموز الحالة، في صف 204 ضمن جدول
2xx(مقابل قاعدة2xxالعامة التي تقول: “Google considers the content for processing” (ترجمة) «تأخذ Google المحتوى في الاعتبار لمعالجته»). Google’s status-code doc
Patrick Stox — Ahrefs
- “Most 2xxs will allow pages to be indexed. However, 204s will be treated as soft 404s and won’t be indexed.” (ترجمة) «تسمح معظم استجابات النجاح بفهرسة الصفحات، لكن الاستجابات بلا محتوى ستُعامل كحالات خطأ ناعمة ولن تتم فهرستها.» — من دليلي رموز حالة HTTP وتأثيرها على تحسين محركات البحث. Jump to quote
مات جي. ساوثرن — Search Engine Journal
- “The exception is a 204 status code, which means the page was successfully accessed but no content was found. Google may show a soft 404 in Search Console for pages serving a 204 code.” (ترجمة) «الاستثناء هو استجابة بلا محتوى، ما يعني أن الصفحة تم الوصول إليها بنجاح لكن لم يُعثر على محتوى. وقد تعرض Google خطأً ناعمًا في Search Console للصفحات التي تقدم هذه الاستجابة.» Jump to quote
الاستجابات المشروعة مقابل العرضية
حالات عملية توضّح أين تنتمي 204 وأين تكون خطأ.
صحيح: DELETE في REST API
يحذف العميل موردًا ولا يوجد شيء لإرجاعه.
DELETE /api/items/42 HTTP/1.1
Host: example.com
HTTP/1.1 204 No Contentلا جسم ولا Content-Length. هذه هي الإجابة الاصطلاحية، ولا ينبغي أن يكون هذا عنوان URL تتوقع ظهوره في البحث.
صحيح: منارة تحليلات، sendBeacon
// Fires a fire-and-forget beacon on page unload
navigator.sendBeacon('/collect', payload);
// Endpoint responds: HTTP/1.1 204 No Contentلا تملك نقطة النهاية صفحة لتقديمها، لذا تكون 204 صحيحة تمامًا. وينطبق الأمر على نقطة نهاية Measurement Protocol في GA4، لكن تذكر أن GA4 يعيد 204 حتى للزيارات المشوهة، ولذلك تؤكد 204 أن نقطة النهاية ردت لا أن الزيارة عولجت.
خطأ: صفحة محتوى تعيد 204
GET /blog/my-article/ HTTP/1.1
Host: example.com
HTTP/1.1 204 No Content ← bug: a real page must return 200 + bodyتحصل Google على جسم فارغ، فتعامل العنوان كـ404 ناعم ولن تفهرسه. يعتمد الإصلاح على النية:
- ينبغي أن توجد بمحتوى ← أعد
200 OKبجسم حقيقي، وأصلح مسار الخادم أو CDN أو التطبيق الذي يصدر 204. - اختفت بلا بديل ←
404أو410. - انتقلت ←
301إلى العنوان الجديد.
قاعدة عملية: إذا كان يفترض أن يصل إنسان إلى العنوان ويقرأ شيئًا، فيجب أن يعيد 200 بجسم. احجز 204 لنقاط النهاية بين الآلات، أي APIs والمنارات، حيث لا يوجد شيء لعرضه فعلًا.
تشخيص 204 غير متوقعة
الصفحة فارغة وتظهر 204 في لوحة Network
العرض: يعيد عنوان مستند يفترض أن يعرض محتوى 204 No Content.
السبب المرجح: يصدر توجيه التطبيق أو قاعدة CDN أو عامل الحافة أو معالج خطأ استجابة نجاح على نمط API في مسار صفحة.
الإصلاح: تتبع الطلب عبر الطبقة التي تملك الاستجابة. إذا كان ينبغي أن توجد الصفحة، فأعد 200 بجسم حقيقي. أكد الإصلاح بطلب ترويسات جديد وإعادة تحميل المتصفح مع تعطيل التخزين المؤقت.
تعرض Search Console 404 ناعمًا لعنوان 204
العرض: استُبعد العنوان كـ404 ناعم رغم أن 204 رمز نجاح.
السبب المرجح: يتعلق التصنيف بغياب المحتوى لا ببدء الرمز بالرقم 2. فلا يحتوي 204 على جسم بحكم تعريفها.
الإصلاح: اختر الاستجابة بحسب النية: 200 بمحتوى لصفحة حقيقية، أو 301 للنقل، أو 404 أو 410 لصفحة اختفت. أعد فحص عنوان URL بعد نشر التغيير.
يختلف المتصفح والزاحف حول الحالة
العرض: تبدو الصفحة طبيعية في المتصفح، لكن الزاحف أو السجل يعرض 204.
السبب المرجح: يغيّر منطق الروبوت أو الطريقة أو الموقع الجغرافي أو التخزين المؤقت أو WAF أو الحافة الاستجابة.
الإصلاح: قارن بين GET وHEAD، وبين الطلب العادي وطلب user-agent الخاص بـGooglebot، وبين الطلب الدقيق في سجلات الخادم أو CDN. أصلح القاعدة الشرطية، ثم تحقق من أن المسارين يعيدان الاستجابة المقصودة نفسها.
صنّف مجموعة عناوين 204 بحسب النية
ألصق تصدير زحف أو سجل يتضمن عنوان URL وطريقة الطلب ونوع المحتوى والمُحيل أو نوع المسار ورمز الاستجابة.
Classify each HTTP 204 row I provide as:
- likely legitimate API response,
- likely legitimate beacon/background request,
- accidental document/page response, or
- insufficient evidence.
For every row, cite the supplied evidence, explain why 204 does or does not fit, and give
the next verification step. For accidental page responses, recommend exactly one intended
outcome: 200 with content, 301 to a relevant replacement, or 404/410 if gone.
Do not infer that a 204 analytics response means the event was processed. Do not invent
route behavior, redirect targets, or page content. Return a table followed by a prioritized
manual-check queue.
PASTE ROWS HERE اعثر على استجابات 204 العرضية
افحص عنوانًا وطريقة طلب واحدة
curl -sS -D - -o /dev/null https://example.com/page
curl -sS -X HEAD -D - -o /dev/null https://example.com/pageلا ينبغي أن يكون طلب المستند 204 إذا كان يفترض أن يعرض العنوان محتوى. اختبر GET وHEAD لأن المعالجات المعيبة الخاصة بالطريقة قد تختلف.
قارن استجابة user-agent الافتراضية واستجابة Googlebot
url="https://example.com/page"
curl -sS -o /dev/null -w "default: %{http_code} %{size_download} bytes\n" "$url"
curl -sS -A "Googlebot" -o /dev/null -w "Googlebot UA: %{http_code} %{size_download} bytes\n" "$url"تشير 204 مع صفر من البايتات المنزلة في مسار واحد فقط إلى منطق شرطي في الخادم أو CDN أو WAF. استخدم السجلات الفعلية وفحص عنوان URL لتأكيد ما تلقته Google.
أبلغ عن الاستجابات من قائمة عناوين
while IFS= read -r url; do
code=$(curl -sS -o /dev/null -w "%{http_code}" "$url")
if [ "$code" = "204" ]; then printf '%s\t%s\n' "$code" "$url"; fi
done < urls.txtشغّل هذا في macOS أو Linux أو WSL مع عنوان واحد في كل سطر من urls.txt. راجع كل نتيجة بحسب نية المسار؛ فاستجابات API أو المنارة ليست خطأً.
أدوات الفصل بين الاستجابات المشروعة والعرضية
أداة Patrick المجانية
- Bulk HTTP Status Code Checker — افحص حتى 500 عنوان URL، وفلتر النتائج إلى
204، وصدّر المجموعة المتأثرة. استخدم سياق المسار والمحتوى لفصل نقاط نهاية API أو المنارات الصحيحة عن عناوين الصفحات التي ينبغي أن تعيد محتوى.
أكد السبب
- فحص عنوان URL في Google Search Console — اختبر صفحة مباشرة لترى ما تستطيع Google جلبه بعد تغيير الاستجابة.
- سجلات الخادم أو CDN — حدد ما إذا كانت
204تختلف بحسب الطريقة أو وكيل المستخدم أو المسار أو موقع الحافة. - لوحة Network في أدوات مطوري المتصفح — ميّز طلب المستند عن نداءات API والمنارات الخلفية؛ قد تكون 204 في المنارة صحيحة بينما تكون 204 في المستند خاطئة.
- زاحف كامل للموقع — احصر عناوين المستند التي تعيد 204 واحتفظ بالفحص في عمليات التدقيق المتكررة حتى لا يؤثر تراجع في قالب على قسم كامل.
اختبر نفسك: 204 بلا محتوى
خمسة أسئلة سريعة عن معنى 204 ومتى تكون صحيحة. اختر إجابة لكل سؤال، ثم تحقق منها.
سجل التغييرات
تم التحديث في 22 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 22 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 8 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 6 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 6 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 5 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 17 يوليو 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
Try it live
This is a real endpoint on this site — not a simulation.
Hit it from the button, open it in a new tab, or
curl -i it from your terminal, and the server answers with the actual status code this article is about.