# أداة فحص Headers: اقرأ ما يرسله خادمك فعلًا

> فحص رؤوس HTTP مجانًا: اعرض رؤوس الاستجابة الخام لأي رابط، مثل الحالة وCache-Control وContent-Type وX-Robots-Tag وLink وHSTS، مع شرح مبسط لكل منها.

أدخل رابطًا لترى الرؤوس التي يعيدها خادمك بالضبط، مع ملاحظات بسيطة عن تلك المؤثرة في الزحف والأرشفة.

- استخدمها مجانًا (بدون تسجيل): https://yes-seo.com/ar/http-header-checker
- API: `GET https://yes-seo.com/api/v1/http-header-checker?url=https://example.com`
- ما الذي تفعله: HTTP header checker: shows the raw response headers (status, server, cache-control, content-type, encoding, X-Robots-Tag, link, HSTS) and explains the SEO-relevant ones.

تصل كل صفحة وكل ملف ومعه كتلة من رؤوس استجابة HTTP قبل أول بايت من المحتوى. لا يراها الزوار، لكن محركات البحث تقرؤها بعناية: رأس واحد قد يمنع أرشفة صفحة، أو يحدد رابطها الأساسي canonical، أو يقرر مدة تخزينها المؤقت وهل هي مضغوطة.

يطلب فاحص رؤوس HTTP هذا الرابط ويعرض رؤوس الاستجابة الخام كما أعادها الخادم تمامًا: سطر الحالة وserver وcache-control وcontent-type وcontent-encoding وX-Robots-Tag وLink وStrict-Transport-Security. وترافق الرؤوس ذات الصلة بالسيو شروحات قصيرة، فيظهر فورًا أي noindex شارد أو ضغط مفقود.

## كيف تفحص رؤوس HTTP

1. **أدخل الرابط** — الصق عنوان أي صفحة أو صورة أو ملف PDF. غالبًا ما تعامل الخوادم أنواع الملفات بشكل مختلف، فاختبر الرابط الذي يهمك بالضبط.
2. **اقرأ الاستجابة الخام** — ترى كود الحالة وكل اسم رأس وقيمته بالترتيب الذي أرسله به الخادم.
3. **اعمل بالملاحظات** — نشرح الرؤوس المؤثرة في السيو، ونُبرز القيم التي تستحق الإصلاح، مثل X-Robots-Tag غير المتوقع.

## قراءة الاستجابة سطرًا سطرًا

```
HTTP/2 200
content-type: text/html; charset=UTF-8
content-encoding: br
cache-control: public, max-age=300
link: ; rel="canonical"
x-robots-tag: noindex
strict-transport-security: max-age=31536000; includeSubDomains
vary: Accept-Encoding
server: nginx
```

- **سطر الحالة:** الكود [200](https://yes-seo.com/ar/http-status-codes/200) هو ما تتصرف الزواحف على أساسه، مهما كان نص الصفحة.
- **content-type:** صفحة HTML بترميز UTF-8. الترميز الخاطئ يشوّه الحروف العربية والحروف الخاصة في العناوين والمقتطفات.
- **content-encoding:** القيمة `br` (Brotli) أو `gzip` تعني أن الاستجابة مضغوطة. تدعم زواحف جوجل gzip وdeflate وBrotli.
- **cache-control:** المدة التي يمكن للمتصفحات وشبكات CDN إعادة استخدام الاستجابة فيها.
- **link** و**x-robots-tag:** تعليمات الأرشفة. هنا ستُستبعد الصفحة من الفهرس رغم وجود canonical.
- **strict-transport-security:** يفرض HTTPS في الزيارات القادمة ([HSTS](https://yes-seo.com/ar/glossary/hsts)).

أسماء الرؤوس غير حساسة لحالة الأحرف ([RFC 9110](https://www.rfc-editor.org/rfc/rfc9110#section-5.1))؛ أما HTTP/2 وHTTP/3 فترسلها بأحرف صغيرة.

## رؤوس تتفوق على HTML

رأسان يحملان تعليمات الأرشفة، ويعملان أيضًا مع الملفات التي ليس فيها `<head>` مثل PDF والصور:

- **[X-Robots-Tag](https://yes-seo.com/ar/glossary/x-robots-tag)** يقبل القواعد نفسها التي يقبلها وسم robots (`noindex` و`nofollow` و`nosnippet` و`max-snippet` و`unavailable_after`) ويمكنه استهداف زاحف واحد، كما في `X-Robots-Tag: googlebot: noindex`. راجع [مواصفات جوجل لوسم robots ورأس X-Robots-Tag](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag?hl=ar).
- **Link** يستطيع الإعلان عن `rel="canonical"` وعن بدائل hreflang للملفات غير HTML.

لإبعاد ملفات PDF عن البحث على Apache، والأمر نفسه على Nginx:

```

  Header set X-Robots-Tag "noindex"

location ~* \.pdf$ {
    add_header X-Robots-Tag "noindex";
}
```

والحادث الكلاسيكي هو العكس: قاعدة تجريبية مثل `Header set X-Robots-Tag "noindex"` تنتقل إلى الموقع الحقيقي فتُلغي أرشفة كل الصفحات بصمت. ولا تظهر هذه القاعدة في مصدر الصفحة أبدًا، بل في الرؤوس فقط. تختبرها [أداة فحص أرشفة الموقع في جوجل](https://yes-seo.com/ar/indexability-checker) مع وسم robots وملف robots.txt معًا.

## رؤوس التخزين المؤقت والضغط

تحصل صفحات HTML عادةً على `max-age` قصير، أو `no-cache` مع إعادة التحقق، لتظهر التحديثات بسرعة. أما الملفات الثابتة ذات الإصدارات، التي يتغير اسمها بتغير محتواها (`app.3f9a1c.css`)، فيمكن تخزينها سنة كاملة بالرأس `cache-control: public, max-age=31536000, immutable`.

وتفيد رؤوس التحقق الزحف أيضًا. فمع وجود `ETag` أو `Last-Modified` تستطيع زواحف جوجل إرسال طلب مشروط وتلقي [304 Not Modified](https://yes-seo.com/ar/http-status-codes/304) قصيرة بدل الصفحة كاملة ([نظرة عامة على زواحف جوجل](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers?hl=ar)). توقّع وجود `vary: Accept-Encoding` في الاستجابات المضغوطة، و`vary: User-Agent` إذا كنت تقدم HTML مختلفًا للجوال وسطح المكتب على الرابط نفسه. وإذا وصل HTML أو CSS أو JavaScript دون `content-encoding` ففعّل Brotli أو gzip؛ ويُريك [اختبار سرعة الموقع](https://yes-seo.com/ar/page-speed-test) ما يكلفك ذلك.

## رؤوس تكشف أكثر من اللازم

الرأس `server: Apache/2.4.41 (Ubuntu)` أو `x-powered-by: PHP/7.4.3` يخبر المهاجمين بالضبط عن الإصدارات التي يبحثون عن ثغراتها. أخفِها بالأمر `ServerTokens Prod` على Apache، و`server_tokens off;` على Nginx، و`expose_php = Off` في ملف php.ini. وللرؤوس الواقية التي يجب أن تضيفها بدلًا منها، مثل Content-Security-Policy وReferrer-Policy، شغّل [فحص رؤوس الأمان](https://yes-seo.com/ar/security-headers-checker).

## نصائح لفحص الرؤوس

- اختبر رابطًا واحدًا من كل نوع (صفحة، صورة، ملف PDF، ملف أنماط)، لأن الخوادم كثيرًا ما تطبق قواعد مختلفة على كل نوع.
- قارن استجابة شبكة CDN باستجابة الخادم الأصلي؛ فقواعد الـ CDN قد تضيف رؤوسًا أو تحذفها أو تعيد كتابتها.
- ابحث عن التكرار، مثل سطرين من cache-control أو X-Robots-Tag أضافتهما إضافة والخادم معًا.
- من سطر الأوامر، يطبع الأمر curl -s -D - -o /dev/null https://example.com رؤوس طلب GET حقيقي؛ وبعض الخوادم تجيب طلبات HEAD (curl -I) بشكل مختلف.
- بعد تغيير إعدادات الخادم، امسح ذاكرة CDN المؤقتة قبل إعادة الاختبار، وإلا فقد تنظر إلى نسخة قديمة.

## حدود يجب مراعاتها

نعرض استجابة طلب واحد من خادمنا، بلا ملفات تعريف ارتباط ولا تسجيل دخول. وقد تختلف الرؤوس بحسب وكيل المستخدم أو البلد أو الجهاز أو ملف تعريف الارتباط أو عقدة CDN، وبعض الجدر النارية تجيب الطلبات الآلية بشكل مختلف عن المتصفحات. نعرض رؤوس الاستجابة فقط، لا رؤوس الطلب التي يرسلها متصفحك؛ ولرؤيتها افتح Chrome DevTools واختر تبويب Network ثم انقر على طلب المستند.


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

### ما هي رؤوس استجابة HTTP؟

هي أسطر من نوع «اسم: قيمة» يرسلها الخادم قبل محتوى الصفحة أو الملف. تصف المحتوى (النوع والحجم والضغط)، وكيف يمكن تخزينه مؤقتًا، وأي قواعد أمان تنطبق، وتحمل للسيو تعليمات الأرشفة مثل X-Robots-Tag.

### ما هو رأس X-Robots-Tag؟

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

### هل تحترم جوجل canonical الموجود في رأس Link؟

نعم. تدعم جوجل rel=canonical في رأس HTTP Link، وهذا مفيد لملفات PDF وغيرها من الملفات غير HTML. تأكد أنه يتفق مع أي وسم canonical داخل HTML؛ فالإشارات المتضاربة تجعل جوجل تختار بنفسها.

### كيف أرى رؤوس HTTP في متصفحي؟

في Chrome أو Edge افتح DevTools بالمفتاح F12، وانتقل إلى تبويب Network، وأعد تحميل الصفحة، ثم انقر على أول طلب. تعرض لوحة Headers رؤوس الاستجابة والطلب معًا. ويعمل Firefox بالطريقة نفسها.

### لماذا أرى رؤوسًا مختلفة عمّا يراه زميلي؟

قد تغيّر شبكات CDN والخوادم الاستجابة بحسب الموقع أو الجهاز أو ملفات تعريف الارتباط أو التجارب، وقد تعرض المتصفحات نسخة مخزنة. اختبر في نافذة خاصة، وامسح الذاكرة المؤقتة، وقارن بالطلب المحايد الذي ترسله هذه الأداة.

### هل تؤثر رؤوس HTTP على الترتيب؟

ليس مباشرة. أهميتها أنها تتحكم في الأرشفة (X-Robots-Tag وcanonical) والسرعة (الضغط والتخزين المؤقت) وفرض HTTPS. رأس خاطئ واحد قد يُخرج صفحة من البحث، ولذلك يستحق الأمر فحصها بعد أي تغيير في الخادم.

