# 413 Content Too Large: إصلاح حدود حجم الرفع

> 413 Content Too Large يعني أن جسم الطلب، وهو عادةً ملف مرفوع، يتجاوز الحجم الذي يقبله الخادم.

URL: https://yes-seo.com/ar/http-status-codes/413

**413 Content Too Large** يعني أن جسم الطلب، وهو عادةً ملف مرفوع أو نموذج كبير، أكبر مما يقبله الخادم. كانت المواصفات القديمة تسميه «Request Entity Too Large» ثم «Payload Too Large»، وهما عبارتان ما زالت خوادم كثيرة تطبعهما.

## التعريف

يتيح [RFC 9110، القسم 15.5.14](https://www.rfc-editor.org/rfc/rfc9110#section-15.5.14) للخادم أن يرفض الطلب ويغلق الاتصال. وإذا كان الحد مؤقتًا فعلى الخادم أن يرسل `Retry-After`. أما العملاء الذين يرسلون `Expect: 100-continue` فيستطيعون معرفة الحد قبل رفع أي شيء (راجع [100 Continue](https://yes-seo.com/ar/http-status-codes/100)).

## أين يوجد الحد

قد يأتي 413 من أي طبقة بين المتصفح وكودك، فافحص كل طبقة:

- **Nginx**: `client_max_body_size`، وقيمته الافتراضية 1 MB. وما زالت صفحة الخطأ فيه تقول «413 Request Entity Too Large».

- **Apache**: `LimitRequestBody`.

- **CDN أو البروكسي**: يحدّد Cloudflare مثلًا حجم جسم الطلب بحسب الباقة (100 MB في Free وPro وقت كتابة هذا المقال).

- **PHP**: `upload_max_filesize` (الافتراضي 2M) و`post_max_size` (الافتراضي 8M). لا يرسل PHP الرمز 413 بنفسه (فالملفات الكبيرة تصل فارغة أو مع علامة خطأ رفع)، لكن الحل ضمن القائمة نفسها. ورسالة WordPress «exceeds the maximum upload size» تأتي من هذه الإعدادات.

## كيف تصلحه

```
# Nginx (في كتلة http أو server أو location)
client_max_body_size 64m;

# Apache
LimitRequestBody 67108864

; php.ini (ثم أعد تشغيل PHP-FPM)
upload_max_filesize = 64M
post_max_size = 64M
```

ارفع الحدود حيث يحدث الرفع فقط، كمنطقة الإدارة أو مسار الرفع، لا على الموقع كله. وللملفات الكبيرة جدًا ارفعها مباشرة إلى التخزين السحابي (object storage) بروابط موقّعة، أو استخدم الرفع القابل للاستئناف الذي يتجنب أيضًا انتهاء المهلة [408](https://yes-seo.com/ar/http-status-codes/408) على الاتصالات البطيئة.

## التأثير على السيو

لا تأثير في الزحف العادي: يطلب Googlebot الصفحات بـ GET ولا يرسل جسمًا، فلا يمكن أن يصطدم بحد الحجم. يهم 413 مستخدميك (رفع فاشل ونماذج معطلة) وتكاملات API التي ترسل بيانات بـ POST. وإذا أعاد رابط صفحة 413 لطلب عادي بطريقة ما، فراجع قواعد الأمان لديك؛ إذ ستعامله Google كأي 4xx وتُسقط الصفحة.

## مثال واختبار

```
HTTP/1.1 413 Request Entity Too Large
Server: nginx
Content-Type: text/html
Connection: close
```

يعتمد العملاء على الرقم لا على النص، فعبارتا «Request Entity Too Large» و«Content Too Large» تعنيان الشيء نفسه. وترسل [أداة فحص ترويسات HTTP](https://yes-seo.com/ar/http-header-checker) و[أداة فحص حالة HTTP](https://yes-seo.com/ar/http-status-checker) لدينا طلبات عادية بلا جسم، فلن تعيدا إنتاج حد الرفع؛ اختبر ذلك بـ curl، مثل `curl -i -F 'file=@big.zip' https://www.example.com/upload`.

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

### كيف أصلح «413 Request Entity Too Large» في WordPress؟

ارفع حد الرفع في كل طبقة: client_max_body_size في Nginx (أو LimitRequestBody في Apache)، إضافةً إلى upload_max_filesize وpost_max_size في PHP. وفي الاستضافة المُدارة اطلب من الاستضافة تغييرها.

### هل يؤثر الخطأ 413 على السيو؟

لا. تجلب الزواحف الصفحات بلا جسم طلب، فلا تصطدم أبدًا بحدود الرفع. يؤثر فقط في الزوار والتكاملات التي ترسل بيانات.

### لماذا ما زلت أحصل على 413 بعد تغيير php.ini؟

لأن طبقة أخرى ما زال حدها أقل، وغالبًا client_max_body_size في Nginx أو CDN، أو لأن PHP-FPM لم تُعد تشغيله. افحص كل طبقة بين الزائر وتطبيقك.

